1 // RUN: %clang_cc1 -fsyntax-only -std=c++11 -verify %s
2 // expected-no-diagnostics
3 
4 // C++03 imposed restrictions in this paragraph that were lifted with 0x, so we
5 // just test that the example given now parses cleanly.
6 
7 template <class T> class X { };
8 template <class T> void f(T t) { }
9 struct { } unnamed_obj;
10 void f() {
11   struct A { };
12   enum { e1 };
13   typedef struct { } B;
14   B b;
15   X<A> x1;
16   X<A*> x2;
17   X<B> x3;
18   f(e1);
19   f(unnamed_obj);
20   f(b);
21 }
22