2014-01-30 Alangi Derick <alangiderick@gmail.com>
[official-gcc.git] / gcc / testsuite / g++.dg / template / sizeof13.C
blob2f4a26e509d5b32a28c6ab4024d0bcdea89d0cba
1 // PR c++/42623
2 // We should choose f(B) because f(A<undef>) involves applying sizeof to
3 // an incomplete class, so it is removed by SFINAE.
4 // { dg-do link }
6 struct undef;
8 template <typename U, int N = sizeof(U)> struct A { A(int); };
9 template <typename U> void f(A<U>);
11 template <typename U> struct B { B(int) { } };
12 template <typename U> void f(B<U>) { }
14 int main()
16   f<undef>(0);