Hi,

Could the two bool isAddressSpaceOverlapping() methods share
code somehow?

Otherwise LGTM (but I'm still learning the Clang code base!).

On 11/11/2014 08:13 PM, Anastasia Stulova wrote:
Hello,

In this patch I added restrictions for conversions of pointers to different
address spaces as explained below.

OpenCLv2.0 C spec s6.5 adds __generic (unnamed) address space to be used as a
place holder in case an address space is not known statically or multiple are
intended to be used with the same fragment of code.

All named address spaces (that existed in the previous OpenCL standards)
except for __constant are subset of __generic one. Conversions between
pointers of different address spaces are regulated by rules in s6.5.5 as 
follows:

-The named address spaces  ( __global, __local, and __private) can be
converted to __generic implicitly. Generic -> named can only be done with an
explicit cast.

-Conversions between pointers of named address spaces are  not allowed.

-A pointer to the __constant address space can only be converted to a pointer
to the  __constant address space (either by an implicit cast or by an explicit
one).

This patch depends on the change submitted previously:

https://www.mail-archive.com/[email protected]/msg109232.html

Thanks,

Anastasia



_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits



--
Pekka
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to