Teach the frontend to provide the builtin preprocessor defines for

-ffast-math.

llvm-svn: 147440
This commit is contained in:
Chandler Carruth 2012-01-03 02:46:46 +00:00
parent cbcc98fb50
commit 3a5ff5cbd2
2 changed files with 17 additions and 12 deletions

View File

@ -411,6 +411,9 @@ static void InitializePredefinedMacros(const TargetInfo &TI,
if (LangOpts.OptimizeSize)
Builder.defineMacro("__OPTIMIZE_SIZE__");
if (LangOpts.FastMath)
Builder.defineMacro("__FAST_MATH__");
// Initialize target-specific preprocessor defines.
// Define type sizing macros based on the target properties.

View File

@ -1,12 +1,14 @@
// This test verifies that the correct macros are predefined. It currently
// only checks for Microsoft macros.
// RUN: %clang_cc1 %s -E -dM -triple i686-pc-win32 -fms-extensions -fmsc-version=1300 -o - | FileCheck %s
// CHECK: #define _INTEGRAL_MAX_BITS 64
// CHECK: #define _MSC_EXTENSIONS 1
// CHECK: #define _MSC_VER 1300
// CHECK: #define _M_IX86 600
// CHECK: #define _M_IX86_FP
// CHECK: #define _WIN32 1
// This test verifies that the correct macros are predefined.
//
// RUN: %clang_cc1 %s -E -dM -triple i686-pc-win32 -fms-extensions \
// RUN: -fmsc-version=1300 -o - | FileCheck %s --check-prefix=CHECK-MS
// CHECK-MS: #define _INTEGRAL_MAX_BITS 64
// CHECK-MS: #define _MSC_EXTENSIONS 1
// CHECK-MS: #define _MSC_VER 1300
// CHECK-MS: #define _M_IX86 600
// CHECK-MS: #define _M_IX86_FP
// CHECK-MS: #define _WIN32 1
//
// RUN: %clang_cc1 %s -E -dM -ffast-math -o - \
// RUN: | FileCheck %s --check-prefix=CHECK-FAST-MATH
// CHECK-FAST-MATH: #define __FAST_MATH__