// RUN: %clang_cc1 -O3 -triple %itanium_abi_triple -emit-llvm -o - %s | FileCheck %s
// Is FP_CONTRACT honored in a simple case?
float
// Is FP_CONTRACT state cleared on exiting compound statements?
float
// Does FP_CONTRACT survive template instantiation?
;
Foo ;
T
float
;
;
// CHECK: _ZN13fp_contract_4IiE6methodEfff
// CHECK: %[[M:.+]] = fmul contract float %a, %b
// CHECK-NEXT: fadd contract float %[[M]], %c
// Check file-scoped FP_CONTRACT
float
// Verify that we can handle multiple flags on the same pragma
float