1// RUN: %clang_cc1 -ast-dump %s | FileCheck %s
2
3template<class T>
4class P {
5 public:
6  P(T* t) {}
7};
8
9namespace foo {
10class A {};
11enum B {};
12typedef int C;
13}
14
15int main() {
16  // CHECK: CXXNewExpr {{0x[0-9a-fA-F]+}} <col:19, col:28> 'foo::A *'
17  P<foo::A> p14 = new foo::A;
18  // CHECK: CXXNewExpr {{0x[0-9a-fA-F]+}} <col:19, col:28> 'foo::B *'
19  P<foo::B> p24 = new foo::B;
20  // CHECK: CXXNewExpr {{0x[0-9a-fA-F]+}} <col:19, col:28> 'foo::C *'
21  P<foo::C> pr4 = new foo::C;
22}
23
24foo::A getName() {
25  // CHECK: CXXConstructExpr {{0x[0-9a-fA-F]+}} <col:10, col:17> 'foo::A'
26  return foo::A();
27}
28