forked from OSchip/llvm-project
[ASan] Rename `-fsanitize-address-destructor-kind=` to drop the `-kind` suffix.
Renaming the option is based on discussions in https://reviews.llvm.org/D101122. It is normally not a good idea to rename driver flags but this flag is new enough and obscure enough that it is very unlikely to have adopters. While we're here also drop the `<kind>` metavar. It's not necessary and is actually inconsistent with the documentation in `clang/docs/ClangCommandLineReference.rst`. Differential Revision: https://reviews.llvm.org/D101491
This commit is contained in:
parent
438a63e13b
commit
2d42b2ee7b
|
@ -870,7 +870,7 @@ Enable use-after-scope detection in AddressSanitizer
|
|||
|
||||
Enable ODR indicator globals to avoid false ODR violation reports in partially sanitized programs at the cost of an increase in binary size
|
||||
|
||||
.. option:: -fsanitize-address-destructor-kind=<arg>
|
||||
.. option:: -fsanitize-address-destructor=<arg>
|
||||
|
||||
Set the kind of module destructors emitted by AddressSanitizer instrumentation.
|
||||
These destructors are emitted to unregister instrumented global variables when
|
||||
|
|
|
@ -1539,9 +1539,8 @@ defm sanitize_address_use_odr_indicator : BoolOption<"f", "sanitize-address-use-
|
|||
" reports in partially sanitized programs at the cost of an increase in binary size">,
|
||||
NegFlag<SetFalse, [], "Disable ODR indicator globals">>,
|
||||
Group<f_clang_Group>;
|
||||
def sanitize_address_destructor_kind_EQ
|
||||
: Joined<["-"], "fsanitize-address-destructor-kind=">,
|
||||
MetaVarName<"<kind>">,
|
||||
def sanitize_address_destructor_EQ
|
||||
: Joined<["-"], "fsanitize-address-destructor=">,
|
||||
Flags<[CC1Option]>,
|
||||
HelpText<"Set destructor type used in ASan instrumentation">,
|
||||
Group<f_clang_Group>,
|
||||
|
|
|
@ -832,7 +832,7 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC,
|
|||
}
|
||||
|
||||
if (const auto *Arg =
|
||||
Args.getLastArg(options::OPT_sanitize_address_destructor_kind_EQ)) {
|
||||
Args.getLastArg(options::OPT_sanitize_address_destructor_EQ)) {
|
||||
auto parsedAsanDtorKind = AsanDtorKindFromString(Arg->getValue());
|
||||
if (parsedAsanDtorKind == llvm::AsanDtorKind::Invalid) {
|
||||
TC.getDriver().Diag(clang::diag::err_drv_unsupported_option_argument)
|
||||
|
@ -1098,7 +1098,7 @@ void SanitizerArgs::addArgs(const ToolChain &TC, const llvm::opt::ArgList &Args,
|
|||
// Only pass the option to the frontend if the user requested,
|
||||
// otherwise the frontend will just use the codegen default.
|
||||
if (AsanDtorKind != llvm::AsanDtorKind::Invalid) {
|
||||
CmdArgs.push_back(Args.MakeArgString("-fsanitize-address-destructor-kind=" +
|
||||
CmdArgs.push_back(Args.MakeArgString("-fsanitize-address-destructor=" +
|
||||
AsanDtorKindToString(AsanDtorKind)));
|
||||
}
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
// Frontend rejects invalid option
|
||||
// RUN: not %clang_cc1 -fsanitize=address \
|
||||
// RUN: -fsanitize-address-destructor-kind=bad_arg -emit-llvm -o - \
|
||||
// RUN: -fsanitize-address-destructor=bad_arg -emit-llvm -o - \
|
||||
// RUN: -triple x86_64-apple-macosx10.15 %s 2>&1 | \
|
||||
// RUN: FileCheck %s --check-prefixes=CHECK-BAD-ARG
|
||||
// CHECK-BAD-ARG: invalid value 'bad_arg' in '-fsanitize-address-destructor-kind=bad_arg'
|
||||
// CHECK-BAD-ARG: invalid value 'bad_arg' in '-fsanitize-address-destructor=bad_arg'
|
||||
|
||||
// Default is global dtor
|
||||
// RUN: %clang_cc1 -fsanitize=address -emit-llvm -o - -triple x86_64-apple-macosx10.15 \
|
||||
|
@ -16,12 +16,12 @@
|
|||
|
||||
// Explictly ask for global dtor
|
||||
// RUN: %clang_cc1 -fsanitize=address \
|
||||
// RUN: -fsanitize-address-destructor-kind=global -emit-llvm -o - \
|
||||
// RUN: -fsanitize-address-destructor=global -emit-llvm -o - \
|
||||
// RUN: -triple x86_64-apple-macosx10.15 -fno-legacy-pass-manager %s | \
|
||||
// RUN: FileCheck %s --check-prefixes=CHECK-GLOBAL-DTOR
|
||||
//
|
||||
// RUN: %clang_cc1 -fsanitize=address \
|
||||
// RUN: -fsanitize-address-destructor-kind=global -emit-llvm -o - \
|
||||
// RUN: -fsanitize-address-destructor=global -emit-llvm -o - \
|
||||
// RUN: -triple x86_64-apple-macosx10.15 -flegacy-pass-manager %s | \
|
||||
// RUN: FileCheck %s --check-prefixes=CHECK-GLOBAL-DTOR
|
||||
|
||||
|
@ -30,12 +30,12 @@
|
|||
|
||||
// Explictly ask for no dtors
|
||||
// RUN: %clang_cc1 -fsanitize=address \
|
||||
// RUN: -fsanitize-address-destructor-kind=none -emit-llvm -o - \
|
||||
// RUN: -fsanitize-address-destructor=none -emit-llvm -o - \
|
||||
// RUN: -triple x86_64-apple-macosx10.15 -fno-legacy-pass-manager %s | \
|
||||
// RUN: FileCheck %s --check-prefixes=CHECK-NONE-DTOR
|
||||
//
|
||||
// RUN: %clang_cc1 -fsanitize=address \
|
||||
// RUN: -fsanitize-address-destructor-kind=none -emit-llvm -o - \
|
||||
// RUN: -fsanitize-address-destructor=none -emit-llvm -o - \
|
||||
// RUN: -triple x86_64-apple-macosx10.15 -flegacy-pass-manager %s | \
|
||||
// RUN: FileCheck %s --check-prefixes=CHECK-NONE-DTOR
|
||||
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
// RUN: %clang -target x86_64-apple-darwin10 -fsanitize=address -fapple-kext \
|
||||
// RUN: -mkernel -### %s 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: "-fsanitize-address-destructor-kind=none"
|
||||
// CHECK: "-fsanitize-address-destructor=none"
|
||||
|
||||
// Check it's possible to override the driver's decision.
|
||||
// RUN: %clang -target x86_64-apple-darwin10 -fsanitize=address -fapple-kext \
|
||||
// RUN: -mkernel -### -fsanitize-address-destructor-kind=global %s 2>&1 | \
|
||||
// RUN: -mkernel -### -fsanitize-address-destructor=global %s 2>&1 | \
|
||||
// RUN: FileCheck -check-prefix=CHECK-OVERRIDE %s
|
||||
|
||||
// CHECK-OVERRIDE: "-fsanitize-address-destructor-kind=global"
|
||||
// CHECK-OVERRIDE: "-fsanitize-address-destructor=global"
|
||||
|
|
|
@ -2,19 +2,19 @@
|
|||
// RUN: %clang -target x86_64-apple-macosx10.15-gnu -fsanitize=address %s \
|
||||
// RUN: -### 2>&1 | \
|
||||
// RUN: FileCheck %s
|
||||
// CHECK-NOT: -fsanitize-address-destructor-kind
|
||||
// CHECK-NOT: -fsanitize-address-destructor
|
||||
|
||||
// RUN: %clang -target x86_64-apple-macosx10.15-gnu -fsanitize=address \
|
||||
// RUN: -fsanitize-address-destructor-kind=none %s -### 2>&1 | \
|
||||
// RUN: -fsanitize-address-destructor=none %s -### 2>&1 | \
|
||||
// RUN: FileCheck -check-prefix=CHECK-NONE-ARG %s
|
||||
// CHECK-NONE-ARG: "-fsanitize-address-destructor-kind=none"
|
||||
// CHECK-NONE-ARG: "-fsanitize-address-destructor=none"
|
||||
|
||||
// RUN: %clang -target x86_64-apple-macosx10.15-gnu -fsanitize=address \
|
||||
// RUN: -fsanitize-address-destructor-kind=global %s -### 2>&1 | \
|
||||
// RUN: -fsanitize-address-destructor=global %s -### 2>&1 | \
|
||||
// RUN: FileCheck -check-prefix=CHECK-GLOBAL-ARG %s
|
||||
// CHECK-GLOBAL-ARG: "-fsanitize-address-destructor-kind=global"
|
||||
// CHECK-GLOBAL-ARG: "-fsanitize-address-destructor=global"
|
||||
|
||||
// RUN: %clang -target x86_64-apple-macosx10.15-gnu -fsanitize=address \
|
||||
// RUN: -fsanitize-address-destructor-kind=bad_arg %s -### 2>&1 | \
|
||||
// RUN: -fsanitize-address-destructor=bad_arg %s -### 2>&1 | \
|
||||
// RUN: FileCheck -check-prefix=CHECK-INVALID-ARG %s
|
||||
// CHECK-INVALID-ARG: error: unsupported argument 'bad_arg' to option 'fsanitize-address-destructor-kind='
|
||||
// CHECK-INVALID-ARG: error: unsupported argument 'bad_arg' to option 'fsanitize-address-destructor='
|
Loading…
Reference in New Issue