1 // RUN: %clang -c -ffp-contract=on -Xclang -emit-llvm -o - %s | FileCheck %s
2 // Verify that float_control does not pertain to initializer expressions
3 
4 float y();
5 float z();
6 #pragma float_control(except, on)
7 class ON {
8   float w = 2 + y() * z();
9   // CHECK-LABEL: define {{.*}} void @_ZN2ONC2Ev{{.*}}
10   //CHECK: call contract float {{.*}}llvm.fmuladd
11 };
12 ON on;
13 #pragma float_control(except, off)
14 class OFF {
15   float w = 2 + y() * z();
16   // CHECK-LABEL: define {{.*}} void @_ZN3OFFC2Ev{{.*}}
17   //CHECK: call contract float {{.*}}llvm.fmuladd
18 };
19 OFF off;
20