]> granicus.if.org Git - clang/commitdiff
AMDGPU: Fix broken/confusing predefined macro
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Sat, 27 Feb 2016 09:06:26 +0000 (09:06 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Sat, 27 Feb 2016 09:06:26 +0000 (09:06 +0000)
amdgcn should not be defining __R600__

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

lib/Basic/Targets.cpp
test/Preprocessor/predefined-arch-macros.c

index 382ac9cd9865caa127832d4be23f9ff0a027f3e9..e94cebefdf11e6f5970d1513a128e8e56f80f138 100644 (file)
@@ -1865,7 +1865,11 @@ public:
 
   void getTargetDefines(const LangOptions &Opts,
                         MacroBuilder &Builder) const override {
-    Builder.defineMacro("__R600__");
+    if (getTriple().getArch() == llvm::Triple::amdgcn)
+      Builder.defineMacro("__AMDGCN__");
+    else
+      Builder.defineMacro("__R600__");
+
     if (hasFMAF)
       Builder.defineMacro("__HAS_FMAF__");
     if (hasLDEXPF)
index 668fbe8942701a0b09f77eafa51740d0400badff..1276ef0dfc6c4b87103f43ed9e70f6d799770227 100644 (file)
 // RUN:   | FileCheck %s -check-prefix=CHECK_SYSTEMZ_ZVECTOR
 //
 // CHECK_SYSTEMZ_ZVECTOR: #define __VEC__ 10301
+
+// Begin amdgcn tests ----------------
+//
+// RUN: %clang -march=amdgcn -E -dM %s -o - 2>&1 \
+// RUN:     -target amdgcn-unknown-unknown \
+// RUN:   | FileCheck %s -check-prefix=CHECK_AMDGCN
+// CHECK_AMDGCN: #define __AMDGCN__ 1
+
+// Begin r600 tests ----------------
+//
+// RUN: %clang -march=amdgcn -E -dM %s -o - 2>&1 \
+// RUN:     -target r600-unknown-unknown \
+// RUN:   | FileCheck %s -check-prefix=CHECK_R600
+// CHECK_R600: #define __R600__ 1