p2-cxx0x.cpp revision 8e8fb3be5bd78f0564444eca02b404566a5f3b5d
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
7template <class T> class X { };
8template <class T> void f(T t) { }
9struct { } unnamed_obj;
10void 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