forked from OSchip/llvm-project
No longer defining GNUC mode when compiling for Microsoft compatibility. This allows people's cross-platform compiler-specific macros to work properly.
llvm-svn: 152512
This commit is contained in:
parent
cffca4a014
commit
b4489162b6
|
@ -319,11 +319,14 @@ static void InitializePredefinedMacros(const TargetInfo &TI,
|
|||
+ getClangFullRepositoryVersion() + ")\"");
|
||||
#undef TOSTR
|
||||
#undef TOSTR2
|
||||
// Currently claim to be compatible with GCC 4.2.1-5621.
|
||||
Builder.defineMacro("__GNUC_MINOR__", "2");
|
||||
Builder.defineMacro("__GNUC_PATCHLEVEL__", "1");
|
||||
Builder.defineMacro("__GNUC__", "4");
|
||||
Builder.defineMacro("__GXX_ABI_VERSION", "1002");
|
||||
if (!LangOpts.MicrosoftMode) {
|
||||
// Currently claim to be compatible with GCC 4.2.1-5621, but only if we're
|
||||
// not compiling for MSVC compatibility
|
||||
Builder.defineMacro("__GNUC_MINOR__", "2");
|
||||
Builder.defineMacro("__GNUC_PATCHLEVEL__", "1");
|
||||
Builder.defineMacro("__GNUC__", "4");
|
||||
Builder.defineMacro("__GXX_ABI_VERSION", "1002");
|
||||
}
|
||||
|
||||
// Define macros for the C11 / C++11 memory orderings
|
||||
Builder.defineMacro("__ATOMIC_RELAXED", "0");
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
// CHECK-MS: #define _M_IX86 600
|
||||
// CHECK-MS: #define _M_IX86_FP
|
||||
// CHECK-MS: #define _WIN32 1
|
||||
// CHECK-MS-NOT: #define __GNUC__
|
||||
//
|
||||
// RUN: %clang_cc1 %s -E -dM -ffast-math -o - \
|
||||
// RUN: | FileCheck %s --check-prefix=CHECK-FAST-MATH
|
||||
|
|
Loading…
Reference in New Issue