llvm-project/clang/test/SemaOpenCL
Anastasia Stulova 6064f426a1 [OpenCL] Restrict addr space conversions in nested pointers
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
2020-02-07 12:04:35 +00:00
..
access-qualifier.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
address-spaces-conversions-cl2.0.cl [OpenCL] Restrict addr space conversions in nested pointers 2020-02-07 12:04:35 +00:00
address-spaces.cl [OpenCL] Restrict addr space conversions in nested pointers 2020-02-07 12:04:35 +00:00
amdgpu-attrs.cl [AMDGPU] Allow using integral non-type template parameters 2019-02-26 18:49:36 +00:00
arithmetic-conversions.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
arm-integer-dot-product.cl [OpenCL] Add support for the cl_arm_integer_dot_product extensions 2019-05-24 14:53:52 +00:00
array-init.cl [NFC] Fix line endings in OpenCL tests 2019-05-17 09:25:38 +00:00
array-parameters.cl
as_type.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
atomic-init.cl
atomic-ops.cl [OpenCL] Fix inconsistency between opencl and c11 atomic fetch max/min 2019-12-27 11:29:04 -05:00
block-array-capturing.cl Revert r326937 "[OpenCL] Remove block invoke function from emitted block literal struct" 2018-10-02 13:02:24 +00:00
bool-vectors.cl
builtin.cl [OpenCL] Rename lang mode flag for C++ mode 2019-07-25 11:04:29 +00:00
builtins-amdgcn-error-ci.cl AMDGPU: Add DS GWS sema builtins 2019-06-20 21:33:57 +00:00
builtins-amdgcn-error-f16.cl
builtins-amdgcn-error-flat-address-space.cl AMDGPU: Add builtins for is_shared/is_private 2019-09-05 03:00:43 +00:00
builtins-amdgcn-error-gfx9.cl
builtins-amdgcn-error-gfx10-param.cl AMDGPU: Add some missing builtins 2019-07-17 00:01:03 +00:00
builtins-amdgcn-error-gfx10.cl AMDGPU: Add some missing builtins 2019-07-17 00:01:03 +00:00
builtins-amdgcn-error-gfx908-param.cl Add missing clang tests for 6d614a82a4 (AMDGPU MFMA built-ins) 2020-01-28 04:41:21 -05:00
builtins-amdgcn-error-vi.cl [AMDGPU] rename vi-insts into gfx8-insts 2019-04-05 18:25:00 +00:00
builtins-amdgcn-error.cl AMDGPU: add __builtin_amdgcn_update_dpp 2018-10-17 02:32:26 +00:00
cl20-device-side-enqueue.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
clang-builtin-version.cl Revert "We allow implicit function declarations as an extension in all C dialects. Remove OpenCL special case." 2018-09-24 14:21:56 +00:00
clk_event_t.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
cond.cl
convergent.cl
endian-attr.cl
event_t.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
event_t_overload.cl [Sema][OpenCL] Make address space conversions a bit stricter. 2019-05-08 14:23:49 +00:00
ext_vectors.cl
extension-begin.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
extension-begin.h [OpenCL] Fix serialization of OpenCLExtensionDecls 2018-10-29 11:14:01 +00:00
extension-version.cl [OpenCL] Fix support for cl_khr_mipmap_image_writes 2020-02-05 14:55:32 +03:00
extensions.cl [OpenCL] Rename lang mode flag for C++ mode 2019-07-25 11:04:29 +00:00
fdeclare-opencl-builtins.cl [OpenCL] Add atomic builtin functions 2019-12-23 12:29:01 +00:00
format-strings-fixit.cl [OpenGL] Fix test on PPC after r352540 2019-01-30 11:24:04 +00:00
func.cl
half.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
images.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
init.cl
intel-subgroup-avc-ext-types.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
invalid-assignment-constant-address-space.cl
invalid-block.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
invalid-constant.cl
invalid-image.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
invalid-kernel-attrs.cl Add lifetime categories attributes 2019-07-25 17:50:51 +00:00
invalid-kernel-parameters.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
invalid-kernel.cl
invalid-pipe-builtin-cl2.0.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
invalid-pipes-cl2.0.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
lit.local.cfg
logical-ops.cl DR1687: When overload resolution selects a built-in operator, implicit 2018-06-27 20:30:34 +00:00
multistep-explicit-cast.cl [Sema] Mark implicitly-inserted ICE's as being part of explicit cast (PR38166) 2018-07-24 08:16:50 +00:00
nosvm.cl
null_literal.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
null_queue.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
numbered-address-space.cl [OpenCL] Fixed printing of __private in AMDGPU test 2019-12-27 17:08:42 +00:00
pipes-1.2-negative.cl
predefined-expr.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
printf-format-string-warnings.cl OpenCL: Use length modifier for warning on vector printf arguments 2019-01-29 20:49:54 +00:00
printf-format-strings.cl OpenCL: Use length modifier for warning on vector printf arguments 2019-01-29 20:49:54 +00:00
queue_t_overload.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
sampler_t.cl [OpenCL] Move addr space deduction to Sema. 2019-11-27 12:44:42 +00:00
sampler_t_overload.cl
shifts.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
sizeof.cl
storageclass-cl20.cl
storageclass.cl
str_literals.cl
to_addr_builtin.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
types.cl
unroll-hint.cl
unsupported.cl
vec_compare.cl
vec_step.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
vector_conv_invalid.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
vector_inc_dec_ops.cl
vector_literals_invalid.cl
vector_swizzle_length.cl
warn-missing-prototypes.cl Suggestions to fix -Wmissing-{prototypes,variable-declarations} 2019-06-18 22:57:08 +00:00