[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