mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-25 23:46:05 +00:00

There are three fields that the FPOptions default constructor sets to non-zero values; those fields previously could have been zero or non-zero depending on whether they'd been explicitly removed from the FPOptionsOverride set. However, that doesn't seem to ever actually happen, so this is NFC, except that it makes the AST file representation of FPOptionsOverride make more sense.
23 lines
464 B
C++
23 lines
464 B
C++
// RUN: rm -rf %t
|
|
// RUN: mkdir %t
|
|
|
|
// RUN: %clang_cc1 -x c++-header %s -emit-pch -o %t/a.pch
|
|
// RUN: %clang_cc1 -x c++-header %s -emit-pch -o %t/b.pch
|
|
// RUN: cmp %t/a.pch %t/b.pch
|
|
|
|
#pragma float_control(push)
|
|
double fp_control_0(double x) {
|
|
return -x + x;
|
|
}
|
|
|
|
double fp_control_1(double x) {
|
|
#pragma float_control(precise, on)
|
|
return -x + x;
|
|
}
|
|
|
|
double fp_control_2(double x) {
|
|
#pragma float_control(precise, off)
|
|
return -x + x;
|
|
}
|
|
#pragma float_control(pop)
|