diff options
author | John McCall <rjmccall@apple.com> | 2010-09-02 22:18:59 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-09-02 22:18:59 +0000 |
commit | 25f7aa81589e7e78cf38065e66257c45a0851283 (patch) | |
tree | cbf7f05c0e862f17686a7856f189fa61951f6cf1 | |
parent | 2912df072d891383c7c007f8fcff9ad8a2520440 (diff) | |
download | bcm5719-llvm-25f7aa81589e7e78cf38065e66257c45a0851283.tar.gz bcm5719-llvm-25f7aa81589e7e78cf38065e66257c45a0851283.zip |
Experimentally move the tautological comparison warnings from -Wsign-compare
to -Wtautological-compare. This implies that they're now on by default.
If this causes chaos, I'll figure something else out.
llvm-svn: 112877
-rw-r--r-- | clang/include/clang/Basic/DiagnosticGroups.td | 1 | ||||
-rw-r--r-- | clang/include/clang/Basic/DiagnosticSemaKinds.td | 6 | ||||
-rw-r--r-- | clang/test/Analysis/additive-folding.c | 4 | ||||
-rw-r--r-- | clang/test/Analysis/null-deref-ps.c | 2 |
4 files changed, 7 insertions, 6 deletions
diff --git a/clang/include/clang/Basic/DiagnosticGroups.td b/clang/include/clang/Basic/DiagnosticGroups.td index f6fb79d03ce..d46e9a7c08b 100644 --- a/clang/include/clang/Basic/DiagnosticGroups.td +++ b/clang/include/clang/Basic/DiagnosticGroups.td @@ -100,6 +100,7 @@ def SignCompare : DiagGroup<"sign-compare">; def : DiagGroup<"stack-protector">; def : DiagGroup<"switch-default">; def : DiagGroup<"synth">; +def TautologicalCompare : DiagGroup<"tautological-compare">; // Preprocessor warnings. def : DiagGroup<"builtin-macro-redefined">; diff --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td index d3fdb8050ba..081190bb270 100644 --- a/clang/include/clang/Basic/DiagnosticSemaKinds.td +++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td @@ -2198,10 +2198,10 @@ def warn_mixed_sign_conditional : Warning< InGroup<SignCompare>, DefaultIgnore; def warn_lunsigned_always_true_comparison : Warning< "comparison of unsigned expression %0 is always %1">, - InGroup<SignCompare>, DefaultIgnore; + InGroup<TautologicalCompare>; def warn_runsigned_always_true_comparison : Warning< "comparison of %0 unsigned expression is always %1">, - InGroup<SignCompare>, DefaultIgnore; + InGroup<TautologicalCompare>; def err_invalid_this_use : Error< "invalid use of 'this' outside of a nonstatic member function">; @@ -3062,7 +3062,7 @@ def err_ret_local_block : Error< // Array comparisons have similar warnings def warn_comparison_always : Warning< "%select{self-|array }0comparison always evaluates to %select{false|true|a constant}1">, - InGroup<DiagGroup<"tautological-compare">>; + InGroup<TautologicalCompare>; def warn_stringcompare : Warning< "result of comparison against %select{a string literal|@encode}0 is " diff --git a/clang/test/Analysis/additive-folding.c b/clang/test/Analysis/additive-folding.c index e4a56513396..713f788ac0d 100644 --- a/clang/test/Analysis/additive-folding.c +++ b/clang/test/Analysis/additive-folding.c @@ -183,14 +183,14 @@ void tautologyGT (unsigned a) { void tautologyGE (unsigned a) { char* b = malloc(1); - if (a >= 0) + if (a >= 0) // expected-warning{{always true}} free(b); return; // no-warning } void tautologyLT (unsigned a) { char* b = malloc(1); - if (a < 0) + if (a < 0) // expected-warning{{always false}} return; // expected-warning{{never executed}} free(b); } diff --git a/clang/test/Analysis/null-deref-ps.c b/clang/test/Analysis/null-deref-ps.c index 8daa8450681..d4d18b4ff3b 100644 --- a/clang/test/Analysis/null-deref-ps.c +++ b/clang/test/Analysis/null-deref-ps.c @@ -237,7 +237,7 @@ int* f10(int* p, signed char x, int y) { // Test case from <rdar://problem/6407949> void f11(unsigned i) { int *x = 0; - if (i >= 0) { + if (i >= 0) { // expected-warning{{always true}} // always true } else { *x = 42; // no-warning |