sunbohong updated this revision to Diff 288853.
sunbohong added a comment.
Herald added a subscriber: danielkiss.
Update copy blocks
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D86780/new/
https://reviews.llvm.org/D86780
Files:
clang/lib/Sema/SemaExprObjC.cpp
Index: clang/lib/Sema/SemaExprObjC.cpp
===================================================================
--- clang/lib/Sema/SemaExprObjC.cpp
+++ clang/lib/Sema/SemaExprObjC.cpp
@@ -1776,6 +1776,18 @@
Args.back()->getEndLoc());
}
}
+ if (!IsError) {
+ for (unsigned i = NumNamedArgs, e = Args.size(); i < e; ++i) {
+ if (Args[i]->isTypeDependent())
+ continue;
+ // copy blocks [NSArray arrayWithObjects:^(){NSLog(@"blk0:%d",
val);},^(){NSLog(@"blk1:%d", val);}, nil];
+ if (Args[i]->getType()->isBlockPointerType()) {
+ ExprResult arg = Args[i];
+ maybeExtendBlockObject(arg);
+ Args[i] = arg.get();
+ }
+ }
+ }
DiagnoseSentinelCalls(Method, SelLoc, Args);
Index: clang/lib/Sema/SemaExprObjC.cpp
===================================================================
--- clang/lib/Sema/SemaExprObjC.cpp
+++ clang/lib/Sema/SemaExprObjC.cpp
@@ -1776,6 +1776,18 @@
Args.back()->getEndLoc());
}
}
+ if (!IsError) {
+ for (unsigned i = NumNamedArgs, e = Args.size(); i < e; ++i) {
+ if (Args[i]->isTypeDependent())
+ continue;
+ // copy blocks [NSArray arrayWithObjects:^(){NSLog(@"blk0:%d", val);},^(){NSLog(@"blk1:%d", val);}, nil];
+ if (Args[i]->getType()->isBlockPointerType()) {
+ ExprResult arg = Args[i];
+ maybeExtendBlockObject(arg);
+ Args[i] = arg.get();
+ }
+ }
+ }
DiagnoseSentinelCalls(Method, SelLoc, Args);
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits