1 // PR c++/50324 2 // { dg-do compile { target c++11 } } 3 4 struct complete { }; 5 struct incomplete; 6 7 template<class T> auto f(T *) -> decltype(T{}) *; 8 template<class T> char f(T); 9 main()10int main() 11 { 12 complete *p = 0; 13 static_assert(sizeof(f(p)) == sizeof(void*), ""); 14 incomplete *q = 0; 15 static_assert(sizeof(f(q)) == 1u, ""); 16 } 17