• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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