1 // PR c++/51854
2 // { dg-options "" }
3 
4 template <unsigned N> struct A;
5 
6 template <typename U, typename V>
7 char foo(U, V);
8 
9 // { dg-final { scan-assembler "_Z3barIiEvP1AIXszcl3foocvT__ELCi0_42EEEE" } }
10 template <typename U>
11 void bar(A<sizeof(foo(U(), 42i))> *);
12 
13 // { dg-final { scan-assembler "_Z3bazIiEvP1AIXszcl3foocvT__ELCf00000000_00000000EEEE" } }
14 template <typename U>
15 void baz(A<sizeof(foo(U(), 0.0fj))> *);
16 
main()17 int main() {
18    bar<int>(0);
19    baz<int>(0);
20 }
21