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