• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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