Author: yaxunl Date: Fri May 13 12:16:26 2016 New Revision: 269435 URL: http://llvm.org/viewvc/llvm-project?rev=269435&view=rev Log: Revert "[OpenCL] Add supported OpenCL extensions to target info."
Revert r269431 due to build failure caused by warning msg: llvm/tools/clang/lib/Basic/Targets.cpp:2090:9: error: 'setSupportedOpenCLOpts' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override] void setSupportedOpenCLOpts() { Added: cfe/trunk/test/SemaOpenCL/extension-fp64-cl1.1.cl - copied unchanged from r269430, cfe/trunk/test/SemaOpenCL/extension-fp64-cl1.1.cl cfe/trunk/test/SemaOpenCL/extension-fp64.cl - copied unchanged from r269430, cfe/trunk/test/SemaOpenCL/extension-fp64.cl cfe/trunk/test/SemaOpenCL/optional-core-fp64-cl1.2.cl - copied unchanged from r269430, cfe/trunk/test/SemaOpenCL/optional-core-fp64-cl1.2.cl cfe/trunk/test/SemaOpenCL/optional-core-fp64-cl2.0.cl - copied unchanged from r269430, cfe/trunk/test/SemaOpenCL/optional-core-fp64-cl2.0.cl Removed: cfe/trunk/include/clang/Basic/OpenCLOptions.h cfe/trunk/test/SemaOpenCL/extensions.cl Modified: cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td cfe/trunk/include/clang/Basic/LangOptions.h cfe/trunk/include/clang/Basic/OpenCLExtensions.def cfe/trunk/include/clang/Basic/TargetInfo.h cfe/trunk/include/clang/Basic/TargetOptions.h cfe/trunk/lib/Basic/Targets.cpp cfe/trunk/lib/Frontend/InitPreprocessor.cpp cfe/trunk/lib/Parse/ParsePragma.cpp cfe/trunk/lib/Sema/Sema.cpp cfe/trunk/test/CodeGenOpenCL/builtins-r600.cl cfe/trunk/test/CodeGenOpenCL/fpmath.cl cfe/trunk/test/CodeGenOpenCL/half.cl cfe/trunk/test/Lexer/opencl-half-literal.cl cfe/trunk/test/Misc/languageOptsOpenCL.cl cfe/trunk/test/PCH/opencl-extensions.cl cfe/trunk/test/Parser/opencl-astype.cl cfe/trunk/test/Parser/opencl-atomics-cl20.cl cfe/trunk/test/Parser/opencl-pragma.cl cfe/trunk/test/Parser/opencl-storage-class.cl cfe/trunk/test/SemaOpenCL/half.cl cfe/trunk/test/SemaOpenCL/invalid-kernel-parameters.cl cfe/trunk/test/SemaOpenCL/invalid-logical-ops-1.2.cl Modified: cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td (original) +++ cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td Fri May 13 12:16:26 2016 @@ -926,10 +926,6 @@ def warn_pragma_expected_enable_disable "expected 'enable' or 'disable' - ignoring">, InGroup<IgnoredPragmas>; def warn_pragma_unknown_extension : Warning< "unknown OpenCL extension %0 - ignoring">, InGroup<IgnoredPragmas>; -def warn_pragma_unsupported_extension : Warning< - "unsupported OpenCL extension %0 - ignoring">, InGroup<IgnoredPragmas>; -def warn_pragma_extension_is_core : Warning< - "OpenCL extension %0 is core feature or supported optional core feature - ignoring">, InGroup<IgnoredPragmas>; // OpenCL errors. def err_opencl_taking_function_address_parser : Error< Modified: cfe/trunk/include/clang/Basic/LangOptions.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/LangOptions.h?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/LangOptions.h (original) +++ cfe/trunk/include/clang/Basic/LangOptions.h Fri May 13 12:16:26 2016 @@ -160,6 +160,18 @@ public: fp_contract(LangOpts.DefaultFPContract) {} }; +/// \brief OpenCL volatile options +class OpenCLOptions { +public: +#define OPENCLEXT(nm) unsigned nm : 1; +#include "clang/Basic/OpenCLExtensions.def" + + OpenCLOptions() { +#define OPENCLEXT(nm) nm = 0; +#include "clang/Basic/OpenCLExtensions.def" + } +}; + /// \brief Describes the kind of translation unit being processed. enum TranslationUnitKind { /// \brief The translation unit is a complete translation unit. Modified: cfe/trunk/include/clang/Basic/OpenCLExtensions.def URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/OpenCLExtensions.def?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/OpenCLExtensions.def (original) +++ cfe/trunk/include/clang/Basic/OpenCLExtensions.def Fri May 13 12:16:26 2016 @@ -11,67 +11,25 @@ // //===----------------------------------------------------------------------===// -// Macro OPENCLEXT or OPENCLEXT_INTERNAL can be defined to enumerate the -// OpenCL extensions listed in this file. -// -// If the extensions are to be enumerated without the supported OpenCL version, -// define OPENCLEXT(ext) where ext is the name of the extension. -// -// If the extensions are to be enumerated with supported OpenCL version, -// define OPENCLEXT_INTERNAL(ext, avail, core) where -// ext - name of the extension or optional core feature. -// avail - minimum OpenCL version supporting it. -// core - minimum OpenCL version when the extension becomes optional core -// feature or core feature. ~0U indicates not a core feature or an -// optional core feature. - -#ifndef OPENCLEXT_INTERNAL -#ifndef OPENCLEXT -#pragma error "macro OPENCLEXT or OPENCLEXT_INTERNAL is required" -#else -#define OPENCLEXT_INTERNAL(ext, ...) OPENCLEXT(ext) -#endif // OPENCLEXT -#endif // OPENCLEXT_INTERNAL - -// OpenCL 1.0. -OPENCLEXT_INTERNAL(cl_khr_3d_image_writes, 100, 120) -OPENCLEXT_INTERNAL(cl_khr_byte_addressable_store, 100, 110) -OPENCLEXT_INTERNAL(cl_khr_fp16, 100, ~0U) -OPENCLEXT_INTERNAL(cl_khr_fp64, 100, 120) -OPENCLEXT_INTERNAL(cl_khr_global_int32_base_atomics, 100, 110) -OPENCLEXT_INTERNAL(cl_khr_global_int32_extended_atomics, 100, 110) -OPENCLEXT_INTERNAL(cl_khr_gl_sharing, 100, ~0U) -OPENCLEXT_INTERNAL(cl_khr_icd, 100, ~0U) -OPENCLEXT_INTERNAL(cl_khr_local_int32_base_atomics, 100, 110) -OPENCLEXT_INTERNAL(cl_khr_local_int32_extended_atomics, 100, 110) - // OpenCL 1.1. -OPENCLEXT_INTERNAL(cl_khr_d3d10_sharing, 110, ~0U) -OPENCLEXT_INTERNAL(cl_khr_gl_event, 110, ~0U) -OPENCLEXT_INTERNAL(cl_khr_int64_base_atomics, 110, ~0U) -OPENCLEXT_INTERNAL(cl_khr_int64_extended_atomics, 110, ~0U) - -// OpenCL 1.2. -OPENCLEXT_INTERNAL(cl_khr_d3d11_sharing, 120, ~0U) -OPENCLEXT_INTERNAL(cl_khr_depth_images, 120, ~0U) -OPENCLEXT_INTERNAL(cl_khr_dx9_media_sharing, 120, ~0U) -OPENCLEXT_INTERNAL(cl_khr_gl_depth_images, 120, ~0U) -OPENCLEXT_INTERNAL(cl_khr_spir, 120, ~0U) +OPENCLEXT(cl_khr_fp64) +OPENCLEXT(cl_khr_int64_base_atomics) +OPENCLEXT(cl_khr_int64_extended_atomics) +OPENCLEXT(cl_khr_fp16) +OPENCLEXT(cl_khr_gl_sharing) +OPENCLEXT(cl_khr_gl_event) +OPENCLEXT(cl_khr_d3d10_sharing) +OPENCLEXT(cl_khr_global_int32_base_atomics) +OPENCLEXT(cl_khr_global_int32_extended_atomics) +OPENCLEXT(cl_khr_local_int32_base_atomics) +OPENCLEXT(cl_khr_local_int32_extended_atomics) +OPENCLEXT(cl_khr_byte_addressable_store) +OPENCLEXT(cl_khr_3d_image_writes) -// OpenCL 2.0. -OPENCLEXT_INTERNAL(cl_khr_egl_event, 200, ~0U) -OPENCLEXT_INTERNAL(cl_khr_egl_image, 200, ~0U) -OPENCLEXT_INTERNAL(cl_khr_gl_msaa_sharing, 200, ~0U) -OPENCLEXT_INTERNAL(cl_khr_initialize_memory, 200, ~0U) -OPENCLEXT_INTERNAL(cl_khr_srgb_image_writes, 200, ~0U) -OPENCLEXT_INTERNAL(cl_khr_subgroups, 200, ~0U) -OPENCLEXT_INTERNAL(cl_khr_terminate_context, 200, ~0U) +// OpenCL 2.0 +OPENCLEXT(cl_khr_gl_msaa_sharing) // Clang Extensions. -OPENCLEXT_INTERNAL(cl_clang_storage_class_specifiers, 100, ~0U) - -#undef OPENCLEXT_INTERNAL +OPENCLEXT(cl_clang_storage_class_specifiers) -#ifdef OPENCLEXT #undef OPENCLEXT -#endif Removed: cfe/trunk/include/clang/Basic/OpenCLOptions.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/OpenCLOptions.h?rev=269434&view=auto ============================================================================== --- cfe/trunk/include/clang/Basic/OpenCLOptions.h (original) +++ cfe/trunk/include/clang/Basic/OpenCLOptions.h (removed) @@ -1,68 +0,0 @@ -//===--- OpenCLOptions.h ----------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -/// -/// \file -/// \brief Defines the clang::OpenCLOptions class. -/// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_CLANG_BASIC_OPENCLOPTIONS_H -#define LLVM_CLANG_BASIC_OPENCLOPTIONS_H - -#include <string> -#include <vector> - -namespace clang { - -/// \brief OpenCL supported extensions and optional core features -class OpenCLOptions { -public: -#define OPENCLEXT(nm) unsigned nm : 1; -#include "clang/Basic/OpenCLExtensions.def" - - OpenCLOptions() { -#define OPENCLEXT(nm) nm = 0; -#include "clang/Basic/OpenCLExtensions.def" - } - - // Enable all options. - void setAll() { -#define OPENCLEXT(nm) nm = 1; -#include "clang/Basic/OpenCLExtensions.def" - } - - // Is supported with OpenCL version \p OCLVer. -#define OPENCLEXT_INTERNAL(Ext, Avail, ...) \ - bool is_##Ext##_supported(unsigned OCLVer) const { \ - return Ext && OCLVer >= Avail; \ - } -#include "clang/Basic/OpenCLExtensions.def" - - - // Is supported OpenCL extension with OpenCL version \p OCLVer. - // For supported optional core feature, return false. -#define OPENCLEXT_INTERNAL(Ext, Avail, Core) \ - bool is_##Ext##_supported_extension(unsigned CLVer) const { \ - return is_##Ext##_supported(CLVer) && (Core == ~0U || CLVer < Core); \ - } -#include "clang/Basic/OpenCLExtensions.def" - - // Is supported OpenCL core features with OpenCL version \p OCLVer. - // For supported extension, return false. -#define OPENCLEXT_INTERNAL(Ext, Avail, Core) \ - bool is_##Ext##_supported_core(unsigned CLVer) const { \ - return is_##Ext##_supported(CLVer) && Core != ~0U && CLVer >= Core; \ - } -#include "clang/Basic/OpenCLExtensions.def" - -}; - -} // end namespace clang - -#endif Modified: cfe/trunk/include/clang/Basic/TargetInfo.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/TargetInfo.h?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/TargetInfo.h (original) +++ cfe/trunk/include/clang/Basic/TargetInfo.h Fri May 13 12:16:26 2016 @@ -969,19 +969,6 @@ public: /// \brief Whether target allows to overalign ABI-specified prefered alignment virtual bool allowsLargerPreferedTypeAlignment() const { return true; } - /// \brief Set supported OpenCL extensions and optional core features. - virtual void setSupportedOpenCLOpts() {} - - /// \brief Get supported OpenCL extensions and optional core features. - OpenCLOptions &getSupportedOpenCLOpts() { - return getTargetOpts().SupportedOpenCLOptions; - } - - /// \brief Get const supported OpenCL extensions and optional core features. - const OpenCLOptions &getSupportedOpenCLOpts() const { - return getTargetOpts().SupportedOpenCLOptions; - } - protected: virtual uint64_t getPointerWidthV(unsigned AddrSpace) const { return PointerWidth; Modified: cfe/trunk/include/clang/Basic/TargetOptions.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/TargetOptions.h?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/TargetOptions.h (original) +++ cfe/trunk/include/clang/Basic/TargetOptions.h Fri May 13 12:16:26 2016 @@ -17,7 +17,6 @@ #include <string> #include <vector> -#include "clang/Basic/OpenCLOptions.h" namespace clang { @@ -55,9 +54,6 @@ public: std::vector<std::string> Features; std::vector<std::string> Reciprocals; - - /// Supported OpenCL extensions and optional core features. - OpenCLOptions SupportedOpenCLOptions; }; } // end namespace clang Modified: cfe/trunk/lib/Basic/Targets.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/lib/Basic/Targets.cpp (original) +++ cfe/trunk/lib/Basic/Targets.cpp Fri May 13 12:16:26 2016 @@ -1999,6 +1999,17 @@ public: Builder.defineMacro("__HAS_FMAF__"); if (hasLDEXPF) Builder.defineMacro("__HAS_LDEXPF__"); + if (hasFP64 && Opts.OpenCL) + Builder.defineMacro("cl_khr_fp64"); + if (Opts.OpenCL) { + if (GPU >= GK_NORTHERN_ISLANDS) { + Builder.defineMacro("cl_khr_byte_addressable_store"); + Builder.defineMacro("cl_khr_global_int32_base_atomics"); + Builder.defineMacro("cl_khr_global_int32_extended_atomics"); + Builder.defineMacro("cl_khr_local_int32_base_atomics"); + Builder.defineMacro("cl_khr_local_int32_extended_atomics"); + } + } } BuiltinVaListKind getBuiltinVaListKind() const override { @@ -2086,31 +2097,6 @@ public: return true; } - - void setSupportedOpenCLOpts() { - auto &Opts = getSupportedOpenCLOpts(); - Opts.cl_clang_storage_class_specifiers = 1; - Opts.cl_khr_gl_sharing = 1; - Opts.cl_khr_gl_event = 1; - Opts.cl_khr_d3d10_sharing = 1; - Opts.cl_khr_subgroups = 1; - - if (hasFP64) - Opts.cl_khr_fp64 = 1; - if (GPU >= GK_NORTHERN_ISLANDS) { - Opts.cl_khr_byte_addressable_store = 1; - Opts.cl_khr_global_int32_base_atomics = 1; - Opts.cl_khr_global_int32_extended_atomics = 1; - Opts.cl_khr_local_int32_base_atomics = 1; - Opts.cl_khr_local_int32_extended_atomics = 1; - } - if (GPU >= GK_SOUTHERN_ISLANDS) - Opts.cl_khr_fp16 = 1; - Opts.cl_khr_int64_base_atomics = 1; - Opts.cl_khr_int64_extended_atomics = 1; - Opts.cl_khr_3d_image_writes = 1; - Opts.cl_khr_gl_msaa_sharing = 1; - } }; const Builtin::Info AMDGPUTargetInfo::BuiltinInfo[] = { @@ -2730,10 +2716,6 @@ public: bool hasSjLjLowering() const override { return true; } - - void setSupportedOpenCLOpts() { - getSupportedOpenCLOpts().setAll(); - } }; bool X86TargetInfo::setFPMath(StringRef Name) { @@ -7876,12 +7858,6 @@ public: CallingConv getDefaultCallingConv(CallingConvMethodType MT) const override { return CC_SpirFunction; } - - void setSupportedOpenCLOpts() { - // Assume all OpenCL extensions and optional core features are supported - // for SPIR since it is a generic target. - getSupportedOpenCLOpts().setAll(); - } }; class SPIR32TargetInfo : public SPIRTargetInfo { @@ -8482,7 +8458,5 @@ TargetInfo::CreateTargetInfo(Diagnostics if (!Target->handleTargetFeatures(Opts->Features, Diags)) return nullptr; - Target->setSupportedOpenCLOpts(); - return Target.release(); } Modified: cfe/trunk/lib/Frontend/InitPreprocessor.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/InitPreprocessor.cpp?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/lib/Frontend/InitPreprocessor.cpp (original) +++ cfe/trunk/lib/Frontend/InitPreprocessor.cpp Fri May 13 12:16:26 2016 @@ -938,15 +938,6 @@ static void InitializePredefinedMacros(c Builder.defineMacro("__CUDA_ARCH__"); } - // OpenCL definitions. - if (LangOpts.OpenCL) { -#define OPENCLEXT(Ext) \ - if (TI.getSupportedOpenCLOpts().is_##Ext##_supported( \ - LangOpts.OpenCLVersion)) \ - Builder.defineMacro(#Ext); -#include "clang/Basic/OpenCLExtensions.def" - } - // Get other target #defines. TI.getTargetDefines(LangOpts, Builder); } Modified: cfe/trunk/lib/Parse/ParsePragma.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParsePragma.cpp?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/lib/Parse/ParsePragma.cpp (original) +++ cfe/trunk/lib/Parse/ParsePragma.cpp Fri May 13 12:16:26 2016 @@ -468,24 +468,14 @@ void Parser::HandlePragmaOpenCLExtension ConsumeToken(); // The annotation token. OpenCLOptions &f = Actions.getOpenCLOptions(); - auto CLVer = getLangOpts().OpenCLVersion; - auto &Supp = getTargetInfo().getSupportedOpenCLOpts(); // OpenCL 1.1 9.1: "The all variant sets the behavior for all extensions, // overriding all previously issued extension directives, but only if the // behavior is set to disable." if (state == 0 && ename->isStr("all")) { -#define OPENCLEXT(nm) \ - if (Supp.is_##nm##_supported_extension(CLVer)) \ - f.nm = 0; +#define OPENCLEXT(nm) f.nm = 0; #include "clang/Basic/OpenCLExtensions.def" } -#define OPENCLEXT(nm) else if (ename->isStr(#nm)) \ - if (Supp.is_##nm##_supported_extension(CLVer)) \ - f.nm = state; \ - else if (Supp.is_##nm##_supported_core(CLVer)) \ - PP.Diag(NameLoc, diag::warn_pragma_extension_is_core) << ename; \ - else \ - PP.Diag(NameLoc, diag::warn_pragma_unsupported_extension) << ename; +#define OPENCLEXT(nm) else if (ename->isStr(#nm)) { f.nm = state; } #include "clang/Basic/OpenCLExtensions.def" else { PP.Diag(NameLoc, diag::warn_pragma_unknown_extension) << ename; Modified: cfe/trunk/lib/Sema/Sema.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/Sema.cpp?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/lib/Sema/Sema.cpp (original) +++ cfe/trunk/lib/Sema/Sema.cpp Fri May 13 12:16:26 2016 @@ -207,14 +207,8 @@ void Sema::Initialize() { addImplicitTypedef("size_t", Context.getSizeType()); } - // Initialize predefined OpenCL types and supported optional core features. + // Initialize predefined OpenCL types. if (getLangOpts().OpenCL) { -#define OPENCLEXT(Ext) \ - if (Context.getTargetInfo().getSupportedOpenCLOpts().is_##Ext##_supported_core( \ - getLangOpts().OpenCLVersion)) \ - getOpenCLOptions().Ext = 1; -#include "clang/Basic/OpenCLExtensions.def" - addImplicitTypedef("sampler_t", Context.OCLSamplerTy); addImplicitTypedef("event_t", Context.OCLEventTy); if (getLangOpts().OpenCLVersion >= 200) { Modified: cfe/trunk/test/CodeGenOpenCL/builtins-r600.cl URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenOpenCL/builtins-r600.cl?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/test/CodeGenOpenCL/builtins-r600.cl (original) +++ cfe/trunk/test/CodeGenOpenCL/builtins-r600.cl Fri May 13 12:16:26 2016 @@ -1,5 +1,5 @@ // REQUIRES: amdgpu-registered-target -// RUN: %clang_cc1 -triple r600-unknown-unknown -target-cpu rv670 -S -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -triple r600-unknown-unknown -S -emit-llvm -o - %s | FileCheck %s #pragma OPENCL EXTENSION cl_khr_fp64 : enable Modified: cfe/trunk/test/CodeGenOpenCL/fpmath.cl URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenOpenCL/fpmath.cl?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/test/CodeGenOpenCL/fpmath.cl (original) +++ cfe/trunk/test/CodeGenOpenCL/fpmath.cl Fri May 13 12:16:26 2016 @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - -triple spir-unknown-unknown | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s typedef __attribute__(( ext_vector_type(4) )) float float4; Modified: cfe/trunk/test/CodeGenOpenCL/half.cl URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenOpenCL/half.cl?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/test/CodeGenOpenCL/half.cl (original) +++ cfe/trunk/test/CodeGenOpenCL/half.cl Fri May 13 12:16:26 2016 @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - -triple spir-unknown-unknown | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s #pragma OPENCL EXTENSION cl_khr_fp16 : enable Modified: cfe/trunk/test/Lexer/opencl-half-literal.cl URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Lexer/opencl-half-literal.cl?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/test/Lexer/opencl-half-literal.cl (original) +++ cfe/trunk/test/Lexer/opencl-half-literal.cl Fri May 13 12:16:26 2016 @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -fsyntax-only -verify -triple spir-unknown-unknown +// RUN: %clang_cc1 %s -fsyntax-only -verify #pragma OPENCL EXTENSION cl_khr_fp16 : enable Modified: cfe/trunk/test/Misc/languageOptsOpenCL.cl URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Misc/languageOptsOpenCL.cl?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/test/Misc/languageOptsOpenCL.cl (original) +++ cfe/trunk/test/Misc/languageOptsOpenCL.cl Fri May 13 12:16:26 2016 @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -x cl %s -verify -triple spir-unknown-unknown +// RUN: %clang_cc1 -x cl %s -verify // expected-no-diagnostics // Test the forced language options for OpenCL are set correctly. Modified: cfe/trunk/test/PCH/opencl-extensions.cl URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/opencl-extensions.cl?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/test/PCH/opencl-extensions.cl (original) +++ cfe/trunk/test/PCH/opencl-extensions.cl Fri May 13 12:16:26 2016 @@ -1,5 +1,5 @@ -// RUN: %clang_cc1 -emit-pch -o %t %s -triple spir-unknown-unknown -// RUN: %clang_cc1 -include-pch %t -fsyntax-only %s -triple spir-unknown-unknown +// RUN: %clang_cc1 -emit-pch -o %t %s +// RUN: %clang_cc1 -include-pch %t -fsyntax-only %s #ifndef HEADER #define HEADER Modified: cfe/trunk/test/Parser/opencl-astype.cl URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Parser/opencl-astype.cl?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/test/Parser/opencl-astype.cl (original) +++ cfe/trunk/test/Parser/opencl-astype.cl Fri May 13 12:16:26 2016 @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fsyntax-only -verify %s -triple spir-unknown-unknown +// RUN: %clang_cc1 -fsyntax-only -verify %s #pragma OPENCL EXTENSION cl_khr_fp64 : enable void test_astype() { Modified: cfe/trunk/test/Parser/opencl-atomics-cl20.cl URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Parser/opencl-atomics-cl20.cl?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/test/Parser/opencl-atomics-cl20.cl (original) +++ cfe/trunk/test/Parser/opencl-atomics-cl20.cl Fri May 13 12:16:26 2016 @@ -1,14 +1,11 @@ -// 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 -verify -pedantic -fsyntax-only +// RUN: %clang_cc1 %s -verify -fsyntax-only -cl-std=CL2.0 -DCL20 +// RUN: %clang_cc1 %s -verify -fsyntax-only -cl-std=CL2.0 -DCL20 -DEXT #ifdef EXT #pragma OPENCL EXTENSION cl_khr_int64_base_atomics:enable #pragma OPENCL EXTENSION cl_khr_int64_extended_atomics:enable #pragma OPENCL EXTENSION cl_khr_fp64:enable -#if __OPENCL_C_VERSION__ >= CL_VERSION_1_2 -// expected-warning@-2{{OpenCL extension 'cl_khr_fp64' is core feature or supported optional core feature - ignoring}} -#endif #endif void atomic_types_test() { @@ -47,14 +44,15 @@ void atomic_types_test() { // expected-error@-28 {{use of type 'atomic_ulong' (aka '_Atomic(unsigned long)') requires cl_khr_int64_extended_atomics extension to be enabled}} // expected-error@-27 {{use of type 'atomic_double' (aka '_Atomic(double)') requires cl_khr_int64_base_atomics extension to be enabled}} // expected-error@-28 {{use of type 'atomic_double' (aka '_Atomic(double)') requires cl_khr_int64_extended_atomics extension to be enabled}} -// expected-error-re@-27 {{use of type 'atomic_intptr_t' (aka '_Atomic({{.+}})') requires cl_khr_int64_base_atomics extension to be enabled}} -// expected-error-re@-28 {{use of type 'atomic_intptr_t' (aka '_Atomic({{.+}})') requires cl_khr_int64_extended_atomics extension to be enabled}} -// expected-error-re@-28 {{use of type 'atomic_uintptr_t' (aka '_Atomic({{.+}})') requires cl_khr_int64_base_atomics extension to be enabled}} -// expected-error-re@-29 {{use of type 'atomic_uintptr_t' (aka '_Atomic({{.+}})') requires cl_khr_int64_extended_atomics extension to be enabled}} -// expected-error-re@-29 {{use of type 'atomic_size_t' (aka '_Atomic({{.+}})') requires cl_khr_int64_base_atomics extension to be enabled}} -// expected-error-re@-30 {{use of type 'atomic_size_t' (aka '_Atomic({{.+}})') requires cl_khr_int64_extended_atomics extension to be enabled}} -// expected-error-re@-30 {{use of type 'atomic_ptrdiff_t' (aka '_Atomic({{.+}})') requires cl_khr_int64_base_atomics extension to be enabled}} -// expected-error-re@-31 {{use of type 'atomic_ptrdiff_t' (aka '_Atomic({{.+}})') requires cl_khr_int64_extended_atomics extension to be enabled}} +// expected-error@-29 {{use of type 'atomic_double' (aka '_Atomic(double)') requires cl_khr_fp64 extension to be enabled}} +// expected-error-re@-28 {{use of type 'atomic_intptr_t' (aka '_Atomic({{.+}})') requires cl_khr_int64_base_atomics extension to be enabled}} +// expected-error-re@-29 {{use of type 'atomic_intptr_t' (aka '_Atomic({{.+}})') requires cl_khr_int64_extended_atomics extension to be enabled}} +// expected-error-re@-29 {{use of type 'atomic_uintptr_t' (aka '_Atomic({{.+}})') requires cl_khr_int64_base_atomics extension to be enabled}} +// expected-error-re@-30 {{use of type 'atomic_uintptr_t' (aka '_Atomic({{.+}})') requires cl_khr_int64_extended_atomics extension to be enabled}} +// expected-error-re@-30 {{use of type 'atomic_size_t' (aka '_Atomic({{.+}})') requires cl_khr_int64_base_atomics extension to be enabled}} +// expected-error-re@-31 {{use of type 'atomic_size_t' (aka '_Atomic({{.+}})') requires cl_khr_int64_extended_atomics extension to be enabled}} +// expected-error-re@-31 {{use of type 'atomic_ptrdiff_t' (aka '_Atomic({{.+}})') requires cl_khr_int64_base_atomics extension to be enabled}} +// expected-error-re@-32 {{use of type 'atomic_ptrdiff_t' (aka '_Atomic({{.+}})') requires cl_khr_int64_extended_atomics extension to be enabled}} #endif #ifdef CL20 Modified: cfe/trunk/test/Parser/opencl-pragma.cl URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Parser/opencl-pragma.cl?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/test/Parser/opencl-pragma.cl (original) +++ cfe/trunk/test/Parser/opencl-pragma.cl Fri May 13 12:16:26 2016 @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -verify -pedantic -Wno-empty-translation-unit -fsyntax-only -triple spir-unknown-unknown +// RUN: %clang_cc1 %s -verify -pedantic -Wno-empty-translation-unit -fsyntax-only #pragma OPENCL EXTENSION cl_khr_fp16 : enable Modified: cfe/trunk/test/Parser/opencl-storage-class.cl URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Parser/opencl-storage-class.cl?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/test/Parser/opencl-storage-class.cl (original) +++ cfe/trunk/test/Parser/opencl-storage-class.cl Fri May 13 12:16:26 2016 @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -verify -fsyntax-only -triple spir-unknown-unknown +// RUN: %clang_cc1 %s -verify -fsyntax-only void test_storage_class_specs() { Removed: cfe/trunk/test/SemaOpenCL/extensions.cl URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaOpenCL/extensions.cl?rev=269434&view=auto ============================================================================== --- cfe/trunk/test/SemaOpenCL/extensions.cl (original) +++ cfe/trunk/test/SemaOpenCL/extensions.cl (removed) @@ -1,36 +0,0 @@ -// RUN: %clang_cc1 %s -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -// RUN: %clang_cc1 %s -triple spir-unknown-unknown -verify -pedantic -fsyntax-only -cl-std=CL1.1 - -// Test with a target not supporting fp64. -// RUN: %clang_cc1 %s -triple r600-unknown-unknown -target-cpu r600 -verify -pedantic -fsyntax-only -DNOFP64 - -void f1(double da) { // expected-error {{type 'double' requires cl_khr_fp64 extension}} - double d; // expected-error {{type 'double' requires cl_khr_fp64 extension}} - (void) 1.0; // expected-warning {{double precision constant requires cl_khr_fp64}} -} - -#pragma OPENCL EXTENSION cl_khr_fp64 : enable -#ifdef NOFP64 -// expected-warning@-2{{unsupported OpenCL extension 'cl_khr_fp64' - ignoring}} -#endif - -void f2(void) { - double d; -#ifdef NOFP64 -// expected-error@-2{{use of type 'double' requires cl_khr_fp64 extension to be enabled}} -#endif - - (void) 1.0; -#ifdef NOFP64 -// expected-warning@-2{{double precision constant requires cl_khr_fp64, casting to single precision}} -#endif -} - -#pragma OPENCL EXTENSION cl_khr_fp64 : disable -#ifdef NOFP64 -// expected-warning@-2{{unsupported OpenCL extension 'cl_khr_fp64' - ignoring}} -#endif - -void f3(void) { - double d; // expected-error {{type 'double' requires cl_khr_fp64 extension}} -} Modified: cfe/trunk/test/SemaOpenCL/half.cl URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaOpenCL/half.cl?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/test/SemaOpenCL/half.cl (original) +++ cfe/trunk/test/SemaOpenCL/half.cl Fri May 13 12:16:26 2016 @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -Wno-unused-value -triple spir-unknown-unknown +// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -Wno-unused-value #pragma OPENCL EXTENSION cl_khr_fp16 : disable constant float f = 1.0h; // expected-error{{half precision constant requires cl_khr_fp16}} Modified: cfe/trunk/test/SemaOpenCL/invalid-kernel-parameters.cl URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaOpenCL/invalid-kernel-parameters.cl?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/test/SemaOpenCL/invalid-kernel-parameters.cl (original) +++ cfe/trunk/test/SemaOpenCL/invalid-kernel-parameters.cl Fri May 13 12:16:26 2016 @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fsyntax-only -verify %s -triple spir-unknown-unknown +// RUN: %clang_cc1 -fsyntax-only -verify %s #pragma OPENCL EXTENSION cl_khr_fp16 : enable Modified: cfe/trunk/test/SemaOpenCL/invalid-logical-ops-1.2.cl URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaOpenCL/invalid-logical-ops-1.2.cl?rev=269435&r1=269434&r2=269435&view=diff ============================================================================== --- cfe/trunk/test/SemaOpenCL/invalid-logical-ops-1.2.cl (original) +++ cfe/trunk/test/SemaOpenCL/invalid-logical-ops-1.2.cl Fri May 13 12:16:26 2016 @@ -1,7 +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; typedef __attribute__((ext_vector_type(4))) int int4; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits