[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 05:39:15 PDT 2019
Anastasia added inline comments.
================
Comment at: lib/Sema/SemaDecl.cpp:11648-11651
+ // In OpenCL we don't allow to initialize objects in local address space.
+ if (getLangOpts().OpenCL &&
+ Var->getType().getAddressSpace() == LangAS::opencl_local)
+ return;
----------------
bader wrote:
> Shouldn't we invalidate Var declaration?
This early exit is to prevent adding default initializer implicitly to the declarations that are valid.
================
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:
> 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?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D59646/new/
https://reviews.llvm.org/D59646
More information about the cfe-commits
mailing list