forked from OSchip/llvm-project
6064f426a1
Address space conversion changes pointer representation. This commit disallows such conversions when they are not legal i.e. for the nested pointers even with compatible address spaces. Because the address space conversion in the nested levels can't be generated to modify the pointers correctly. The behavior implemented is as follows: - Any implicit conversions of nested pointers with different address spaces is rejected. - Any conversion of address spaces in nested pointers in safe casts (e.g. const_cast or static_cast) is rejected. - Conversion in low level C-style or reinterpret_cast is accepted but with a warning (this aligns with OpenCL C behavior). Fixes PR39674 Differential Revision: https://reviews.llvm.org/D73360 |
||
---|---|---|
.. | ||
address-space-castoperators.cl | ||
address-space-cond.cl | ||
address-space-deduction.cl | ||
address-space-lambda.cl | ||
address-space-of-this-class-scope.cl | ||
address-space-of-this.cl | ||
address-space-references.cl | ||
address-space-templates.cl | ||
address_space_overloading.cl | ||
addrspace-auto.cl | ||
kernel_invalid.cl | ||
method-overload-address-space.cl | ||
newdelete.cl | ||
private-access-specifier.cpp | ||
restricted.cl |