[PATCH] D21904: [OpenMP] Initial implementation of parse+sema for clause use_device_ptr of 'target data'

Samuel Antao via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 30 20:57:03 PDT 2016


sfantao added inline comments.

================
Comment at: lib/Sema/SemaOpenMP.cpp:11377
@@ +11376,3 @@
+    // item should be a pointer or array
+    if (!Type.getNonReferenceType()->isPointerType()) {
+      Diag(ELoc, diag::err_omp_usedeviceptr_not_a_pointer)
----------------
ABataev wrote:
> sfantao wrote:
> > ABataev wrote:
> > > You should not skip the reference from the type, references are not allowed also
> > Hi Alexey, I think the item can be a reference to a pointer. I couldn't find that restriction in the spec,  can you point me to what you are referring to? We should probably refer to that in the preceding comment. 
> > 
> > Thanks!
> Here is the restriction:
> "2.10.1 target data Construct, restrictions. References in the construct to a list item that appears in a use_device_ptr clause must be to the address of the list item."
> Does it mean that references are allowed?
Ok, thanks. My interpretation is that that restriction refers to references used in clauses (in the same construct) other than use_device_ptr to declarations used in use_device_ptr. I think the motivation is to restrict the use of the value of the pointer  by other clauses given that value is going to change for that data environment because of the behavior implemented by use_device_ptr. Carlo, what is your interpretation?


Repository:
  rL LLVM

http://reviews.llvm.org/D21904





More information about the cfe-commits mailing list