24 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-linux-gnu -ast-dump -ast-dump-filter=b_64605 %s | FileCheck %s2 3// https://github.com/llvm/llvm-project/issues/646054 5#pragma STDC FENV_ACCESS ON6template <typename>7int b_64605() {8 int x;9 if ((float)0xFFFFFFFF != (float)0x100000000) {10 x = 1;11 }12 return x;13}14int f() { return b_64605<void>(); }15 16// CHECK: ImplicitCastExpr {{.*}} 'float' <IntegralToFloating> RoundingMath=1 AllowFEnvAccess=117// CHECK-NEXT: IntegerLiteral {{.*}} 429496729518 19// CHECK: FunctionDecl {{.*}} b_64605 'int ()'20// CHECK-NEXT: TemplateArgument type 'void'21 22// CHECK: ImplicitCastExpr {{.*}} 'float' <IntegralToFloating> RoundingMath=1 AllowFEnvAccess=123// CHECK-NEXT: IntegerLiteral {{.*}} 429496729524