25 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-pc-linux -std=c++11 -fcxx-exceptions -fdelayed-template-parsing -ast-dump %s \2// RUN: | FileCheck %s3 4#pragma STDC FENV_ROUND FE_DOWNWARD5#pragma float_control(precise, off)6 7template <typename T>8__attribute__((optnone)) T func_22(T x, T y) {9 return x + y;10}11 12// CHECK-LABEL: FunctionTemplateDecl {{.*}} func_2213// CHECK: FunctionDecl {{.*}} func_22 'T (T, T)'14// CHECK: CompoundStmt {{.*}} FPContractMode=1 ConstRoundingMode=downward MathErrno=115// CHECK: ReturnStmt16// CHECK: BinaryOperator {{.*}} '+' FPContractMode=1 ConstRoundingMode=downward MathErrno=117// CHECK: FunctionDecl {{.*}} func_22 'float (float, float)'18// CHECK: CompoundStmt {{.*}} FPContractMode=1 ConstRoundingMode=downward MathErrno=119// CHECK: ReturnStmt20// CHECK: BinaryOperator {{.*}} 'float' '+' FPContractMode=1 ConstRoundingMode=downward MathErrno=121 22float func_23(float x, float y) {23 return func_22(x, y);24}25