1// RUN: %clang_cc1 -fsyntax-only -verify %s 2 3int* f(int); 4float *f(...); 5 6template<typename T> 7struct X { 8 typedef typeof(T*) typeof_type; 9 typedef typeof(f(T())) typeof_expr; 10}; 11 12int *iptr0; 13float *fptr0; 14X<int>::typeof_type &iptr1 = iptr0; 15 16X<int>::typeof_expr &iptr2 = iptr0; 17X<float*>::typeof_expr &fptr1 = fptr0; 18 19namespace rdar13094134 { 20 template <class> 21 class X { 22 typedef struct { 23 Y *y; // expected-error{{unknown type name 'Y'}} 24 } Y; 25 }; 26 27 X<int> xi; 28} 29