forked from OSchip/llvm-project
Add predefined macro __gnu_linux__ for proper aux-triple
Clang predefine macro __linx__ for aux-triple with Linux OS but does not predefine macro __gnu_linux__. This causes some compilation error for certain applications, e.g. Eigen. This patch fixes that. Differential Revision: https://reviews.llvm.org/D51441 llvm-svn: 340967
This commit is contained in:
parent
77c57200f8
commit
0e9a76dbe3
|
@ -1128,6 +1128,7 @@ static void InitializePredefinedAuxMacros(const TargetInfo &AuxTI,
|
|||
if (AuxTriple.getOS() == llvm::Triple::Linux) {
|
||||
Builder.defineMacro("__ELF__");
|
||||
Builder.defineMacro("__linux__");
|
||||
Builder.defineMacro("__gnu_linux__");
|
||||
// Used in features.h. If this is omitted, math.h doesn't declare float
|
||||
// versions of the functions in bits/mathcalls.h.
|
||||
if (LangOpts.CPlusPlus)
|
||||
|
|
|
@ -183,9 +183,11 @@
|
|||
// CHECK-HIP: #define __HIP__ 1
|
||||
|
||||
// RUN: %clang_cc1 %s -E -dM -o - -x hip -triple amdgcn-amd-amdhsa \
|
||||
// RUN: -fcuda-is-device \
|
||||
// RUN: -aux-triple x86_64-unknown-linux -fcuda-is-device \
|
||||
// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-HIP-DEV
|
||||
// CHECK-HIP-DEV-NOT: #define __CUDA_ARCH__
|
||||
// CHECK-HIP-DEV: #define __HIPCC__ 1
|
||||
// CHECK-HIP-DEV: #define __HIP_DEVICE_COMPILE__ 1
|
||||
// CHECK-HIP-DEV: #define __HIP__ 1
|
||||
// CHECK_HIP-DEV: #define __linux__ 1
|
||||
// CHECK_HIP-DEV: #define __gnu_linux__ 1
|
||||
|
|
Loading…
Reference in New Issue