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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits