diff options
-rw-r--r-- | include/clang/Basic/DiagnosticGroups.td | 1 | ||||
-rw-r--r-- | include/clang/Basic/DiagnosticSemaKinds.td | 6 | ||||
-rw-r--r-- | test/Analysis/additive-folding.c | 4 | ||||
-rw-r--r-- | test/Analysis/null-deref-ps.c | 2 |
4 files changed, 7 insertions, 6 deletions
diff --git a/include/clang/Basic/DiagnosticGroups.td b/include/clang/Basic/DiagnosticGroups.td index f6fb79d03c..d46e9a7c08 100644 --- a/include/clang/Basic/DiagnosticGroups.td +++ b/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/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td index d3fdb8050b..081190bb27 100644 --- a/include/clang/Basic/DiagnosticSemaKinds.td +++ b/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/test/Analysis/additive-folding.c b/test/Analysis/additive-folding.c index e4a5651339..713f788ac0 100644 --- a/test/Analysis/additive-folding.c +++ b/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/test/Analysis/null-deref-ps.c b/test/Analysis/null-deref-ps.c index 8daa845068..d4d18b4ff3 100644 --- a/test/Analysis/null-deref-ps.c +++ b/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 |