Anastasia added inline comments.

================
Comment at: lib/Sema/SemaExpr.cpp:13645
       
   // Blocks are not allowed to capture arrays.
+  if (!S.getLangOpts().OpenCL && CaptureType->isArrayType()) {
----------------
I think the comment should be updated.


================
Comment at: test/SemaOpenCL/blocks_with_array.cl:9
+  block_t b = ^() {
+// CHECK:   %{{.*}} = getelementptr inbounds [3 x i32], [3 x i32] 
addrspace(4)* %{{.*}}, i64 0, i64 0
+    return a[0];
----------------
Does this test anything different from the function `foo` below?


================
Comment at: test/SemaOpenCL/blocks_with_array.cl:21
+  block_t bl1 = ^(){return s.arr[1];};
+// CHECK: define internal spir_func i32 @__foo_block_invoke(i8 addrspace(4)* 
%.block_descriptor)
+// CHECK:   %{{.*}} = getelementptr inbounds %struct.v, %struct.v 
addrspace(4)* %{{.*}}, i32 0, i32 0
----------------
Can we check there is a memcpy here?


================
Comment at: test/SemaOpenCL/blocks_with_array.cl:27
+  block_t bl2 = ^(){return arr[1];};
+// CHECK: define internal spir_func i32 @__foo_block_invoke_2(i8 addrspace(4)* 
%.block_descriptor)
+// CHECK:   %{{.*}} = getelementptr inbounds [2 x i32], [2 x i32] 
addrspace(4)* %{{.*}}, i64 0, i64 1
----------------
Can we CHECK-NOT memcpy?


================
Comment at: test/SemaOpenCL/blocks_with_array.cl:30
+  // array decayed to pointer while captured
+  s.arr[1] = arr[1] = 877;
+}
----------------
Do we need this line as well?


https://reviews.llvm.org/D26794



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to