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