Home | History | Annotate | Download | only in Misc
      1 // REQUIRES: amdgpu-registered-target
      2 // RUN: %clang_cc1 -x cl -cl-std=CL %s -verify -triple amdgcn-unknown-unknown
      3 // RUN: %clang_cc1 -x cl -cl-std=CL1.1 %s -verify -triple amdgcn-unknown-unknown
      4 // RUN: %clang_cc1 -x cl -cl-std=CL1.2 %s -verify -triple amdgcn-unknown-unknown
      5 // RUN: %clang_cc1 -x cl -cl-std=CL2.0 %s -verify -triple amdgcn-unknown-unknown
      6 // RUN: %clang_cc1 -x cl -cl-std=CL %s -verify -triple amdgcn-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES
      7 // RUN: %clang_cc1 -x cl -cl-std=CL1.1 %s -verify -triple amdgcn-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES
      8 // RUN: %clang_cc1 -x cl -cl-std=CL1.2 %s -verify -triple amdgcn-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES
      9 // RUN: %clang_cc1 -x cl -cl-std=CL2.0 %s -verify -triple amdgcn-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES
     10 
     11 // Extensions in all versions
     12 #ifndef cl_clang_storage_class_specifiers
     13 #error "Missing cl_clang_storage_class_specifiers define"
     14 #endif
     15 #pragma OPENCL EXTENSION cl_clang_storage_class_specifiers: enable
     16 
     17 #ifndef cl_khr_fp16
     18 #error "Missing cl_khr_fp16 define"
     19 #endif
     20 #pragma OPENCL EXTENSION cl_khr_fp16: enable
     21 
     22 #ifndef cl_khr_int64_base_atomics
     23 #error "Missing cl_khr_int64_base_atomics define"
     24 #endif
     25 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics: enable
     26 
     27 #ifndef cl_khr_int64_extended_atomics
     28 #error "Missing cl_khr_int64_extended_atomics define"
     29 #endif
     30 #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics: enable
     31 
     32 #ifdef cl_khr_gl_sharing
     33 #error "Incorrect cl_khr_gl_sharing define"
     34 #endif
     35 #pragma OPENCL EXTENSION cl_khr_gl_sharing: enable
     36 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_gl_sharing' - ignoring}}
     37 
     38 #ifndef cl_khr_icd
     39 #error "Missing cl_khr_icd define"
     40 #endif
     41 #pragma OPENCL EXTENSION cl_khr_icd: enable
     42 
     43 // Core features in CL 1.1
     44 
     45 #ifndef cl_khr_byte_addressable_store
     46 #error "Missing cl_khr_byte_addressable_store define"
     47 #endif
     48 #pragma OPENCL EXTENSION cl_khr_byte_addressable_store: enable
     49 #if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES
     50 // expected-warning@-2{{OpenCL extension 'cl_khr_byte_addressable_store' is core feature or supported optional core feature - ignoring}}
     51 #endif
     52 
     53 #ifndef cl_khr_global_int32_base_atomics
     54 #error "Missing cl_khr_global_int32_base_atomics define"
     55 #endif
     56 #pragma OPENCL EXTENSION cl_khr_global_int32_base_atomics: enable
     57 #if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES
     58 // expected-warning@-2{{OpenCL extension 'cl_khr_global_int32_base_atomics' is core feature or supported optional core feature - ignoring}}
     59 #endif
     60 
     61 #ifndef cl_khr_global_int32_extended_atomics
     62 #error "Missing cl_khr_global_int32_extended_atomics define"
     63 #endif
     64 #pragma OPENCL EXTENSION cl_khr_global_int32_extended_atomics: enable
     65 #if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES
     66 // expected-warning@-2{{OpenCL extension 'cl_khr_global_int32_extended_atomics' is core feature or supported optional core feature - ignoring}}
     67 #endif
     68 
     69 #ifndef cl_khr_local_int32_base_atomics
     70 #error "Missing cl_khr_local_int32_base_atomics define"
     71 #endif
     72 #pragma OPENCL EXTENSION cl_khr_local_int32_base_atomics: enable
     73 #if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES
     74 // expected-warning@-2{{OpenCL extension 'cl_khr_local_int32_base_atomics' is core feature or supported optional core feature - ignoring}}
     75 #endif
     76 
     77 #ifndef cl_khr_local_int32_extended_atomics
     78 #error "Missing cl_khr_local_int32_extended_atomics define"
     79 #endif
     80 #pragma OPENCL EXTENSION cl_khr_local_int32_extended_atomics: enable
     81 #if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES
     82 // expected-warning@-2{{OpenCL extension 'cl_khr_local_int32_extended_atomics' is core feature or supported optional core feature - ignoring}}
     83 #endif
     84 
     85 #ifdef cl_khr_select_fprounding_mode
     86 #error "Incorrect cl_khr_select_fprounding_mode define"
     87 #endif
     88 #pragma OPENCL EXTENSION cl_khr_select_fprounding_mode: enable
     89 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_select_fprounding_mode' - ignoring}}
     90 
     91 
     92 // Core feature in CL 1.2
     93 #ifndef cl_khr_fp64
     94 #error "Missing cl_khr_fp64 define"
     95 #endif
     96 #pragma OPENCL EXTENSION cl_khr_fp64: enable
     97 #if (__OPENCL_C_VERSION__ >= 120) && defined TEST_CORE_FEATURES
     98 // expected-warning@-2{{OpenCL extension 'cl_khr_fp64' is core feature or supported optional core feature - ignoring}}
     99 #endif
    100 
    101 //Core feature in CL 2.0
    102 #ifndef cl_khr_3d_image_writes
    103 #error "Missing cl_khr_3d_image_writes define"
    104 #endif
    105 #pragma OPENCL EXTENSION cl_khr_3d_image_writes: enable
    106 #if (__OPENCL_C_VERSION__ >= 200) && defined TEST_CORE_FEATURES
    107 // expected-warning@-2{{OpenCL extension 'cl_khr_3d_image_writes' is core feature or supported optional core feature - ignoring}}
    108 #endif
    109 
    110 
    111 
    112 #ifdef cl_khr_gl_event
    113 #error "Incorrect cl_khr_gl_event define"
    114 #endif
    115 #pragma OPENCL EXTENSION cl_khr_gl_event: enable
    116 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_gl_event' - ignoring}}
    117 
    118 #ifdef cl_khr_d3d10_sharing
    119 #error "Incorrect cl_khr_d3d10_sharing define"
    120 #endif
    121 #pragma OPENCL EXTENSION cl_khr_d3d10_sharing: enable
    122 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_d3d10_sharing' - ignoring}}
    123 
    124 #ifdef cl_khr_context_abort
    125 #error "Incorrect cl_context_abort define"
    126 #endif
    127 #pragma OPENCL EXTENSION cl_khr_context_abort: enable
    128 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_context_abort' - ignoring}}
    129 
    130 #ifdef cl_khr_d3d11_sharing
    131 #error "Incorrect cl_khr_d3d11_sharing define"
    132 #endif
    133 #pragma OPENCL EXTENSION cl_khr_d3d11_sharing: enable
    134 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_d3d11_sharing' - ignoring}}
    135 
    136 #ifdef cl_khr_dx9_media_sharing
    137 #error "Incorrect cl_khr_dx9_media_sharing define"
    138 #endif
    139 #pragma OPENCL EXTENSION cl_khr_dx9_media_sharing: enable
    140 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_dx9_media_sharing' - ignoring}}
    141 
    142 #ifdef cl_khr_image2d_from_buffer
    143 #error "Incorrect cl_khr_image2d_from_buffer define"
    144 #endif
    145 #pragma OPENCL EXTENSION cl_khr_image2d_from_buffer: enable
    146 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_image2d_from_buffer' - ignoring}}
    147 
    148 #ifdef cl_khr_initialize_memory
    149 #error "Incorrect cl_khr_initialize_memory define"
    150 #endif
    151 #pragma OPENCL EXTENSION cl_khr_initialize_memory: enable
    152 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_initialize_memory' - ignoring}}
    153 
    154 #ifdef cl_khr_gl_depth_images
    155 #error "Incorrect cl_khr_gl_depth_images define"
    156 #endif
    157 #pragma OPENCL EXTENSION cl_khr_gl_depth_images: enable
    158 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_gl_depth_images' - ignoring}}
    159 
    160 #ifdef cl_khr_gl_msaa_sharing
    161 #error "Incorrect cl_khr_gl_msaa_sharing define"
    162 #endif
    163 #pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing: enable
    164 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_gl_msaa_sharing' - ignoring}}
    165 
    166 #ifdef cl_khr_spir
    167 #error "Incorrect cl_khr_spir define"
    168 #endif
    169 #pragma OPENCL EXTENSION cl_khr_spir: enable
    170 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_spir' - ignoring}}
    171 
    172 #ifdef cl_khr_egl_event
    173 #error "Incorrect cl_khr_egl_event define"
    174 #endif
    175 #pragma OPENCL EXTENSION cl_khr_egl_event: enable
    176 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_egl_event' - ignoring}}
    177 
    178 #ifdef cl_khr_egl_image
    179 #error "Incorrect cl_khr_egl_image define"
    180 #endif
    181 #pragma OPENCL EXTENSION cl_khr_egl_image: enable
    182 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_egl_image' - ignoring}}
    183 
    184 #ifdef cl_khr_srgb_image_writes
    185 #error "Incorrect cl_khr_srgb_image_writes define"
    186 #endif
    187 #pragma OPENCL EXTENSION cl_khr_srgb_image_writes: enable
    188 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_srgb_image_writes' - ignoring}}
    189 
    190 #ifdef cl_khr_subgroups
    191 #error "Incorrect cl_khr_subgroups define"
    192 #endif
    193 #pragma OPENCL EXTENSION cl_khr_subgroups: enable
    194 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_subgroups' - ignoring}}
    195 
    196 #ifdef cl_khr_terminate_context
    197 #error "Incorrect cl_khr_terminate_context define"
    198 #endif
    199 #pragma OPENCL EXTENSION cl_khr_terminate_context: enable
    200 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_terminate_context' - ignoring}}
    201