[PATCH] D59646: [PR40778][PR41157][OpenCL] Prevent implicit initialization of local address space objects

Anastasia Stulova via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 25 07:26:12 PDT 2019


Anastasia marked an inline comment as done.
Anastasia added inline comments.


================
Comment at: test/CodeGenOpenCLCXX/local_addrspace_init.cl:12
+  __local int i;
+  __local C ii;
+  //FIXME: In OpenCL C we don't accept initializers for local address space variables.
----------------
bader wrote:
> Anastasia wrote:
> > bader wrote:
> > > I guess this declaration should be disallowed for non-POD types. Can we add a check for that to some test/Sema* test?
> > What should be disallowed specifically? Declaring non-POD types in the local address space?
> Something like 
> 
> ```
> class C {
>   int i = 0;
> };
> 
> kernel void test() {
>   __local C c; // error
> }
> ```
Yes, potentially we should disallow those or specify that the initialization is to be ignored. I plan to look into all of those. But for this change I am just fixing the issue reported in the bug and adding a FIXME for the future work.

Thanks!


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

https://reviews.llvm.org/D59646





More information about the cfe-commits mailing list