| // RUN: %clang_cc1 -triple x86_64-pc-linux -std=c++11 -fcxx-exceptions -fdelayed-template-parsing -ast-dump %s \ |
| #pragma STDC FENV_ROUND FE_DOWNWARD |
| #pragma float_control(precise, off) |
| __attribute__((optnone)) T func_22(T x, T y) { |
| // CHECK-LABEL: FunctionTemplateDecl {{.*}} func_22 |
| // CHECK: FunctionDecl {{.*}} func_22 'T (T, T)' |
| // CHECK: CompoundStmt {{.*}} FPContractMode=1 ConstRoundingMode=downward MathErrno=1 |
| // CHECK: BinaryOperator {{.*}} '+' FPContractMode=1 ConstRoundingMode=downward MathErrno=1 |
| // CHECK: FunctionDecl {{.*}} func_22 'float (float, float)' |
| // CHECK: CompoundStmt {{.*}} FPContractMode=1 ConstRoundingMode=downward MathErrno=1 |
| // CHECK: BinaryOperator {{.*}} 'float' '+' FPContractMode=1 ConstRoundingMode=downward MathErrno=1 |
| float func_23(float x, float y) { |