Index: lib/Headers/opencl-c-common.h =================================================================== --- lib/Headers/opencl-c-common.h +++ lib/Headers/opencl-c-common.h @@ -21,9 +21,6 @@ #endif //__OPENCL_C_VERSION__ < CL_VERSION_2_0 #if __OPENCL_C_VERSION__ >= CL_VERSION_1_2 -#ifndef cl_intel_planar_yuv -#define cl_intel_planar_yuv -#endif // cl_intel_planar_yuv #pragma OPENCL EXTENSION cl_intel_planar_yuv : begin #pragma OPENCL EXTENSION cl_intel_planar_yuv : end #endif // __OPENCL_C_VERSION__ >= CL_VERSION_1_2 Index: test/Headers/opencl-c-header.cl =================================================================== --- test/Headers/opencl-c-header.cl +++ test/Headers/opencl-c-header.cl @@ -77,9 +77,6 @@ // OpenCL 1.2 onwards. #if (__OPENCL_C_VERSION__ >= CL_VERSION_1_2) // expected-no-diagnostics -#ifndef cl_intel_planar_yuv -#error "Missing cl_intel_planar_yuv define" -#endif #else //__OPENCL_C_VERSION__ // expected-warning@+2{{unknown OpenCL extension 'cl_intel_planar_yuv' - ignoring}} #endif //__OPENCL_C_VERSION__ Index: test/SemaOpenCL/extension-begin.cl =================================================================== --- test/SemaOpenCL/extension-begin.cl +++ test/SemaOpenCL/extension-begin.cl @@ -16,6 +16,13 @@ // // RUN: %clang_cc1 -cl-std=CL2.0 -DIMPLICIT_INCLUDE -include %S/extension-begin.h -triple spir-unknown-unknown -O0 -emit-llvm -o - -fmodules -fimplicit-module-maps -fmodules-cache-path=%t.modules %s -verify -pedantic +#pragma OPENCL EXTENSION my_ext : enable +#ifndef IMPLICIT_INCLUDE +// expected-warning@-2 {{unknown OpenCL extension 'my_ext' - ignoring}} +// expected-warning@+2 {{unknown OpenCL extension 'my_ext' - ignoring}} +#endif // IMPLICIT_INCLUDE +#pragma OPENCL EXTENSION my_ext : disable + #ifndef IMPLICIT_INCLUDE #include "extension-begin.h" #endif // IMPLICIT_INCLUDE @@ -31,8 +38,8 @@ f(); g(0); } +#pragma OPENCL EXTENSION my_ext : disable -#pragma OPENCL EXTENSION my_ext : disable void test_f2(void) { struct A test_A2; // expected-error {{use of type 'struct A' requires my_ext extension to be enabled}} const struct A test_A_local; // expected-error {{use of type 'struct A' requires my_ext extension to be enabled}} @@ -43,4 +50,3 @@ // expected-note@extension-begin.h:18 {{candidate unavailable as it requires OpenCL extension 'my_ext' to be enabled}} // expected-note@extension-begin.h:23 {{candidate function not viable: requires 0 arguments, but 1 was provided}} } -