]> granicus.if.org Git - clang/commitdiff
[OpenCL] Define __IMAGE_SUPPORT__ macro for SPIR
authorSven van Haastregt <sven.vanhaastregt@arm.com>
Mon, 4 Dec 2017 15:01:08 +0000 (15:01 +0000)
committerSven van Haastregt <sven.vanhaastregt@arm.com>
Mon, 4 Dec 2017 15:01:08 +0000 (15:01 +0000)
Add #define __IMAGE_SUPPORT__ 1 for SPIR targets to indicate that SPIR
supports images.

Patch by Dmitry Borisenkov.

Differential Revision: https://reviews.llvm.org/D40252

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@319658 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Frontend/InitPreprocessor.cpp
test/Preprocessor/predefined-macros.c

index 67c1faddc3a62c162795823990e94bf8e61abe98..74a751f1f6ef171444e2962a7be307c2548848f2 100644 (file)
@@ -1034,6 +1034,10 @@ static void InitializePredefinedMacros(const TargetInfo &TI,
         LangOpts.OpenCLVersion)) \
       Builder.defineMacro(#Ext);
 #include "clang/Basic/OpenCLExtensions.def"
+
+    auto Arch = TI.getTriple().getArch();
+    if (Arch == llvm::Triple::spir || Arch == llvm::Triple::spir64)
+      Builder.defineMacro("__IMAGE_SUPPORT__");
   }
 
   if (TI.hasInt128Type() && LangOpts.CPlusPlus && LangOpts.GNUMode) {
index f920a9845c8112d53e6451fa75b2b1b27fbb3c99..def1ef90f55d59fe90ac20194ddc426e35970739 100644 (file)
 // CHECK-ARM64-MINGW: #define _WIN32 1
 // CHECK-ARM64-MINGW: #define _WIN64 1
 // CHECK-ARM64-MINGW: #define __aarch64__ 1
+
+// RUN: %clang_cc1 %s -E -dM -o - -x cl -triple spir-unknown-unknown \
+// RUN:   | FileCheck -match-full-lines %s --check-prefix=CHECK-SPIR
+// CHECK-SPIR: #define __IMAGE_SUPPORT__ 1