blob: 2440a38f3e6a495ad3b33ade9b0a5f3dca6f4593 [file] [log] [blame]
Douglas Gregorc61361b2013-03-08 22:15:15 +00001// RUN: %clang_cc1 -fsyntax-only -verify %s
Douglas Gregor5f8bd592009-05-26 22:09:24 +00002
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;
Douglas Gregorc61361b2013-03-08 22:15:15 +000018
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}