[cfe-commits] r62922 - in /cfe/trunk: lib/Sema/SemaDecl.cpp test/Sema/init.c

Anders Carlsson andersca at mac.com
Sat Jan 24 09:47:50 PST 2009


Author: andersca
Date: Sat Jan 24 11:47:50 2009
New Revision: 62922

URL: http://llvm.org/viewvc/llvm-project?rev=62922&view=rev
Log:
Ignore parens when determining if an expr is a string literal. Fixes PR3382.

Modified:
    cfe/trunk/lib/Sema/SemaDecl.cpp
    cfe/trunk/test/Sema/init.c

Modified: cfe/trunk/lib/Sema/SemaDecl.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDecl.cpp?rev=62922&r1=62921&r2=62922&view=diff

==============================================================================
--- cfe/trunk/lib/Sema/SemaDecl.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDecl.cpp Sat Jan 24 11:47:50 2009
@@ -1031,7 +1031,7 @@
 StringLiteral *Sema::IsStringLiteralInit(Expr *Init, QualType DeclType) {
   const ArrayType *AT = Context.getAsArrayType(DeclType);
   if (AT && AT->getElementType()->isCharType()) {
-    return dyn_cast<StringLiteral>(Init);
+    return dyn_cast<StringLiteral>(Init->IgnoreParens());
   }
   return 0;
 }

Modified: cfe/trunk/test/Sema/init.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/init.c?rev=62922&r1=62921&r2=62922&view=diff

==============================================================================
--- cfe/trunk/test/Sema/init.c (original)
+++ cfe/trunk/test/Sema/init.c Sat Jan 24 11:47:50 2009
@@ -78,3 +78,5 @@
     .b = bogus // expected-error {{use of undeclared identifier 'bogus'}}
 }
 
+// PR3382
+char t[] = ("Hello");





More information about the cfe-commits mailing list