pxli168 added inline comments. ================ Comment at: test/SemaOpenCL/to_addr_builtin.cl:25 @@ +24,3 @@ + glob = to_global(con); +#if __OPENCL_C_VERSION__ < CL_VERSION_2_0 + // expected-error@-2{{'to_global' needs OpenCL version 2.0 or above}} ---------------- yaxunl wrote: > pxli168 wrote: > > But in Spec OpenCL V2.0 s6.13.9 the description for to_global is: > > > > > Returns a pointer that points to a region in the global address space if > > > to_global can cast ptr to the global address space. Otherwise it returns > > > NULL. > > > I think this is only for valid call expression. For constant pointer, it is > an invalid call expression due to s6.5.5, so an error of invalid argument > should be emitted. > > If we allow passing constant pointer to this function, we violates s6.5.5. >A pointer that points to the constant address space cannot be cast or >implicitly converted to the generic address space. So if we can not cast, we maybe should return NULL? @Anastasia What do you think about this?
http://reviews.llvm.org/D19932 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits