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