r348408 - Add dump tests for inherited default template parameters

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 5 12:31:31 PST 2018


On Wed, Dec 5, 2018 at 3:24 PM Stephen Kelly via cfe-commits
<cfe-commits at lists.llvm.org> wrote:
>
> Author: steveire
> Date: Wed Dec  5 12:21:13 2018
> New Revision: 348408
>
> URL: http://llvm.org/viewvc/llvm-project?rev=348408&view=rev
> Log:
> Add dump tests for inherited default template parameters
>
> Modified:
>     cfe/trunk/test/AST/ast-dump-decl.cpp

Can you move these tests into ast-dump-template-decls.cpp?

~Aaron

>
> Modified: cfe/trunk/test/AST/ast-dump-decl.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/AST/ast-dump-decl.cpp?rev=348408&r1=348407&r2=348408&view=diff
> ==============================================================================
> --- cfe/trunk/test/AST/ast-dump-decl.cpp (original)
> +++ cfe/trunk/test/AST/ast-dump-decl.cpp Wed Dec  5 12:21:13 2018
> @@ -263,6 +263,15 @@ namespace testClassTemplateDecl {
>    template<typename T1> class TestClassTemplatePartial<T1, A> {
>      int j;
>    };
> +
> +  template<typename T = int> struct TestTemplateDefaultType;
> +  template<typename T> struct TestTemplateDefaultType { };
> +
> +  template<int I = 42> struct TestTemplateDefaultNonType;
> +  template<int I> struct TestTemplateDefaultNonType { };
> +
> +  template<template<typename> class TT = TestClassTemplate> struct TestTemplateTemplateDefaultType;
> +  template<template<typename> 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 {};
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


More information about the cfe-commits mailing list