From 5e020b2628522d086bb49bcc80f8f4ac0c978d8b Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Sat, 27 Feb 2016 09:06:26 +0000 Subject: [PATCH] AMDGPU: Fix broken/confusing predefined macro amdgcn should not be defining __R600__ llvm-svn: 262124 --- clang/lib/Basic/Targets.cpp | 6 +++++- clang/test/Preprocessor/predefined-arch-macros.c | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 382ac9c..e94cebe 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -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) diff --git a/clang/test/Preprocessor/predefined-arch-macros.c b/clang/test/Preprocessor/predefined-arch-macros.c index 668fbe8..1276ef0 100644 --- a/clang/test/Preprocessor/predefined-arch-macros.c +++ b/clang/test/Preprocessor/predefined-arch-macros.c @@ -1962,3 +1962,17 @@ // 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 -- 2.7.4