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