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
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits