| // RUN: %clang_cc1 -E -dM -triple=x86_64-none-none %s -o - \ |
| // RUN: | FileCheck %s -strict-whitespace |
| |
| // RUN: %clang_cc1 -E -dM -triple=x86_64-none-none -target-feature -sse \ |
| // RUN: %s -o - | FileCheck %s -check-prefix=EXT -strict-whitespace |
| |
| // RUN: %clang_cc1 -E -dM -triple=arm64e-apple-ios -target-feature -sse \ |
| // RUN: %s -o - | FileCheck %s -strict-whitespace |
| |
| // RUN: %clang_cc1 -E -dM -triple=arm64e-apple-ios -target-feature +sse \ |
| // RUN: %s -o - | FileCheck %s -strict-whitespace |
| |
| // RUN: %clang_cc1 -E -dM -triple=arm64_32-apple-ios %s -o - \ |
| // RUN: | FileCheck %s -strict-whitespace |
| |
| // RUN: %clang_cc1 -E -dM -triple=arm64_32-apple-ios -target-feature -sse \ |
| // RUN: %s -o - | FileCheck %s -strict-whitespace |
| |
| // RUN: %clang_cc1 -E -dM -triple=x86_64-apple-macos13.0 -ffast-math \ |
| // RUN: %s -o - | FileCheck %s -check-prefix=CHECK -strict-whitespace |
| |
| // RUN: %clang_cc1 -E -dM -triple i386-pc-windows -target-cpu pentium4 %s -o - \ |
| // RUN: | FileCheck %s -strict-whitespace |
| |
| // RUN: %clang_cc1 -E -dM -triple i386-pc-windows -target-cpu pentium4 \ |
| // RUN: -target-feature -sse %s -o - | FileCheck -check-prefix=EXT %s \ |
| // RUN: -strict-whitespace |
| |
| #ifdef __FLT_EVAL_METHOD__ |
| #if __FLT_EVAL_METHOD__ == 3 |
| #define __GLIBC_FLT_EVAL_METHOD 2 |
| #else |
| #define __GLIBC_FLT_EVAL_METHOD __FLT_EVAL_METHOD__ |
| #endif |
| #elif defined __x86_64__ |
| #define __GLIBC_FLT_EVAL_METHOD 0 |
| #else |
| #define __GLIBC_FLT_EVAL_METHOD 2 |
| #endif |
| |
| #if __GLIBC_FLT_EVAL_METHOD == -1 |
| #define Name "MinusOne" |
| #elif __GLIBC_FLT_EVAL_METHOD == 0 || __GLIBC_FLT_EVAL_METHOD == 16 |
| #define Name "One" |
| #elif __GLIBC_FLT_EVAL_METHOD == 1 |
| #define Name "Two" |
| #elif __GLIBC_FLT_EVAL_METHOD == 2 |
| #define Name "Three" |
| #elif __GLIBC_FLT_EVAL_METHOD == 32 |
| #define Name "Four" |
| #elif __GLIBC_FLT_EVAL_METHOD == 33 |
| #define Name "Five" |
| #elif __GLIBC_FLT_EVAL_METHOD == 64 |
| #define Name "Six" |
| #elif __GLIBC_FLT_EVAL_METHOD == 65 |
| #define Name "Seven" |
| #elif __GLIBC_FLT_EVAL_METHOD == 128 |
| #define Name "Eight" |
| #elif __GLIBC_FLT_EVAL_METHOD == 129 |
| #define Name "Nine" |
| #else |
| #error "Unknown __GLIBC_FLT_EVAL_METHOD" |
| #endif |
| |
| int foo() { |
| // CHECK: #define Name "One" |
| // EXT: #define Name "Three" |
| return Name; |
| } |
| |
| #pragma fp eval_method(double) |
| |
| #if __FLT_EVAL_METHOD__ == 3 |
| #define Val "Unset" |
| #elif __FLT_EVAL_METHOD__ == 0 |
| #define Val "val0" |
| #elif __FLT_EVAL_METHOD__ == 1 |
| #define Val "val1" |
| #elif __FLT_EVAL_METHOD__ == 2 |
| #define Val "val2" |
| #endif |
| |
| int goo() { |
| // CHECK: #define Val "val0" |
| // EXT: #define Val "val2" |
| return Val; |
| } |