llvm-project/clang/test/SemaCXX/template-64605.cpp
Serge Pavlov 8859c644ed [clang][test] Make check pattern shorter
A check pattern in clang/test/SemaCXX/template-64605.cpp contains template
specialization kind (the text "implicit_instantiation"). It does not need to
be checked and can be safely removed.

Presence of this text in the check pattern prevents from backporting some
commits to the release branch: https://github.com/llvm/llvm-project/issues/64605.
It has only recently been printed and the relevant commit is not present in
the release/17.x branch.
2023-08-30 13:08:48 +07:00

24 lines
736 B
C++

// RUN: %clang_cc1 -triple x86_64-linux-gnu -ast-dump -ast-dump-filter=b_64605 %s | FileCheck %s
// https://github.com/llvm/llvm-project/issues/64605
#pragma STDC FENV_ACCESS ON
template <typename>
int b_64605() {
int x;
if ((float)0xFFFFFFFF != (float)0x100000000) {
x = 1;
}
return x;
}
int f() { return b_64605<void>(); }
// CHECK: ImplicitCastExpr {{.*}} 'float' <IntegralToFloating> RoundingMath=1 AllowFEnvAccess=1
// CHECK-NEXT: IntegerLiteral {{.*}} 4294967295
// CHECK: FunctionDecl {{.*}} b_64605 'int ()'
// CHECK-NEXT: TemplateArgument type 'void'
// CHECK: ImplicitCastExpr {{.*}} 'float' <IntegralToFloating> RoundingMath=1 AllowFEnvAccess=1
// CHECK-NEXT: IntegerLiteral {{.*}} 4294967295