From: Matt Arsenault Date: Sat, 27 Feb 2016 09:06:26 +0000 (+0000) Subject: AMDGPU: Fix broken/confusing predefined macro X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7c9aafc6126848f8e9cd3f5c4164ce91d1f57130;p=clang AMDGPU: Fix broken/confusing predefined macro amdgcn should not be defining __R600__ git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262124 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 382ac9cd98..e94cebefdf 100644 --- a/lib/Basic/Targets.cpp +++ b/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/test/Preprocessor/predefined-arch-macros.c b/test/Preprocessor/predefined-arch-macros.c index 668fbe8942..1276ef0dfc 100644 --- a/test/Preprocessor/predefined-arch-macros.c +++ b/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