// Test mangling of type casts | |
// { dg-options "-fabi-version=0 -Wabi=5" } | |
// { dg-do compile } | |
template<int i> class A {}; | |
template<bool b> class B {}; | |
template<int i> void f(A<i> &, B<bool(i)> &) {} | |
template<int i> void g(A<i> &, B<static_cast<bool>(i)> &) {} // { dg-warning "mangle" } | |
int main() | |
{ | |
A<1> a; | |
B<true> b; | |
f(a, b); | |
g(a, b); | |
} | |
// { dg-final { scan-assembler "\n_?_Z1fILi1EEvR1AIXT_EER1BIXcvbT_EE\[: \t\n\]" } } | |
// { dg-final { scan-assembler "\n_?_Z1gILi1EEvR1AIXT_EER1BIXscbT_EE\[: \t\n\]" } } |