]> granicus.if.org Git - clang/commitdiff
Fix gcc ambiguity error (Visual C++ was OK with these).
authorYaron Keren <yaron.keren@gmail.com>
Wed, 18 Mar 2015 10:26:22 +0000 (10:26 +0000)
committerYaron Keren <yaron.keren@gmail.com>
Wed, 18 Mar 2015 10:26:22 +0000 (10:26 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@232623 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaStmt.cpp

index 3140090c7bead0807d076e102ac2d52b90fed8cc..f923f61ce61cad2a2c21a4ad72e666ec7b6cfe01 100644 (file)
@@ -906,12 +906,12 @@ Sema::ActOnFinishSwitchStmt(SourceLocation SwitchLoc, Stmt *Switch,
           if (PrevString == CurrString)
             Diag(CaseVals[i].second->getLHS()->getLocStart(),
                  diag::err_duplicate_case) <<
-                 (PrevString.empty() ? CaseValStr : PrevString);
+                 (PrevString.empty() ? StringRef(CaseValStr) : PrevString);
           else
             Diag(CaseVals[i].second->getLHS()->getLocStart(),
                  diag::err_duplicate_case_differing_expr) <<
-                 (PrevString.empty() ? CaseValStr : PrevString) <<
-                 (CurrString.empty() ? CaseValStr : CurrString) <<
+                 (PrevString.empty() ? StringRef(CaseValStr) : PrevString) <<
+                 (CurrString.empty() ? StringRef(CaseValStr) : CurrString) <<
                  CaseValStr;
 
           Diag(CaseVals[i-1].second->getLHS()->getLocStart(),