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
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D86780: Copy block... 酷酷的哀殿 via Phabricator via cfe-commits
    • [PATCH] D86780: Copy ... 酷酷的哀殿 via Phabricator via cfe-commits

Reply via email to