From 9efec1f11d432d9e82b3ee36e41a74e7906aafc0 Mon Sep 17 00:00:00 2001 From: Jan Vesely Date: Wed, 1 Jun 2016 18:04:53 +0000 Subject: [PATCH] Disable warning about core features by default Reviewers: Anastasia, yaxunl Differential Revision: http://reviews.llvm.org/D20744 llvm-svn: 271414 --- .../clang/Basic/DiagnosticParseKinds.td | 2 +- clang/test/Parser/opencl-atomics-cl20.cl | 2 +- clang/test/SemaOpenCL/extension-version.cl | 34 ++++++++++++++++--- .../SemaOpenCL/invalid-logical-ops-1.2.cl | 2 +- 4 files changed, 32 insertions(+), 8 deletions(-) diff --git a/clang/include/clang/Basic/DiagnosticParseKinds.td b/clang/include/clang/Basic/DiagnosticParseKinds.td index f54e3f3eaae1..8059f50c1315 100644 --- a/clang/include/clang/Basic/DiagnosticParseKinds.td +++ b/clang/include/clang/Basic/DiagnosticParseKinds.td @@ -929,7 +929,7 @@ def warn_pragma_unknown_extension : Warning< def warn_pragma_unsupported_extension : Warning< "unsupported OpenCL extension %0 - ignoring">, InGroup; def warn_pragma_extension_is_core : Warning< - "OpenCL extension %0 is core feature or supported optional core feature - ignoring">, InGroup; + "OpenCL extension %0 is core feature or supported optional core feature - ignoring">, InGroup>, DefaultIgnore; // OpenCL errors. def err_opencl_taking_function_address_parser : Error< diff --git a/clang/test/Parser/opencl-atomics-cl20.cl b/clang/test/Parser/opencl-atomics-cl20.cl index 20f969645fe0..cd37757b97f6 100644 --- a/clang/test/Parser/opencl-atomics-cl20.cl +++ b/clang/test/Parser/opencl-atomics-cl20.cl @@ -1,6 +1,6 @@ // RUN: %clang_cc1 %s -triple spir-unknown-unknown -verify -pedantic -fsyntax-only // RUN: %clang_cc1 %s -triple spir-unknown-unknown -verify -fsyntax-only -cl-std=CL2.0 -DCL20 -// RUN: %clang_cc1 %s -triple spir-unknown-unknown -verify -fsyntax-only -cl-std=CL2.0 -DCL20 -DEXT +// RUN: %clang_cc1 %s -triple spir-unknown-unknown -verify -fsyntax-only -cl-std=CL2.0 -DCL20 -DEXT -Wpedantic-core-features #ifdef EXT #pragma OPENCL EXTENSION cl_khr_int64_base_atomics:enable diff --git a/clang/test/SemaOpenCL/extension-version.cl b/clang/test/SemaOpenCL/extension-version.cl index db99499c898f..ae403aa1d193 100644 --- a/clang/test/SemaOpenCL/extension-version.cl +++ b/clang/test/SemaOpenCL/extension-version.cl @@ -2,8 +2,12 @@ // RUN: %clang_cc1 -x cl -cl-std=CL1.1 %s -verify -triple spir-unknown-unknown // RUN: %clang_cc1 -x cl -cl-std=CL1.2 %s -verify -triple spir-unknown-unknown // RUN: %clang_cc1 -x cl -cl-std=CL2.0 %s -verify -triple spir-unknown-unknown +// RUN: %clang_cc1 -x cl -cl-std=CL %s -verify -triple spir-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES +// RUN: %clang_cc1 -x cl -cl-std=CL1.1 %s -verify -triple spir-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES +// RUN: %clang_cc1 -x cl -cl-std=CL1.2 %s -verify -triple spir-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES +// RUN: %clang_cc1 -x cl -cl-std=CL2.0 %s -verify -triple spir-unknown-unknown -Wpedantic-core-features -DTEST_CORE_FEATURES -#if __OPENCL_C_VERSION__ >= 200 +#if __OPENCL_C_VERSION__ >= 200 && ! defined TEST_CORE_FEATURES // expected-no-diagnostics #endif @@ -39,56 +43,76 @@ #pragma OPENCL EXTENSION cl_khr_icd: enable // Core features in CL 1.1 -#if (__OPENCL_C_VERSION__ < 110) + #ifndef cl_khr_byte_addressable_store #error "Missing cl_khr_byte_addressable_store define" #endif #pragma OPENCL EXTENSION cl_khr_byte_addressable_store: enable +#if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES +// expected-warning@-2{{OpenCL extension 'cl_khr_byte_addressable_store' is core feature or supported optional core feature - ignoring}} +#endif #ifndef cl_khr_global_int32_base_atomics #error "Missing cl_khr_global_int32_base_atomics define" #endif #pragma OPENCL EXTENSION cl_khr_global_int32_base_atomics: enable +#if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES +// expected-warning@-2{{OpenCL extension 'cl_khr_global_int32_base_atomics' is core feature or supported optional core feature - ignoring}} +#endif #ifndef cl_khr_global_int32_extended_atomics #error "Missing cl_khr_global_int32_extended_atomics define" #endif #pragma OPENCL EXTENSION cl_khr_global_int32_extended_atomics: enable +#if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES +// expected-warning@-2{{OpenCL extension 'cl_khr_global_int32_extended_atomics' is core feature or supported optional core feature - ignoring}} +#endif #ifndef cl_khr_local_int32_base_atomics #error "Missing cl_khr_local_int32_base_atomics define" #endif #pragma OPENCL EXTENSION cl_khr_local_int32_base_atomics: enable +#if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES +// expected-warning@-2{{OpenCL extension 'cl_khr_local_int32_base_atomics' is core feature or supported optional core feature - ignoring}} +#endif #ifndef cl_khr_local_int32_extended_atomics #error "Missing cl_khr_local_int32_extended_atomics define" #endif #pragma OPENCL EXTENSION cl_khr_local_int32_extended_atomics: enable +#if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES +// expected-warning@-2{{OpenCL extension 'cl_khr_local_int32_extended_atomics' is core feature or supported optional core feature - ignoring}} +#endif +#if (__OPENCL_C_VERSION__ < 110) +// Deprecated abvoe 1.0 #ifndef cl_khr_select_fprounding_mode #error "Missing cl_khr_select_fp_rounding_mode define" #endif #pragma OPENCL EXTENSION cl_khr_select_fprounding_mode: enable - #endif + // Core feature in CL 1.2 -#if (__OPENCL_C_VERSION__ < 120) #ifndef cl_khr_fp64 #error "Missing cl_khr_fp64 define" #endif #pragma OPENCL EXTENSION cl_khr_fp64: enable +#if (__OPENCL_C_VERSION__ >= 120) && defined TEST_CORE_FEATURES +// expected-warning@-2{{OpenCL extension 'cl_khr_fp64' is core feature or supported optional core feature - ignoring}} #endif //Core feature in CL 2.0 -#if (__OPENCL_C_VERSION__ < 200) #ifndef cl_khr_3d_image_writes #error "Missing cl_khr_3d_image_writes define" #endif #pragma OPENCL EXTENSION cl_khr_3d_image_writes: enable +#if (__OPENCL_C_VERSION__ >= 200) && defined TEST_CORE_FEATURES +// expected-warning@-2{{OpenCL extension 'cl_khr_3d_image_writes' is core feature or supported optional core feature - ignoring}} #endif + #if (__OPENCL_C_VERSION__ >= 110) #ifndef cl_khr_gl_event #error "Missing cl_khr_gl_event define" diff --git a/clang/test/SemaOpenCL/invalid-logical-ops-1.2.cl b/clang/test/SemaOpenCL/invalid-logical-ops-1.2.cl index 96602ce6844a..bee52396cc6c 100644 --- a/clang/test/SemaOpenCL/invalid-logical-ops-1.2.cl +++ b/clang/test/SemaOpenCL/invalid-logical-ops-1.2.cl @@ -1,6 +1,6 @@ // RUN: %clang_cc1 %s -verify -cl-std=CL1.2 -triple x86_64-unknown-linux-gnu -#pragma OPENCL EXTENSION cl_khr_fp64 : enable // expected-warning{{OpenCL extension 'cl_khr_fp64' is core feature or supported optional core feature - ignoring}} +#pragma OPENCL EXTENSION cl_khr_fp64 : enable typedef __attribute__((ext_vector_type(4))) float float4; typedef __attribute__((ext_vector_type(4))) double double4;