diff options
| author | Vedant Kumar <vsk@apple.com> | 2018-07-12 19:53:15 +0000 |
|---|---|---|
| committer | Vedant Kumar <vsk@apple.com> | 2018-07-12 19:53:15 +0000 |
| commit | ee5406e83cada6ece6c02d82860febe7353d88dc (patch) | |
| tree | b9e9abb66a372c4cd2b21c3d2cdde98bc0275ad8 | |
| parent | d5cd7ce743f7c05abdba3901d4c655fcff98e4d0 (diff) | |
| download | bcm5719-llvm-ee5406e83cada6ece6c02d82860febe7353d88dc.tar.gz bcm5719-llvm-ee5406e83cada6ece6c02d82860febe7353d88dc.zip | |
[Driver] Conform warn_drv_object_size_disabled_O0 to DefaultWarnNoError
This diagnostic triggers when -fsanitize=object-size is explicitly
specified but will be a no-op (i.e, at -O0).
This diagnostic should not fail a -Werror build because it's just an
explanatory note to the user. It's not always actionable.
For example, a user may not be able to simply disable object-size,
because they want it enabled in optimized builds.
rdar://42128447
llvm-svn: 336937
| -rw-r--r-- | clang/include/clang/Basic/DiagnosticDriverKinds.td | 2 | ||||
| -rw-r--r-- | clang/test/Driver/fsanitize-object-size.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/clang/include/clang/Basic/DiagnosticDriverKinds.td b/clang/include/clang/Basic/DiagnosticDriverKinds.td index 5526ad4bd5c..a6be0595e1a 100644 --- a/clang/include/clang/Basic/DiagnosticDriverKinds.td +++ b/clang/include/clang/Basic/DiagnosticDriverKinds.td @@ -273,7 +273,7 @@ def warn_drv_disabling_vptr_no_rtti_default : Warning< InGroup<AutoDisableVptrSanitizer>; def warn_drv_object_size_disabled_O0 : Warning< "the object size sanitizer has no effect at -O0, but is explicitly enabled: %0">, - InGroup<InvalidCommandLineArgument>; + InGroup<InvalidCommandLineArgument>, DefaultWarnNoWerror; def note_drv_command_failed_diag_msg : Note< "diagnostic msg: %0">; diff --git a/clang/test/Driver/fsanitize-object-size.c b/clang/test/Driver/fsanitize-object-size.c index b96221e0fd4..50c67838df3 100644 --- a/clang/test/Driver/fsanitize-object-size.c +++ b/clang/test/Driver/fsanitize-object-size.c @@ -2,8 +2,9 @@ // // RUN: %clang -target x86_64-linux-gnu -fsanitize=object-size %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-OSIZE // RUN: %clang -target x86_64-linux-gnu -fsanitize=object-size %s -O0 -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-OSIZE -// RUN: %clang -target x86_64-linux-gnu -fsanitize=null,object-size %s -### 2>&1 | FileCheck %s --check-prefixes=CHECK-NO-OSIZE -// RUN: %clang -target x86_64-linux-gnu -fsanitize=undefined %s -### 2>&1 | FileCheck %s --check-prefixes=CHECK-NO-OSIZE-NO-WARNING +// RUN: %clang -target x86_64-linux-gnu -fsanitize=null,object-size %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-OSIZE +// RUN: %clang -target x86_64-linux-gnu -Werror -fsanitize=null,object-size %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-OSIZE +// RUN: %clang -target x86_64-linux-gnu -fsanitize=undefined %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-NO-OSIZE-NO-WARNING // Check that the object size check is enabled at other optimization levels. // |

