diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2009-12-22 00:48:54 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2009-12-22 00:48:54 +0000 |
commit | 8120346c5798f97d0d1c818be50b395fbd8da617 (patch) | |
tree | e1aa960242422690e8998e86531724b3a1a448dc | |
parent | 6211d7ba4be1802d81e6e3b45c8f277ac4599d28 (diff) | |
download | bcm5719-llvm-8120346c5798f97d0d1c818be50b395fbd8da617.tar.gz bcm5719-llvm-8120346c5798f97d0d1c818be50b395fbd8da617.zip |
Template code for rewrite of __block variables - wip.
llvm-svn: 91865
-rw-r--r-- | clang/lib/Frontend/RewriteObjC.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Frontend/RewriteObjC.cpp b/clang/lib/Frontend/RewriteObjC.cpp index 289d4d6a1a0..2aecf772819 100644 --- a/clang/lib/Frontend/RewriteObjC.cpp +++ b/clang/lib/Frontend/RewriteObjC.cpp @@ -324,6 +324,7 @@ namespace { // Block specific rewrite rules. void RewriteBlockCall(CallExpr *Exp); void RewriteBlockPointerDecl(NamedDecl *VD); + void RewriteByRefVar(NamedDecl *VD); Stmt *RewriteBlockDeclRefExpr(BlockDeclRefExpr *VD); void RewriteBlockPointerFunctionArgs(FunctionDecl *FD); @@ -4321,6 +4322,10 @@ void RewriteObjC::RewriteBlockPointerDecl(NamedDecl *ND) { return; } +void RewriteObjC::RewriteByRefVar(NamedDecl *ND) { + return; +} + void RewriteObjC::CollectBlockDeclRefInfo(BlockExpr *Exp) { // Add initializers for any closure decl refs. GetBlockDeclRefExprs(Exp->getBody()); @@ -4665,6 +4670,8 @@ Stmt *RewriteObjC::RewriteFunctionBodyOrGlobalInitializer(Stmt *S) { RewriteBlockPointerDecl(ND); else if (ND->getType()->isFunctionPointerType()) CheckFunctionPointerDecl(ND->getType(), ND); + if (ND->hasAttr<BlocksAttr>()) + RewriteByRefVar(ND); } if (TypedefDecl *TD = dyn_cast<TypedefDecl>(SD)) { if (isTopLevelBlockPointerType(TD->getUnderlyingType())) |