1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
// RUN: %clang_cc1 -fsyntax-only %s int* f(int); float *f(...); template<typename T> struct X { typedef typeof(T*) typeof_type; typedef typeof(f(T())) typeof_expr; }; int *iptr0; float *fptr0; X<int>::typeof_type &iptr1 = iptr0; X<int>::typeof_expr &iptr2 = iptr0; X<float*>::typeof_expr &fptr1 = fptr0;