svenvh added inline comments.

================
Comment at: clang/lib/Sema/SemaDecl.cpp:8638
     // array, this recursive call only happens once.
     return getOpenCLKernelParameterType(S, QualType(UnderlyingTy, 0));
   }
----------------
Anastasia wrote:
> Btw I am surprised that we recurse to check the underlying type of an array 
> but not the pointer. I guess this spec wording implies that pointed types 
> should be checked too?
> 
> > The   size   in   bytes   of   these   types   areimplementation-defined  
> > and  in  addition  can  also  be  different  for  the  OpenCL  device  and  
> > the host processor making it difficult to allocate buffer objects to be 
> > passed as arguments to a kernel declared as pointer to these types.
> 
> 
> Also I can't find anything specific to the arrays...
> 
> Do you think we need to chase this with the spec?
I have raised https://github.com/KhronosGroup/OpenCL-Docs/issues/504


================
Comment at: clang/lib/Sema/SemaDecl.cpp:8669
+    // Loop through inner pointer types to ensure address spaces are valid.
+    QualType NestedPT = PT->getPointeeType();
+    do {
----------------
Anastasia wrote:
> I feel this breaks the original flow a little bit. It would have been nicer 
> if this could be part of `getOpenCLKernelParameterType`, but it might become 
> more complex then... We would probably need to introduce something like 
> `ValidPtrPtrKernelParam` and `InvalidAddrSpacePtrPtrKernelParam`.
> 
Agreed.  I have simplified the patch a bit, by not distinguishing between the 
outer pointer-to-pointer type and any inner pointer-to-pointer types for the 
diagnostic.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D92091/new/

https://reviews.llvm.org/D92091

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

Reply via email to