Good idea, done in r204438.
On Thu, Mar 20, 2014 at 7:59 PM, Rafael Avila de Espindola < [email protected]> wrote: > This should probably go to the release notes. > > Sent from my iPhone > > > On Mar 20, 2014, at 3:48, Alexey Samsonov <[email protected]> wrote: > > > > Author: samsonov > > Date: Thu Mar 20 05:48:29 2014 > > New Revision: 204330 > > > > URL: http://llvm.org/viewvc/llvm-project?rev=204330&view=rev > > Log: > > Kill -faddress-sanitizer, -fthread-sanitizer and > -fcatch-undefined-behavior flags. > > > > These flags are deprecated since at least Clang 3.3. Users should instead > > use -fsanitize= with appropriate values. > > > > Modified: > > cfe/trunk/docs/UsersManual.rst > > cfe/trunk/include/clang/Basic/Sanitizers.def > > cfe/trunk/include/clang/Driver/Options.td > > cfe/trunk/include/clang/Driver/SanitizerArgs.h > > cfe/trunk/lib/CodeGen/CodeGenFunction.cpp > > cfe/trunk/lib/Driver/SanitizerArgs.cpp > > cfe/trunk/lib/Driver/Tools.cpp > > cfe/trunk/test/CodeGen/tbaa-for-vptr.cpp > > cfe/trunk/test/CodeGenCXX/bitfield.cpp > > cfe/trunk/test/Driver/asan.c > > cfe/trunk/test/Driver/darwin-asan-nofortify.c > > cfe/trunk/test/Driver/fsanitize.c > > > > Modified: cfe/trunk/docs/UsersManual.rst > > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/UsersManual.rst?rev=204330&r1=204329&r2=204330&view=diff > > > ============================================================================== > > --- cfe/trunk/docs/UsersManual.rst (original) > > +++ cfe/trunk/docs/UsersManual.rst Thu Mar 20 05:48:29 2014 > > @@ -999,18 +999,6 @@ are listed below. > > program. The ``-fsanitize=undefined`` checks can be combined with > other > > sanitizers. > > > > -**-f[no-]address-sanitizer** > > - Deprecated synonym for :ref:`-f[no-]sanitize=address > > - <opt_fsanitize_address>`. > > -**-f[no-]thread-sanitizer** > > - Deprecated synonym for :ref:`-f[no-]sanitize=thread > > - <opt_fsanitize_thread>`. > > - > > -.. option:: -fcatch-undefined-behavior > > - > > - Deprecated synonym for :ref:`-fsanitize=undefined > > - <opt_fsanitize_undefined>`. > > - > > .. option:: -fno-assume-sane-operator-new > > > > Don't assume that the C++'s new operator is sane. > > > > Modified: cfe/trunk/include/clang/Basic/Sanitizers.def > > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Sanitizers.def?rev=204330&r1=204329&r2=204330&view=diff > > > ============================================================================== > > --- cfe/trunk/include/clang/Basic/Sanitizers.def (original) > > +++ cfe/trunk/include/clang/Basic/Sanitizers.def Thu Mar 20 05:48:29 2014 > > @@ -89,7 +89,7 @@ SANITIZER_GROUP("undefined", Undefined, > > ObjectSize | Return | Shift | SignedIntegerOverflow | > > Unreachable | VLABound | Vptr) > > > > -// -fsanitize=undefined-trap (and its alias -fcatch-undefined-behavior) > includes > > +// -fsanitize=undefined-trap includes > > // all sanitizers included by -fsanitize=undefined, except those that > require > > // runtime support. This group is generally used in conjunction with the > > // -fsanitize-undefined-trap-on-error flag. > > > > Modified: cfe/trunk/include/clang/Driver/Options.td > > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=204330&r1=204329&r2=204330&view=diff > > > ============================================================================== > > --- cfe/trunk/include/clang/Driver/Options.td (original) > > +++ cfe/trunk/include/clang/Driver/Options.td Thu Mar 20 05:48:29 2014 > > @@ -357,10 +357,6 @@ def fapple_kext : Flag<["-"], "fapple-ke > > HelpText<"Use Apple's kernel extensions ABI">; > > def fapple_pragma_pack : Flag<["-"], "fapple-pragma-pack">, > Group<f_Group>, Flags<[CC1Option]>, > > HelpText<"Enable Apple gcc-compatible #pragma pack handling">; > > -def faddress_sanitizer : Flag<["-"], "faddress-sanitizer">, > Group<f_Group>; > > -def fno_address_sanitizer : Flag<["-"], "fno-address-sanitizer">, > Group<f_Group>; > > -def fthread_sanitizer : Flag<["-"], "fthread-sanitizer">, > Group<f_Group>; > > -def fno_thread_sanitizer : Flag<["-"], "fno-thread-sanitizer">, > Group<f_Group>; > > def fasm : Flag<["-"], "fasm">, Group<f_Group>; > > > > def fasm_blocks : Flag<["-"], "fasm-blocks">, Group<f_Group>, > Flags<[CC1Option]>; > > @@ -401,7 +397,6 @@ def fbounds_checking_EQ : Joined<["-"], > > Group<f_Group>; > > def fbuiltin : Flag<["-"], "fbuiltin">, Group<f_Group>; > > def fcaret_diagnostics : Flag<["-"], "fcaret-diagnostics">, > Group<f_Group>; > > -def fcatch_undefined_behavior : Flag<["-"], > "fcatch-undefined-behavior">, Group<f_Group>; > > def fclasspath_EQ : Joined<["-"], "fclasspath=">, Group<f_Group>; > > def fcolor_diagnostics : Flag<["-"], "fcolor-diagnostics">, > Group<f_Group>, Flags<[CC1Option]>, > > HelpText<"Use colors in diagnostics">; > > > > Modified: cfe/trunk/include/clang/Driver/SanitizerArgs.h > > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/SanitizerArgs.h?rev=204330&r1=204329&r2=204330&view=diff > > > ============================================================================== > > --- cfe/trunk/include/clang/Driver/SanitizerArgs.h (original) > > +++ cfe/trunk/include/clang/Driver/SanitizerArgs.h Thu Mar 20 05:48:29 > 2014 > > @@ -100,7 +100,7 @@ class SanitizerArgs { > > > > /// Produce an argument string from ArgList \p Args, which shows how it > > /// provides a sanitizer kind in \p Mask. For example, the argument > list > > - /// "-fsanitize=thread,vptr -faddress-sanitizer" with mask \c > NeedsUbsanRt > > + /// "-fsanitize=thread,vptr -fsanitize=address" with mask \c > NeedsUbsanRt > > /// would produce "-fsanitize=vptr". > > static std::string lastArgumentForKind(const Driver &D, > > const llvm::opt::ArgList &Args, > > > > Modified: cfe/trunk/lib/CodeGen/CodeGenFunction.cpp > > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenFunction.cpp?rev=204330&r1=204329&r2=204330&view=diff > > > ============================================================================== > > --- cfe/trunk/lib/CodeGen/CodeGenFunction.cpp (original) > > +++ cfe/trunk/lib/CodeGen/CodeGenFunction.cpp Thu Mar 20 05:48:29 2014 > > @@ -1365,7 +1365,7 @@ CodeGenFunction::getVLASize(const Variab > > numElements = vlaSize; > > } else { > > // It's undefined behavior if this wraps around, so mark it that > way. > > - // FIXME: Teach -fcatch-undefined-behavior to trap this. > > + // FIXME: Teach -fsanitize=undefined to trap this. > > numElements = Builder.CreateNUWMul(numElements, vlaSize); > > } > > } while ((type = getContext().getAsVariableArrayType(elementType))); > > > > Modified: cfe/trunk/lib/Driver/SanitizerArgs.cpp > > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/SanitizerArgs.cpp?rev=204330&r1=204329&r2=204330&view=diff > > > ============================================================================== > > --- cfe/trunk/lib/Driver/SanitizerArgs.cpp (original) > > +++ cfe/trunk/lib/Driver/SanitizerArgs.cpp Thu Mar 20 05:48:29 2014 > > @@ -71,30 +71,14 @@ SanitizerArgs::SanitizerArgs(const ToolC > > } > > > > UbsanTrapOnError = > > - Args.hasArg(options::OPT_fcatch_undefined_behavior) || > > Args.hasFlag(options::OPT_fsanitize_undefined_trap_on_error, > > options::OPT_fno_sanitize_undefined_trap_on_error, > false); > > > > - if (Args.hasArg(options::OPT_fcatch_undefined_behavior) && > > - !Args.hasFlag(options::OPT_fsanitize_undefined_trap_on_error, > > - options::OPT_fno_sanitize_undefined_trap_on_error, > true)) { > > - D.Diag(diag::err_drv_argument_not_allowed_with) > > - << "-fcatch-undefined-behavior" > > - << "-fno-sanitize-undefined-trap-on-error"; > > - } > > - > > // Warn about undefined sanitizer options that require runtime support. > > if (UbsanTrapOnError && notAllowedWithTrap()) { > > - if (Args.hasArg(options::OPT_fcatch_undefined_behavior)) > > - D.Diag(diag::err_drv_argument_not_allowed_with) > > - << lastArgumentForKind(D, Args, NotAllowedWithTrap) > > - << "-fcatch-undefined-behavior"; > > - else if > (Args.hasFlag(options::OPT_fsanitize_undefined_trap_on_error, > > - > options::OPT_fno_sanitize_undefined_trap_on_error, > > - false)) > > - D.Diag(diag::err_drv_argument_not_allowed_with) > > - << lastArgumentForKind(D, Args, NotAllowedWithTrap) > > - << "-fsanitize-undefined-trap-on-error"; > > + D.Diag(diag::err_drv_argument_not_allowed_with) > > + << lastArgumentForKind(D, Args, NotAllowedWithTrap) > > + << "-fsanitize-undefined-trap-on-error"; > > } > > > > // Only one runtime library can be used at once. > > @@ -279,24 +263,8 @@ bool SanitizerArgs::parse(const Driver & > > Add = 0; > > Remove = 0; > > const char *DeprecatedReplacement = 0; > > - if (A->getOption().matches(options::OPT_faddress_sanitizer)) { > > - Add = Address; > > - DeprecatedReplacement = "-fsanitize=address"; > > - } else if > (A->getOption().matches(options::OPT_fno_address_sanitizer)) { > > - Remove = Address; > > - DeprecatedReplacement = "-fno-sanitize=address"; > > - } else if (A->getOption().matches(options::OPT_fthread_sanitizer)) { > > - Add = Thread; > > - DeprecatedReplacement = "-fsanitize=thread"; > > - } else if (A->getOption().matches(options::OPT_fno_thread_sanitizer)) > { > > - Remove = Thread; > > - DeprecatedReplacement = "-fno-sanitize=thread"; > > - } else if > (A->getOption().matches(options::OPT_fcatch_undefined_behavior)) { > > - Add = UndefinedTrap; > > - DeprecatedReplacement = > > - "-fsanitize=undefined-trap -fsanitize-undefined-trap-on-error"; > > - } else if (A->getOption().matches(options::OPT_fbounds_checking) || > > - A->getOption().matches(options::OPT_fbounds_checking_EQ)) { > > + if (A->getOption().matches(options::OPT_fbounds_checking) || > > + A->getOption().matches(options::OPT_fbounds_checking_EQ)) { > > Add = LocalBounds; > > DeprecatedReplacement = "-fsanitize=local-bounds"; > > } else if (A->getOption().matches(options::OPT_fsanitize_EQ)) { > > > > Modified: cfe/trunk/lib/Driver/Tools.cpp > > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=204330&r1=204329&r2=204330&view=diff > > > ============================================================================== > > --- cfe/trunk/lib/Driver/Tools.cpp (original) > > +++ cfe/trunk/lib/Driver/Tools.cpp Thu Mar 20 05:48:29 2014 > > @@ -3137,8 +3137,7 @@ void Clang::ConstructJob(Compilation &C, > > true)) > > CmdArgs.push_back("-fno-sanitize-recover"); > > > > - if (Args.hasArg(options::OPT_fcatch_undefined_behavior) || > > - Args.hasFlag(options::OPT_fsanitize_undefined_trap_on_error, > > + if (Args.hasFlag(options::OPT_fsanitize_undefined_trap_on_error, > > options::OPT_fno_sanitize_undefined_trap_on_error, > false)) > > CmdArgs.push_back("-fsanitize-undefined-trap-on-error"); > > > > > > Modified: cfe/trunk/test/CodeGen/tbaa-for-vptr.cpp > > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/tbaa-for-vptr.cpp?rev=204330&r1=204329&r2=204330&view=diff > > > ============================================================================== > > --- cfe/trunk/test/CodeGen/tbaa-for-vptr.cpp (original) > > +++ cfe/trunk/test/CodeGen/tbaa-for-vptr.cpp Thu Mar 20 05:48:29 2014 > > @@ -6,7 +6,7 @@ > > // RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -o - -O2 > -relaxed-aliasing %s | FileCheck %s --check-prefix=NOTBAA > > // > > // Check that we generate TBAA for vtable pointer loads and stores. > > -// When -fthread-sanitizer is used TBAA should be generated at all opt > levels > > +// When -fsanitize=thread is used TBAA should be generated at all opt > levels > > // even if -relaxed-aliasing is present. > > struct A { > > virtual int foo() const ; > > > > Modified: cfe/trunk/test/CodeGenCXX/bitfield.cpp > > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/bitfield.cpp?rev=204330&r1=204329&r2=204330&view=diff > > > ============================================================================== > > --- cfe/trunk/test/CodeGenCXX/bitfield.cpp (original) > > +++ cfe/trunk/test/CodeGenCXX/bitfield.cpp Thu Mar 20 05:48:29 2014 > > @@ -298,7 +298,7 @@ namespace N4 { > > #endif > > unsigned read(Base* s) { > > // FIXME: We should widen this load as long as the function isn't > being > > - // instrumented by thread-sanitizer. > > + // instrumented by ThreadSanitizer. > > // > > // CHECK-X86-64-LABEL: define i32 @_ZN2N44read > > // CHECK-X86-64: %[[gep:.*]] = getelementptr inbounds {{.*}}* > %{{.*}}, i32 0, i32 1 > > @@ -378,8 +378,8 @@ namespace N6 { > > // Zero-length bitfields partition the memory locations of bitfields > for the > > // purposes of the memory model. That means stores must not span > zero-length > > // bitfields and loads may only span them when we are not > instrumenting with > > - // thread sanitizer. > > - // FIXME: We currently don't widen loads even without thread > sanitizer, even > > + // ThreadSanitizer. > > + // FIXME: We currently don't widen loads even without > ThreadSanitizer, even > > // though we could. > > struct S { > > unsigned b1 : 24; > > @@ -448,7 +448,7 @@ namespace N7 { > > #endif > > unsigned read(B2* s) { > > // FIXME: We should widen this load as long as the function isn't > being > > - // instrumented by thread-sanitizer. > > + // instrumented by ThreadSanitizer. > > // > > // CHECK-X86-64-LABEL: define i32 @_ZN2N74read > > // CHECK-X86-64: %[[gep:.*]] = getelementptr inbounds {{.*}}* > %{{.*}}, i32 0, i32 1 > > > > Modified: cfe/trunk/test/Driver/asan.c > > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/asan.c?rev=204330&r1=204329&r2=204330&view=diff > > > ============================================================================== > > --- cfe/trunk/test/Driver/asan.c (original) > > +++ cfe/trunk/test/Driver/asan.c Thu Mar 20 05:48:29 2014 > > @@ -1,9 +1,8 @@ > > -// RUN: %clang -target i386-unknown-unknown -faddress-sanitizer %s > -S -emit-llvm -o - | FileCheck %s > > -// RUN: %clang -O1 -target i386-unknown-unknown -faddress-sanitizer %s > -S -emit-llvm -o - | FileCheck %s > > -// RUN: %clang -O2 -target i386-unknown-unknown -faddress-sanitizer %s > -S -emit-llvm -o - | FileCheck %s > > -// RUN: %clang -O3 -target i386-unknown-unknown -faddress-sanitizer %s > -S -emit-llvm -o - | FileCheck %s > > -// RUN: %clang -target i386-unknown-unknown -fsanitize=address %s > -S -emit-llvm -o - | FileCheck %s > > -// Verify that -faddress-sanitizer invokes asan instrumentation. > > +// RUN: %clang -target i386-unknown-unknown -fsanitize=address %s > -S -emit-llvm -o - | FileCheck %s > > +// RUN: %clang -O1 -target i386-unknown-unknown -fsanitize=address %s > -S -emit-llvm -o - | FileCheck %s > > +// RUN: %clang -O2 -target i386-unknown-unknown -fsanitize=address %s > -S -emit-llvm -o - | FileCheck %s > > +// RUN: %clang -O3 -target i386-unknown-unknown -fsanitize=address %s > -S -emit-llvm -o - | FileCheck %s > > +// Verify that -fsanitize=address invokes asan instrumentation. > > > > int foo(int *a) { return *a; } > > // CHECK: __asan_init > > > > Modified: cfe/trunk/test/Driver/darwin-asan-nofortify.c > > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/darwin-asan-nofortify.c?rev=204330&r1=204329&r2=204330&view=diff > > > ============================================================================== > > --- cfe/trunk/test/Driver/darwin-asan-nofortify.c (original) > > +++ cfe/trunk/test/Driver/darwin-asan-nofortify.c Thu Mar 20 05:48:29 > 2014 > > @@ -1,6 +1,5 @@ > > // Make sure AddressSanitizer disables _FORTIFY_SOURCE on Darwin. > > > > -// RUN: %clang -faddress-sanitizer %s -E -dM -target x86_64-darwin | > FileCheck %s > > // RUN: %clang -fsanitize=address %s -E -dM -target x86_64-darwin | > FileCheck %s > > > > // CHECK: #define _FORTIFY_SOURCE 0 > > > > Modified: cfe/trunk/test/Driver/fsanitize.c > > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/fsanitize.c?rev=204330&r1=204329&r2=204330&view=diff > > > ============================================================================== > > --- cfe/trunk/test/Driver/fsanitize.c (original) > > +++ cfe/trunk/test/Driver/fsanitize.c Thu Mar 20 05:48:29 2014 > > @@ -1,4 +1,3 @@ > > -// RUN: %clang -target x86_64-linux-gnu -fcatch-undefined-behavior %s > -### 2>&1 | FileCheck %s --check-prefix=CHECK-UNDEFINED-TRAP > > // RUN: %clang -target x86_64-linux-gnu -fsanitize=undefined-trap > -fsanitize-undefined-trap-on-error %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-UNDEFINED-TRAP > > // RUN: %clang -target x86_64-linux-gnu > -fsanitize-undefined-trap-on-error -fsanitize=undefined-trap %s -### 2>&1 | > FileCheck %s --check-prefix=CHECK-UNDEFINED-TRAP > > // CHECK-UNDEFINED-TRAP: > "-fsanitize={{((signed-integer-overflow|integer-divide-by-zero|float-divide-by-zero|shift|unreachable|return|vla-bound|alignment|null|object-size|float-cast-overflow|array-bounds|enum|bool),?){14}"}} > > @@ -13,7 +12,7 @@ > > // RUN: %clang -target x86_64-linux-gnu -fsanitize=integer %s -### 2>&1 > | FileCheck %s --check-prefix=CHECK-INTEGER > > // CHECK-INTEGER: > "-fsanitize={{((signed-integer-overflow|unsigned-integer-overflow|integer-divide-by-zero|shift),?){4}"}} > > > > -// RUN: %clang -target x86_64-linux-gnu -fsanitize=thread,undefined > -fno-thread-sanitizer -fno-sanitize=float-cast-overflow,vptr,bool,enum %s > -### 2>&1 | FileCheck %s --check-prefix=CHECK-PARTIAL-UNDEFINED > > +// RUN: %clang -target x86_64-linux-gnu -fsanitize=thread,undefined > -fno-sanitize=thread -fno-sanitize=float-cast-overflow,vptr,bool,enum %s > -### 2>&1 | FileCheck %s --check-prefix=CHECK-PARTIAL-UNDEFINED > > // CHECK-PARTIAL-UNDEFINED: > "-fsanitize={{((signed-integer-overflow|integer-divide-by-zero|float-divide-by-zero|function|shift|unreachable|return|vla-bound|alignment|null|object-size|array-bounds),?){12}"}} > > > > // RUN: %clang -target x86_64-linux-gnu -fsanitize=address-full %s -### > 2>&1 | FileCheck %s --check-prefix=CHECK-ASAN-FULL > > @@ -28,12 +27,6 @@ > > // RUN: %clang -target x86_64-linux-gnu -fsanitize=address > -fno-sanitize=use-after-return %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-ASAN-NO-IMPLIED-UAR > > // CHECK-ASAN-NO-IMPLIED-UAR-NOT: use-after-return > > > > -// RUN: %clang -target x86_64-linux-gnu -fcatch-undefined-behavior > -fno-sanitize-undefined-trap-on-error %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-UNDEFINED-NO-TRAP-ERROR > > -// CHECK-UNDEFINED-NO-TRAP-ERROR: '-fcatch-undefined-behavior' not > allowed with '-fno-sanitize-undefined-trap-on-error' > > - > > -// RUN: %clang -target x86_64-linux-gnu -fsanitize=vptr > -fcatch-undefined-behavior %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-VPTR-UNDEF-ERROR > > -// CHECK-VPTR-UNDEF-ERROR: '-fsanitize=vptr' not allowed with > '-fcatch-undefined-behavior' > > - > > // RUN: %clang -target x86_64-linux-gnu -fsanitize=undefined > -fsanitize-undefined-trap-on-error %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-UNDEFINED-TRAP-ON-ERROR-UNDEF > > // CHECK-UNDEFINED-TRAP-ON-ERROR-UNDEF: '-fsanitize=undefined' not > allowed with '-fsanitize-undefined-trap-on-error' > > > > @@ -62,9 +55,6 @@ > > // RUN: %clang -target x86_64-linux-gnu -fsanitize=leak,memory -pie > -fno-rtti %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANL-SANM > > // CHECK-SANL-SANM: '-fsanitize=leak' not allowed with > '-fsanitize=memory' > > > > -// RUN: %clang -target x86_64-linux-gnu -faddress-sanitizer > -fthread-sanitizer -fno-rtti %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-ASAN-TSAN > > -// CHECK-ASAN-TSAN: '-faddress-sanitizer' not allowed with > '-fthread-sanitizer' > > - > > // RUN: %clang -target x86_64-linux-gnu -fsanitize=init-order %s -### > 2>&1 | FileCheck %s --check-prefix=CHECK-ONLY-EXTRA-ASAN > > // CHECK-ONLY-EXTRA-ASAN: '-fsanitize=init-order' is ignored in absence > of '-fsanitize=address' > > > > @@ -92,13 +82,8 @@ > > // RUN: %clang -target x86_64-linux-gnu -fsanitize=vptr > -fno-sanitize=vptr -fsanitize=undefined,address %s -### 2>&1 > > // OK > > > > -// RUN: %clang -target x86_64-linux-gnu -fcatch-undefined-behavior > -fthread-sanitizer -fno-thread-sanitizer -faddress-sanitizer > -fno-address-sanitizer -fbounds-checking -### %s 2>&1 | FileCheck %s > --check-prefix=CHECK-DEPRECATED > > +// RUN: %clang -target x86_64-linux-gnu -fbounds-checking -### %s 2>&1 > | FileCheck %s --check-prefix=CHECK-DEPRECATED > > // CHECK-DEPRECATED: argument '-fbounds-checking' is deprecated, use > '-fsanitize=local-bounds' instead > > -// CHECK-DEPRECATED: argument '-fno-address-sanitizer' is deprecated, > use '-fno-sanitize=address' instead > > -// CHECK-DEPRECATED: argument '-faddress-sanitizer' is deprecated, use > '-fsanitize=address' instead > > -// CHECK-DEPRECATED: argument '-fno-thread-sanitizer' is deprecated, > use '-fno-sanitize=thread' instead > > -// CHECK-DEPRECATED: argument '-fthread-sanitizer' is deprecated, use > '-fsanitize=thread' instead > > -// CHECK-DEPRECATED: argument '-fcatch-undefined-behavior' is > deprecated, use '-fsanitize=undefined-trap > -fsanitize-undefined-trap-on-error' instead > > > > // RUN: %clang -target x86_64-linux-gnu -fsanitize=thread %s -### 2>&1 | > FileCheck %s --check-prefix=CHECK-TSAN-NO-PIE > > // CHECK-TSAN-NO-PIE: "-mrelocation-model" "pic" "-pic-level" "2" > "-pie-level" "2" > > > > > > _______________________________________________ > > cfe-commits mailing list > > [email protected] > > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > -- Alexey Samsonov, MSK
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
