From: Stephen Kelly Date: Wed, 5 Dec 2018 20:21:13 +0000 (+0000) Subject: Add dump tests for inherited default template parameters X-Git-Tag: llvmorg-8.0.0-rc1~2795 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9f358871d52baa9115e44b68fa53219332a89428;p=platform%2Fupstream%2Fllvm.git Add dump tests for inherited default template parameters llvm-svn: 348408 --- diff --git a/clang/test/AST/ast-dump-decl.cpp b/clang/test/AST/ast-dump-decl.cpp index adab912..7f3859c 100644 --- a/clang/test/AST/ast-dump-decl.cpp +++ b/clang/test/AST/ast-dump-decl.cpp @@ -263,6 +263,15 @@ namespace testClassTemplateDecl { template class TestClassTemplatePartial { int j; }; + + template struct TestTemplateDefaultType; + template struct TestTemplateDefaultType { }; + + template struct TestTemplateDefaultNonType; + template struct TestTemplateDefaultNonType { }; + + template class TT = TestClassTemplate> struct TestTemplateTemplateDefaultType; + template class TT> struct TestTemplateTemplateDefaultType { }; } // CHECK: ClassTemplateDecl{{.*}} TestClassTemplate // CHECK-NEXT: TemplateTypeParmDecl @@ -316,6 +325,24 @@ namespace testClassTemplateDecl { // CHECK-NEXT: CXXRecordDecl{{.*}} class TestClassTemplatePartial // CHECK-NEXT: FieldDecl{{.*}} j +// CHECK: ClassTemplateDecl 0x{{[^ ]*}} prev 0x{{[^ ]*}} {{.*}} TestTemplateDefaultType +// CHECK-NEXT: TemplateTypeParmDecl +// CHECK-NEXT: TemplateArgument type 'int' +// CHECK-NEXT: inherited from TemplateTypeParm 0x{{[^ ]*}} 'T' + +// CHECK: ClassTemplateDecl 0x{{[^ ]*}} prev 0x{{[^ ]*}} {{.*}} TestTemplateDefaultNonType +// CHECK-NEXT: NonTypeTemplateParmDecl +// CHECK-NEXT: TemplateArgument expr +// CHECK-NEXT: ConstantExpr +// CHECK-NEXT: IntegerLiteral +// CHECK-NEXT: inherited from NonTypeTemplateParm 0x{{[^ ]*}} 'I' 'int' + +// CHECK: ClassTemplateDecl 0x{{[^ ]*}} prev 0x{{[^ ]*}} {{.*}} TestTemplateTemplateDefaultType +// CHECK-NEXT: TemplateTemplateParmDecl +// CHECK-NEXT: TemplateTypeParmDecl +// CHECK-NEXT: TemplateArgument +// CHECK-NEXT: inherited from TemplateTemplateParm 0x{{[^ ]*}} 'TT' + // PR15220 dump instantiation only once namespace testCanonicalTemplate { class A {};