19860e684SRichard Smith // RUN: rm -rf %t 29860e684SRichard Smith // RUN: mkdir %t 39860e684SRichard Smith 49860e684SRichard Smith // RUN: %clang_cc1 -x c++-header %s -emit-pch -o %t/a.pch 59860e684SRichard Smith // RUN: %clang_cc1 -x c++-header %s -emit-pch -o %t/b.pch 69860e684SRichard Smith // RUN: cmp %t/a.pch %t/b.pch 79860e684SRichard Smith 89860e684SRichard Smith #pragma float_control(push) fp_control_0(double x)9*ae500e4dSRichard Smithdouble fp_control_0(double x) { 10*ae500e4dSRichard Smith return -x + x; 11*ae500e4dSRichard Smith } 12*ae500e4dSRichard Smith fp_control_1(double x)139860e684SRichard Smithdouble fp_control_1(double x) { 149860e684SRichard Smith #pragma float_control(precise, on) 159860e684SRichard Smith return -x + x; 169860e684SRichard Smith } 179860e684SRichard Smith fp_control_2(double x)189860e684SRichard Smithdouble fp_control_2(double x) { 199860e684SRichard Smith #pragma float_control(precise, off) 209860e684SRichard Smith return -x + x; 219860e684SRichard Smith } 229860e684SRichard Smith #pragma float_control(pop) 23