summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema
diff options
context:
space:
mode:
authorSteve Naroff <snaroff@apple.com>2008-10-02 17:12:56 +0000
committerSteve Naroff <snaroff@apple.com>2008-10-02 17:12:56 +0000
commitd40a39626c8088c75fdd594dac68846ecd2b27a9 (patch)
tree9ac04ce4ca5a3a6835db71fc1cfafc39d93c6c90 /clang/lib/Sema
parentc3d16493ae9bc3d7018b0757a423570e2fdcb352 (diff)
downloadbcm5719-llvm-d40a39626c8088c75fdd594dac68846ecd2b27a9.tar.gz
bcm5719-llvm-d40a39626c8088c75fdd594dac68846ecd2b27a9.zip
Changed Sema::CheckForConstantInitializer to allow global block literals.
This commit also includes some name changes in the blocks rewriter (no functionality change). llvm-svn: 56955
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index 800ffc57064..9c5c4f2d4bf 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -1286,6 +1286,10 @@ bool Sema::CheckForConstantInitializer(Expr *Init, QualType DclT) {
if (Init->getType()->isFunctionType())
return false;
+ // Allow block exprs at top level.
+ if (Init->getType()->isBlockPointerType())
+ return false;
+
Diag(Init->getExprLoc(), diag::err_init_element_not_constant,
Init->getSourceRange());
return true;
OpenPOWER on IntegriCloud