Anastasia added inline comments.
================
Comment at: lib/Sema/SemaType.cpp:6872
+ ImpAddr = LangAS::opencl_private;
+ else if (IsStatic)
+ ImpAddr = LangAS::opencl_global;
----------------
yaxunl wrote:
> Anastasia wrote:
> > I think we can't have this case for CL1.2 see s6.8. But I think it could
> > happen for `extern` though.
> Right. I will remove setting implicit addr space for static var for CL1.2.
>
> For extern var, for CL2.0 I will set implicit addr space to global.
>
> However, for CL1.2 since only constant addr space is supported for file-scope
> var, I can only set the implicit addr space of an extern var to be constant.
> However I feel this may cause more confusion than convenience, therefore I
> will not set implicit addr space for extern var for CL1.2. If user does not
> use constant addr space with extern var explicitly, they will see diagnostics
> that extern var must have constant addr space. This is also the current
> behavior before my change.
Makes sense!
================
Comment at: test/SemaOpenCL/storageclass.cl:63
+ static float l_implicit_static_var = 0; // expected-error
{{variables in function scope cannot be declared static}}
+ static constant float l_constant_static_var = 0; // expected-error
{{variables in function scope cannot be declared static}}
+ static global float l_global_static_var = 0; // expected-error
{{variables in function scope cannot be declared static}}
----------------
Does it make sense to put different address spaces here since this code is
rejected earlier anyway?
https://reviews.llvm.org/D35082
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits