diff options
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/include/clang/Basic/DiagnosticSemaKinds.td | 2 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaExpr.cpp | 6 | ||||
| -rw-r--r-- | clang/test/FixIt/fixit.c | 6 | ||||
| -rw-r--r-- | clang/test/Sema/exprs.c | 2 | 
4 files changed, 3 insertions, 13 deletions
diff --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td index 62769decf48..c21726ba7bd 100644 --- a/clang/include/clang/Basic/DiagnosticSemaKinds.td +++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td @@ -2718,7 +2718,7 @@ def warn_selfcomparison : Warning<    "self-comparison always results in a constant value">;  def warn_stringcompare : Warning<    "result of comparison against %select{a string literal|@encode}0 is " -  "unspecified (use strcmp instead)">; +  "unspecified (use strncmp instead)">; diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp index 654b2204995..6820449e1c8 100644 --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -5402,11 +5402,7 @@ QualType Sema::CheckCompareOperands(Expr *&lex, Expr *&rex, SourceLocation Loc,        DiagRuntimeBehavior(Loc,          PDiag(diag::warn_stringcompare)            << isa<ObjCEncodeExpr>(literalStringStripped) -          << literalString->getSourceRange() -          << FixItHint::CreateReplacement(SourceRange(Loc), ", ") -          << FixItHint::CreateInsertion(lex->getLocStart(), "strcmp(") -          << FixItHint::CreateInsertion(PP.getLocForEndOfToken(rex->getLocEnd()), -                                        resultComparison)); +          << literalString->getSourceRange());      }    } diff --git a/clang/test/FixIt/fixit.c b/clang/test/FixIt/fixit.c index 83d724dffc0..7ee5575cf23 100644 --- a/clang/test/FixIt/fixit.c +++ b/clang/test/FixIt/fixit.c @@ -31,9 +31,3 @@ void f1(x, y)  int i0 = { 17 }; -int f2(const char *my_string) { -  // FIXME: terminal output isn't so good when "my_string" is shorter -// CHECK: return strcmp(my_string , "foo") == 0; -  return my_string == "foo"; -} - diff --git a/clang/test/Sema/exprs.c b/clang/test/Sema/exprs.c index 9acc63fa41a..4df8188e434 100644 --- a/clang/test/Sema/exprs.c +++ b/clang/test/Sema/exprs.c @@ -84,7 +84,7 @@ void test11(struct mystruct P, float F) {  // PR3753  int test12(const char *X) { -  return X == "foo";  // expected-warning {{comparison against a string literal is unspecified}} +  return X == "foo";  // expected-warning {{comparison against a string literal is unspecified (use strncmp instead)}}  }  int test12b(const char *X) {  | 

