summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExpr.cpp
diff options
context:
space:
mode:
authorSteve Naroff <snaroff@apple.com>2008-09-26 14:41:28 +0000
committerSteve Naroff <snaroff@apple.com>2008-09-26 14:41:28 +0000
commitba756cb3fc5538f193d1143bfbd116744954b029 (patch)
treef20b148ed090ad24e9ed647e477868eddbdcde25 /clang/lib/Sema/SemaExpr.cpp
parent2ece64bbc48e07ba25609ff3cc0232b1be6692dd (diff)
downloadbcm5719-llvm-ba756cb3fc5538f193d1143bfbd116744954b029.tar.gz
bcm5719-llvm-ba756cb3fc5538f193d1143bfbd116744954b029.zip
Tweak Expr::isModifiableLvalue() and Expr::isLvalue() to better deal with BlockDeclRef exprs.
This fixes <rdar://problem/6248392> clang: Error when using address of stack variable inside block. llvm-svn: 56652
Diffstat (limited to 'clang/lib/Sema/SemaExpr.cpp')
-rw-r--r--clang/lib/Sema/SemaExpr.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index 1a80283f826..e8b4d8cb4b3 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -2181,6 +2181,10 @@ inline QualType Sema::CheckAssignmentOperands( // C99 6.5.16.1
Diag(loc, diag::err_typecheck_duplicate_vector_components_not_mlvalue,
lex->getSourceRange());
return QualType();
+ case Expr::MLV_NotBlockQualified:
+ Diag(loc, diag::err_block_decl_ref_not_modifiable_lvalue,
+ lex->getSourceRange());
+ return QualType();
}
AssignConvertType ConvTy;
OpenPOWER on IntegriCloud