diff options
author | Chris Lattner <sabre@nondot.org> | 2009-04-03 21:11:28 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-04-03 21:11:28 +0000 |
commit | 95f49fb26637e0f271bca580e8e20ce3c08ac2e9 (patch) | |
tree | 43eb61357498047f238399b860d3f1bbfdd720c6 /lib | |
parent | 9dab0ed04e946bf3089042c2d97f6d9ee075c067 (diff) |
improve the string literal comparison warning to not call @encode's "string literals".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68407 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Sema/SemaExpr.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp index b3c8be49c9..55eaaa4bc8 100644 --- a/lib/Sema/SemaExpr.cpp +++ b/lib/Sema/SemaExpr.cpp @@ -3411,7 +3411,8 @@ QualType Sema::CheckCompareOperands(Expr *&lex, Expr *&rex, SourceLocation Loc, // operand is null), the user probably wants strcmp. if ((isa<StringLiteral>(LHSStripped) || isa<ObjCEncodeExpr>(LHSStripped)) && !RHSStripped->isNullPointerConstant(Context)) - Diag(Loc, diag::warn_stringcompare) + Diag(Loc, diag::warn_stringcompare) + << isa<ObjCEncodeExpr>(LHSStripped) << lex->getSourceRange() << CodeModificationHint::CreateReplacement(SourceRange(Loc), ", ") << CodeModificationHint::CreateInsertion(lex->getLocStart(), @@ -3423,6 +3424,7 @@ QualType Sema::CheckCompareOperands(Expr *&lex, Expr *&rex, SourceLocation Loc, isa<ObjCEncodeExpr>(RHSStripped)) && !LHSStripped->isNullPointerConstant(Context)) Diag(Loc, diag::warn_stringcompare) + << isa<ObjCEncodeExpr>(RHSStripped) << rex->getSourceRange() << CodeModificationHint::CreateReplacement(SourceRange(Loc), ", ") << CodeModificationHint::CreateInsertion(lex->getLocStart(), |