C++ Diagnostic Survey

Benjamin Kosnik

2010-03-28


Table of Contents

Semicolon
class-semicolon-1
class-semicolon-2
class-semicolon-3
class-semicolon-4
Member Function
member-function-1
Function
function-1
function-2
function-3
Templates
template-instantiate-1
Bugzilla
9335
10118
14263
14283
15538
16128
16232
16582
17166
19377
19502
19538
20332
20397
21038
21386
21413
21631
24375
24591
24607
24985
25666
25689
25733
25801
26950
34758
35112
35335
35441
35742
38612
39478
39728
39936
40261
41796
41895
43076
43113
43253
43431

This survey intends to provide a quick reference document that compares various C++ diagnostic output for common mistakes and programming errors.

The following C++ compilers have been chosen for the survey, along with any command line arguments used to produce the output listed in the examples below.

Semicolon

Five diagnostics, theme of missing or extra semicolons.

class-semicolon-1

Table 1. class-semicolon-1.cc

     1	// extra semicolon from declaration/definition refactoring class
     2	class sly1;
     3	{
     4	  int i;
     5	};
gcciccclang
testsuite/class-semicolon-1.cc:3:1: error: expected unqualified-id before ‘{’ token
testsuite/class-semicolon-1.cc(3): error: expected a declaration
  {
  ^

compilation aborted for testsuite/class-semicolon-1.cc (code 2)
testsuite/class-semicolon-1.cc:3:1: error: expected unqualified-id
 {
 ^
1 diagnostic generated.

class-semicolon-2

Table 2. class-semicolon-2.cc

     1	// forgotton semicolon at end of class
     2	class sly2
     3	{
     4	  int i;
     5	}
gcciccclang
testsuite/class-semicolon-2.cc:5:1: error: expected unqualified-id at end of input
testsuite/class-semicolon-2.cc(5): error: expected an identifier

testsuite/class-semicolon-2.cc(5): error: expected a ";"

compilation aborted for testsuite/class-semicolon-2.cc (code 2)
testsuite/class-semicolon-2.cc:5:2: error: expected ';' after class
 }
  ^
  ;
1 diagnostic generated.

class-semicolon-3

Table 3. class-semicolon-3.cc

     1	// forgotton semicolon at end of member data
     2	class sly3
     3	{
     4	  int i
     5	  void set_it3(int __i) { i = __i; }
     6	};
gcciccclang
testsuite/class-semicolon-3.cc:5:3: error: expected ‘;’ before ‘void’
testsuite/class-semicolon-3.cc:6:1: error: expected ‘;’ before ‘}’ token
testsuite/class-semicolon-3.cc(5): error: expected a ";"
    void set_it3(int __i) { i = __i; }
    ^

compilation aborted for testsuite/class-semicolon-3.cc (code 2)
testsuite/class-semicolon-3.cc:4:8: error: expected ';' at end of declaration list
   int i
        ^
        ;
1 diagnostic generated.

class-semicolon-4

Table 4. class-semicolon-4.cc

     1	// forgotton semicolon at end of member function
     2	class sly4
     3	{
     4	  int i;
     5	  void set_it4(int __i) { i = __i }
     6	};
gcciccclang
testsuite/class-semicolon-4.cc: In member function ‘void sly4::set_it4(int)’:
testsuite/class-semicolon-4.cc:5:35: error: expected ‘;’ before ‘}’ token
testsuite/class-semicolon-4.cc(5): error: expected a ";"
    void set_it4(int __i) { i = __i }
                                    ^

compilation aborted for testsuite/class-semicolon-4.cc (code 2)
testsuite/class-semicolon-4.cc:5:34: error: expected ';' after expression
   void set_it4(int __i) { i = __i }
                                  ^
                                  ;
1 diagnostic generated.

Member Function

One diagnostic, theme of member functions.

member-function-1

Table 5. member-function-1.cc

     1	// extra definition from inline refactoring member function
     2	class sly1
     3	{
     4	  int i;
     5	
     6	  void set_it1(int __i)
     7	  { int j = __i; }
     8	};
     9	
    10	void sly1::set_it1(int __i) 
    11	{ int j = __i; }
gcciccclang
testsuite/member-function-1.cc: In member function ‘void sly1::set_it1(int)’:
testsuite/member-function-1.cc:7:9: warning: unused variable ‘j’
testsuite/member-function-1.cc: At global scope:
testsuite/member-function-1.cc:10:6: error: redefinition of ‘void sly1::set_it1(int)’
testsuite/member-function-1.cc:6:8: error: ‘void sly1::set_it1(int)’ previously defined here
testsuite/member-function-1.cc(7): remark #177: variable "j" was declared but never referenced
    { int j = __i; }
          ^

testsuite/member-function-1.cc(10): error: function "sly1::set_it1" has already been defined
  void sly1::set_it1(int __i) 
             ^

testsuite/member-function-1.cc(11): remark #177: variable "j" was declared but never referenced
  { int j = __i; }
        ^

compilation aborted for testsuite/member-function-1.cc (code 2)
testsuite/member-function-1.cc:7:9: warning: unused variable 'j' [-Wunused-variable]
   { int j = __i; }
         ^
testsuite/member-function-1.cc:10:12: error: redefinition of 'set_it1'
 void sly1::set_it1(int __i) 
            ^
testsuite/member-function-1.cc:6:8: note: previous definition is here
   void set_it1(int __i)
        ^
3 diagnostics generated.

Function

Three diagnostics, theme of functions.

function-1

Table 6. function-1.cc

     1	// forget return type on function
     2	foo1();
gcciccclang
testsuite/function-1.cc:2:7: error: expected constructor, destructor, or type conversion before ‘;’ token
testsuite/function-1.cc(2): warning #303: explicit type is missing ("int" assumed)
  foo1();
  ^

testsuite/function-1.cc(2): remark #1419: external declaration in primary source file
  foo1();
  ^

testsuite/function-1.cc:2:1: error: C++ requires a type specifier for all declarations
 foo1();
 ^
1 diagnostic generated.

function-2

Table 7. function-2.cc

     1	// function parameter mismatch, over
     2	int foo2();
     3	int foo2sub() { return foo2(int);}
gcciccclang
testsuite/function-2.cc: In function ‘int foo2sub()’:
testsuite/function-2.cc:3:29: error: expected primary-expression before ‘int’
testsuite/function-2.cc:3:34: warning: control reaches end of non-void function
testsuite/function-2.cc(2): remark #1419: external declaration in primary source file
  int foo2();
      ^

testsuite/function-2.cc(3): remark #1418: external function definition with no prior declaration
  int foo2sub() { return foo2(int);}
      ^

testsuite/function-2.cc(3): error: type name is not allowed
  int foo2sub() { return foo2(int);}
                              ^

testsuite/function-2.cc(3): error #140: too many arguments in function call
  int foo2sub() { return foo2(int);}
                              ^

compilation aborted for testsuite/function-2.cc (code 2)
testsuite/function-2.cc:3:32:{3:29-3:32}: error: expected '(' for function-style cast or type construction
 int foo2sub() { return foo2(int);}
                             ~~~^
1 diagnostic generated.

function-3

Table 8. function-3.cc

     1	// function parameter mismatch, under
     2	int foo3(int);
     3	int foo3sub() { return foo3();}
     4	
gcciccclang
testsuite/function-3.cc: In function ‘int foo3sub()’:
testsuite/function-3.cc:3:29: error: too few arguments to function ‘int foo3(int)’
testsuite/function-3.cc:2:5: note: declared here
testsuite/function-3.cc:3:31: warning: control reaches end of non-void function
testsuite/function-3.cc(2): remark #1419: external declaration in primary source file
  int foo3(int);
      ^

testsuite/function-3.cc(3): remark #1418: external function definition with no prior declaration
  int foo3sub() { return foo3();}
      ^

testsuite/function-3.cc(3): error #165: too few arguments in function call
  int foo3sub() { return foo3();}
                              ^

compilation aborted for testsuite/function-3.cc (code 2)
testsuite/function-3.cc:3:24:{3:24-3:28}: error: no matching function for call to 'foo3'
 int foo3sub() { return foo3();}
                        ^~~~
testsuite/function-3.cc:2:5: note: candidate function not viable: requires 1 argument, but 0 were provided
 int foo3(int);
     ^
2 diagnostics generated.

Templates

One diagnostic, theme of templates.

template-instantiate-1

Table 9. template-instantiate-1.cc

     1	template <class T>
     2	struct A
     3	{
     4	  typename T::Type t;
     5	};
     6	
     7	typedef int MYT;
     8	
     9	A<MYT> a;
    10	
    11	struct B { typedef int Type; };
    12	
    13	int main()
    14	{
    15	  A<B>() + 1;
    16	}
gcciccclang
testsuite/template-instantiate-1.cc: In instantiation of ‘A<int>’:
testsuite/template-instantiate-1.cc:9:8:   instantiated from here
testsuite/template-instantiate-1.cc:4:20: error: ‘int’ is not a class, struct, or union type
testsuite/template-instantiate-1.cc: In function ‘int main()’:
testsuite/template-instantiate-1.cc:15:12: error: no match for ‘operator+’ in ‘{0} + 1’
testsuite/template-instantiate-1.cc(4): error: name followed by "::" must be a class or namespace name
    typename T::Type t;
             ^
          detected during instantiation of class "A<T> [with T=MYT={int}]" at line 9

testsuite/template-instantiate-1.cc(15): error: no operator "+" matches these operands
            operand types are: A<B> + int
    A<B>() + 1;
           ^

compilation aborted for testsuite/template-instantiate-1.cc (code 2)
testsuite/template-instantiate-1.cc:4:3: error: type 'int' cannot be used prior to '::' because it has no members
   typename T::Type t;
   ^
testsuite/template-instantiate-1.cc:9:8: note: in instantiation of template class 'A<int>' requested here
 A<MYT> a;
        ^
testsuite/template-instantiate-1.cc:15:10:{15:3-15:9}{15:12-15:13}: error: invalid operands to binary expression ('A<B>' and 'int')
   A<B>() + 1;
   ~~~~~~ ^ ~
3 diagnostics generated.

Bugzilla

Three diagnostics, theme of examples from GCC bugzilla

9335

Table 10. 9335.cc

     1	template <int N> struct X {
     2	    static const int value = X<N-1>::value;
     3	};
     4	template struct X<1000>;
gcciccclang
testsuite/9335.cc:2:38: error: template instantiation depth exceeds maximum of 1024 (use -ftemplate-depth= to increase the maximum) instantiating ‘struct X<-0x00000000000000018>’
testsuite/9335.cc:2:38:   instantiated from ‘const int X<-0x00000000000000017>::value’
testsuite/9335.cc:2:38:   instantiated from ‘const int X<-0x00000000000000016>::value’
testsuite/9335.cc:2:38:   instantiated from ‘const int X<-0x00000000000000015>::value’
testsuite/9335.cc:2:38:   instantiated from ‘const int X<-0x00000000000000014>::value’
testsuite/9335.cc:2:38:   instantiated from ‘const int X<-0x00000000000000013>::value’
testsuite/9335.cc:2:38:   [ skipping 1014 instantiation contexts ]
testsuite/9335.cc:2:38:   instantiated from ‘const int X<996>::value’
testsuite/9335.cc:2:38:   instantiated from ‘const int X<997>::value’
testsuite/9335.cc:2:38:   instantiated from ‘const int X<998>::value’
testsuite/9335.cc:2:38:   instantiated from ‘const int X<999>::value’
testsuite/9335.cc:2:38:   instantiated from ‘const int X<1000>::value’
testsuite/9335.cc:4:17:   instantiated from here

testsuite/9335.cc:2:38: error: incomplete type ‘X<-0x00000000000000018>’ used in nested name specifier
testsuite/9335.cc: In instantiation of ‘const int X<-0x00000000000000016>::value’:
testsuite/9335.cc:2:38:   instantiated from ‘const int X<-0x00000000000000015>::value’
testsuite/9335.cc:2:38:   instantiated from ‘const int X<-0x00000000000000014>::value’
testsuite/9335.cc:2:38:   instantiated from ‘const int X<-0x00000000000000013>::value’
testsuite/9335.cc:2:38:   instantiated from ‘const int X<-0x00000000000000012>::value’
testsuite/9335.cc:2:38:   instantiated from ‘const int X<-0x00000000000000011>::value’
testsuite/9335.cc:2:38:   [ skipping 1012 instantiation contexts ]
testsuite/9335.cc:2:38:   instantiated from ‘const int X<996>::value’
testsuite/9335.cc:2:38:   instantiated from ‘const int X<997>::value’
testsuite/9335.cc:2:38:   instantiated from ‘const int X<998>::value’
testsuite/9335.cc:2:38:   instantiated from ‘const int X<999>::value’
testsuite/9335.cc:2:38:   instantiated from ‘const int X<1000>::value’
testsuite/9335.cc:4:17:   instantiated from here
testsuite/9335.cc:2:38: error: ‘X<-0x00000000000000016>::value’ cannot be initialized by a non-constant expression when being declared

and so on, and so on, 14272 lines total
testsuite/9335.cc(2): error: excessive recursion at instantiation of class "X<500>"
      static const int value = X<N-1>::value;
                                       ^
          detected during:
            instantiation of class "X<N> [with N=501]" at line 2
            instantiation of class "X<N> [with N=502]" at line 2
            instantiation of class "X<N> [with N=503]" at line 2
            instantiation of class "X<N> [with N=504]" at line 2
            instantiation of class "X<N> [with N=505]" at line 2
            [ 490 instantiation contexts not shown ]
            instantiation of class "X<N> [with N=996]" at line 2
            instantiation of class "X<N> [with N=997]" at line 2
            instantiation of class "X<N> [with N=998]" at line 2
            instantiation of class "X<N> [with N=999]" at line 2
            instantiation of class "X<N> [with N=1000]" at line 4

testsuite/9335.cc(2): error: incomplete type is not allowed
      static const int value = X<N-1>::value;
                               ^
          detected during:
            instantiation of class "X<N> [with N=501]" at line 2
            instantiation of class "X<N> [with N=502]" at line 2
            instantiation of class "X<N> [with N=503]" at line 2
            instantiation of class "X<N> [with N=504]" at line 2
            instantiation of class "X<N> [with N=505]" at line 2
            [ 490 instantiation contexts not shown ]
            instantiation of class "X<N> [with N=996]" at line 2
            instantiation of class "X<N> [with N=997]" at line 2
            instantiation of class "X<N> [with N=998]" at line 2
            instantiation of class "X<N> [with N=999]" at line 2
            instantiation of class "X<N> [with N=1000]" at line 4

compilation aborted for testsuite/9335.cc (code 2)
testsuite/9335.cc:2:30: fatal error: recursive template instantiation exceeded maximum depth of 99
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<901>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<902>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<903>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<904>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<905>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<906>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<907>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<908>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<909>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<910>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<911>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<912>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<913>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<914>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<915>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<916>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<917>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<918>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<919>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<920>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<921>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<922>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<923>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<924>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<925>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<926>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<927>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<928>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<929>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<930>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<931>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<932>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<933>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<934>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<935>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<936>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<937>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<938>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<939>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<940>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<941>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<942>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<943>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<944>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<945>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<946>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<947>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<948>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<949>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<950>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<951>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<952>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<953>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<954>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<955>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<956>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<957>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<958>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<959>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<960>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<961>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<962>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<963>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<964>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<965>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<966>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<967>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<968>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<969>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<970>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<971>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<972>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<973>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<974>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<975>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<976>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<977>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<978>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<979>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<980>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<981>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<982>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<983>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<984>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<985>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<986>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<987>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<988>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<989>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<990>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<991>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<992>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<993>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<994>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<995>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<996>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<997>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<998>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:2:30: note: in instantiation of template class 'X<999>' requested here
     static const int value = X<N-1>::value;
                              ^
testsuite/9335.cc:4:17: note: in instantiation of template class 'X<1000>' requested here
 template struct X<1000>;
                 ^
testsuite/9335.cc:2:30: note: use -ftemplate-depth-N to increase recursive template instantiation depth
     static const int value = X<N-1>::value;
                              ^
102 diagnostics generated.

10118

Table 11. 10118.cc

     1	    struct A { void foo(); };
     2	    struct B : A {};
     3	    typedef void (B::*B_ptr) ();
     4	    
     5	    template <class T, void (T::* U)()>  struct CT {};
     6	    
     7	    CT<B, (B_ptr) &A::foo>  c;
gcciccclang
testsuite/10118.cc:7:23: error: ‘A::foo()’ cannot appear in a constant-expression
testsuite/10118.cc:7:23: error: ‘&’ cannot appear in a constant-expression
testsuite/10118.cc:7:23: error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
testsuite/10118.cc:7:26: error: template argument 2 is invalid
testsuite/10118.cc:7:30: error: invalid type in declaration before ‘;’ token
testsuite/10118.cc(2): remark #304: access control not specified ("public" by default)
      struct B : A {};
                 ^

testsuite/10118.cc(7): error: non-integral operation not allowed in nontype template argument
      CT<B, (B_ptr) &A::foo>  c;
             ^

compilation aborted for testsuite/10118.cc (code 2)
testsuite/10118.cc:7:11:{7:11-7:26}: error: non-type template argument is not a pointer to member constant
     CT<B, (B_ptr) &A::foo>  c;
           ^~~~~~~~~~~~~~~
1 diagnostic generated.

14263

Table 12. 14263.cc

     1	
     2	struct A { };
     3	
     4	struct B : virtual A { };
     5	
     6	int main()
     7	{
     8	   A* p = new B;
     9	   B* q = static_cast<B*>(p);  // #1
    10	}
gcciccclang
testsuite/14263.cc: In function ‘int main()’:
testsuite/14263.cc:9:28: error: cannot convert from base ‘A’ to derived type ‘B’ via virtual base ‘A’
testsuite/14263.cc:9:7: warning: unused variable ‘q’
testsuite/14263.cc(4): remark #304: access control not specified ("public" by default)
  struct B : virtual A { };
                     ^

testsuite/14263.cc(9): error: cannot convert pointer to base class "A" to pointer to derived class "B" -- base class is virtual
     B* q = static_cast<B*>(p);  // #1
                            ^

testsuite/14263.cc(9): remark #177: variable "q" was declared but never referenced
     B* q = static_cast<B*>(p);  // #1
        ^

compilation aborted for testsuite/14263.cc (code 2)
testsuite/14263.cc:9:11:{9:11-9:29}: error: cannot cast 'A *' to 'B *' via virtual base 'A'
    B* q = static_cast<B*>(p);  // #1
           ^~~~~~~~~~~~~~~~~~
1 diagnostic generated.

14283

Table 13. 14283.cc

     1	template<class T>
     2	class Class1;
     3	
     4	class Class2 {
     5	}  // no ;
     6	
     7	typedef Class1<Class2> Type1;
gcciccclang
testsuite/14283.cc:7:24: error: invalid declarator before ‘Type1’
testsuite/14283.cc(7): remark #82: storage class is not first
  typedef Class1<Class2> Type1;
  ^

testsuite/14283.cc(7): error: expected a ";"
  typedef Class1<Class2> Type1;
          ^

testsuite/14283.cc(7): error: incomplete type is not allowed
  typedef Class1<Class2> Type1;
                         ^

compilation aborted for testsuite/14283.cc (code 2)

15538

Table 14. 15538.cc

     1	
     2	template <typename D> 
     3	struct A { typename D::Q r;}; 
     4	 
     5	template<typename G> 
     6	struct H : A<H<G> > { typedef G* Q; }; 
     7	 
     8	H<bool> h;
gcciccclang
testsuite/15538.cc: In instantiation of ‘A<H<bool> >’:
testsuite/15538.cc:6:21:   instantiated from ‘H<bool>’
testsuite/15538.cc:8:9:   instantiated from here
testsuite/15538.cc:3:26: error: no type named ‘Q’ in ‘struct H<bool>’
testsuite/15538.cc(6): remark #304: access control not specified ("public" by default)
  struct H : A<H<G> > { typedef G* Q; }; 
             ^

testsuite/15538.cc(3): error: incomplete type is not allowed
  struct A { typename D::Q r;}; 
                      ^
          detected during:
            instantiation of class "A<D> [with D=H<bool>]" at line 6
            instantiation of class "H<G> [with G=bool]" at line 8

compilation aborted for testsuite/15538.cc (code 2)
testsuite/15538.cc:3:12:{3:12-3:20}: error: no type named 'Q' in 'H<bool>'
 struct A { typename D::Q r;}; 
            ^~~~~~~~
testsuite/15538.cc:6:12: note: in instantiation of template class 'A<H<bool> >' requested here
 struct H : A<H<G> > { typedef G* Q; }; 
            ^
testsuite/15538.cc:8:9: note: in instantiation of template class 'H<bool>' requested here
 H<bool> h;
         ^
3 diagnostics generated.

16128

Table 15. 16128.cc

     1	template<typename T>
     2	struct A {
     3	    };
     4	
     5	namespace H {
     6	    template<typename T>
     7	    struct B {};
     8	    };
     9	
    10	A a;
    11	H::B b;
    12	
    13	int main() {
    14	    A a;
    15	    H::B b;
    16	    return 0;
    17	    }
    18	
gcciccclang
testsuite/16128.cc:10:1: error: invalid use of template-name ‘A’ without an argument list
testsuite/16128.cc:11:1: error: invalid use of template-name ‘H::B’ without an argument list
testsuite/16128.cc: In function ‘int main()’:
testsuite/16128.cc:14:7: error: missing template arguments before ‘a’
testsuite/16128.cc:14:7: error: expected ‘;’ before ‘a’
testsuite/16128.cc:15:10: error: missing template arguments before ‘b’
testsuite/16128.cc:15:10: error: expected ‘;’ before ‘b’
testsuite/16128.cc(8): remark #424: extra ";" ignored
      };
       ^

testsuite/16128.cc(10): error: argument list for class template "A" is missing
  A a;
  ^

testsuite/16128.cc(11): error: argument list for class template "H::B" is missing
  H::B b;
  ^

testsuite/16128.cc(14): error: argument list for class template "A" is missing
      A a;
      ^

testsuite/16128.cc(15): error: argument list for class template "H::B" is missing
      H::B b;
      ^

testsuite/16128.cc(15): error: expected a ";"
      H::B b;
           ^

compilation aborted for testsuite/16128.cc (code 2)
testsuite/16128.cc:10:1: error: unknown type name 'A'
 A a;
 ^
testsuite/16128.cc:11:4:{11:1-11:4}: error: no type named 'B' in namespace 'H'
 H::B b;
 ~~~^
testsuite/16128.cc:14:5: error: cannot refer to class template 'A' without a template argument list
     A a;
     ^
testsuite/16128.cc:2:8: note: template is declared here
 struct A {
        ^
testsuite/16128.cc:15:8:{15:5-15:8}: error: cannot refer to class template 'B' without a template argument list
     H::B b;
     ~~~^
testsuite/16128.cc:7:12: note: template is declared here
     struct B {};
            ^
6 diagnostics generated.

16232

Table 16. 16232.cc

     1	struct A
     2	{
     3	    A() { Foo(); }
     4	    template<typename U> void Foo();
     5	};
     6	
gcciccclang
testsuite/16232.cc: In constructor ‘A::A()’:
testsuite/16232.cc:3:15: error: no matching function for call to ‘A::Foo()’
testsuite/16232.cc(3): error: no instance of function template "A::Foo" matches the argument list
      A() { Foo(); }
            ^

compilation aborted for testsuite/16232.cc (code 2)
testsuite/16232.cc:3:11:{3:11-3:14}: error: no matching member function for call to 'Foo'
     A() { Foo(); }
           ^~~
1 diagnostic generated.

16582

Table 17. 16582.cc

     1	template<class T, char* p> struct X {
     2	  X();
     3	  X(const char* q) { /* ... */ }
     4	};
     5	
     6	char p[] = "Vivisectionist";
     7	X<int, p> x2; // OK
     8	X<int, &p[0]> x3; // ERROR
     9	
gcciccclang
testsuite/16582.cc:8:13: error: template argument 2 is invalid
testsuite/16582.cc:8:17: error: invalid type in declaration before ‘;’ token
testsuite/16582.cc(8): error: this operator is not allowed in a template argument expression
  X<int, &p[0]> x3; // ERROR
           ^

compilation aborted for testsuite/16582.cc (code 2)
testsuite/16582.cc:8:8:{8:8-8:13}: error: non-type template argument does not refer to any declaration
 X<int, &p[0]> x3; // ERROR
        ^~~~~
1 diagnostic generated.

17166

Table 18. 17166.cc

     1	struct A {};
     2	int foo(A);
     3	template <typename T> int foo(void *, T);
     4	enum {e};
     5	int i = foo(0, e);
gcciccclang
testsuite/17166.cc:3:27: error: ‘int foo(void*, T) [with T = <anonymous enum>]’, declared using anonymous type, is used but never defined
testsuite/17166.cc(2): remark #1419: external declaration in primary source file
  int foo(A);
      ^

testsuite/17166.cc(3): remark #1419: external declaration in primary source file
  template <typename T> int foo(void *, T);
                            ^

testsuite/17166.cc(5): error: no instance of overloaded function "foo" matches the argument list
            argument types are: (int, enum <unnamed>)
  int i = foo(0, e);
          ^

compilation aborted for testsuite/17166.cc (code 2)

19377

Table 19. 19377.cc

     1	class A {
     2	protected:
     3	    int i;
     4	};
     5	
     6	class B : public A {
     7	private:
     8	    using A::i;
     9	};
    10	
    11	class C : public B {
    12	public:
    13	    void f() { A::i = 0; }
    14	};
    15	
gcciccclang
testsuite/19377.cc: In member function ‘void C::f()’:
testsuite/19377.cc:3:9: error: ‘int A::i’ is protected
testsuite/19377.cc:13:19: error: within this context

19502

Table 20. 19502.cc

     1	template<typename T> struct A
     2	{
     3	    template<T> struct B;
     4	};
     5	
     6	A<void> a;
gcciccclang
testsuite/19502.cc: In instantiation of ‘A<void>’:
testsuite/19502.cc:6:9:   instantiated from here
testsuite/19502.cc:3:24: error: ‘void’ is not a valid type for a template constant parameter
testsuite/19502.cc:3:24: error: ‘void’ is not a valid type for a template constant parameter
testsuite/19502.cc(3): error: a template parameter may not have void type
      template<T> struct B;
               ^
          detected during instantiation of class "A<T> [with T=void]" at line 6

compilation aborted for testsuite/19502.cc (code 2)
testsuite/19502.cc:3:15: error: a non-type template parameter cannot have type 'void'
     template<T> struct B;
               ^
testsuite/19502.cc:6:9: note: in instantiation of template class 'A<void>' requested here
 A<void> a;
         ^
2 diagnostics generated.

19538

Table 21. 19538.cc

     1	struct A { };
     2	typedef struct A A;
     3	struct A a;                     // [1]
     4	
     5	struct wrapper {
     6	  struct B { };
     7	  typedef struct B B;
     8	  struct B b;                   // [2]
     9	};
gcciccclang
testsuite/19538.cc:8:10: error: using typedef-name ‘wrapper::B’ after ‘struct’
testsuite/19538.cc:7:20: error: ‘wrapper::B’ has a previous declaration here

20332

Table 22. 20332.cc

     1	struct bar {};
     2	void foo1() {
     3	    bar& b = bar();
     4	    }
     5	void foo(bar& b = bar()) {}
gcciccclang
testsuite/20332.cc: In function ‘void foo1()’:
testsuite/20332.cc:3:18: error: invalid initialization of non-const reference of type ‘bar&’ from an rvalue of type ‘bar’
testsuite/20332.cc:3:10: warning: unused variable ‘b’
testsuite/20332.cc: At global scope:
testsuite/20332.cc:5:24: error: default argument for ‘bar& b’ has type ‘bar’
testsuite/20332.cc:5:6: warning: unused parameter ‘b’
testsuite/20332.cc(2): remark #1418: external function definition with no prior declaration
  void foo1() {
       ^

testsuite/20332.cc(3): error: initial value of reference to non-const must be an lvalue
      bar& b = bar();
               ^

testsuite/20332.cc(3): remark #177: variable "b" was declared but never referenced
      bar& b = bar();
           ^

testsuite/20332.cc(5): error: initial value of reference to non-const must be an lvalue
  void foo(bar& b = bar()) {}
                    ^

testsuite/20332.cc(5): remark #1418: external function definition with no prior declaration
  void foo(bar& b = bar()) {}
       ^

testsuite/20332.cc(5): remark #869: parameter "b" was never referenced
  void foo(bar& b = bar()) {}
                ^

compilation aborted for testsuite/20332.cc (code 2)
testsuite/20332.cc:3:10:{3:14-3:19}: error: non-const lvalue reference to type 'bar' cannot bind to a temporary of type 'bar'
     bar& b = bar();
          ^   ~~~~~
testsuite/20332.cc:5:15:{5:19-5:24}: error: non-const lvalue reference to type 'bar' cannot bind to a temporary of type 'bar'
 void foo(bar& b = bar()) {}
               ^   ~~~~~
2 diagnostics generated.

20397

Table 23. 20397.cc

     1	class B {
     2	public:
     3	  int mi;             // nonstatic member
     4	  static int si;      // static member
     5	};
     6	
     7	class D : private B {
     8	};
     9	
    10	class DD : public D {
    11	  void f();
    12	};
    13	
    14	void DD::f() {
    15	  mi = 3;             // error: mi is private in D
    16	  si = 3;             // error: si is private in D
    17	  B b;
    18	  b.mi = 3;           // OK (b.mi is different from this->mi)
    19	  b.si = 3;           // OK (b.si is different from this->si)
    20	  B::si = 3;          // OK
    21	  B* bp1 = this;      // error: B is a private base class
    22	  B* bp2 = (B*)this;  // OK with cast
    23	  bp2->mi = 3;        // OK: access through a pointer to B.
    24	}
    25	
gcciccclang
testsuite/20397.cc: In member function ‘void DD::f()’:
testsuite/20397.cc:3:7: error: ‘int B::mi’ is inaccessible
testsuite/20397.cc:15:3: error: within this context
testsuite/20397.cc:4:14: error: ‘int B::si’ is inaccessible
testsuite/20397.cc:16:3: error: within this context
testsuite/20397.cc:4:14: error: ‘int B::si’ is inaccessible
testsuite/20397.cc:16:3: error: within this context
testsuite/20397.cc:1:9: error: ‘class B B::B’ is inaccessible
testsuite/20397.cc:17:5: error: within this context
testsuite/20397.cc:1:9: error: ‘class B B::B’ is inaccessible
testsuite/20397.cc:20:3: error: within this context
testsuite/20397.cc:1:9: error: ‘class B B::B’ is inaccessible
testsuite/20397.cc:21:6: error: within this context
testsuite/20397.cc:21:12: error: ‘B’ is an inaccessible base of ‘DD’
testsuite/20397.cc:1:9: error: ‘class B B::B’ is inaccessible
testsuite/20397.cc:22:6: error: within this context
testsuite/20397.cc:1:9: error: ‘class B B::B’ is inaccessible
testsuite/20397.cc:22:15: error: within this context
testsuite/20397.cc:21:6: warning: unused variable ‘bp1’
testsuite/20397.cc(15): error #308: member "B::mi" (declared at line 3) is inaccessible
    mi = 3;             // error: mi is private in D
    ^

testsuite/20397.cc(16): error #308: member "B::si" (declared at line 4) is inaccessible
    si = 3;             // error: si is private in D
    ^

testsuite/20397.cc(17): warning #525: type "B::B" (declared at line 1) is an inaccessible type (allowed for cfront compatibility)
    B b;
    ^

testsuite/20397.cc(20): warning #525: type "B::B" (declared at line 1) is an inaccessible type (allowed for cfront compatibility)
    B::si = 3;          // OK
    ^

testsuite/20397.cc(21): warning #525: type "B::B" (declared at line 1) is an inaccessible type (allowed for cfront compatibility)
    B* bp1 = this;      // error: B is a private base class
    ^

testsuite/20397.cc(21): error #312: conversion to inaccessible base class "B" is not allowed
    B* bp1 = this;      // error: B is a private base class
             ^

testsuite/20397.cc(22): warning #525: type "B::B" (declared at line 1) is an inaccessible type (allowed for cfront compatibility)
    B* bp2 = (B*)this;  // OK with cast
    ^

testsuite/20397.cc(22): warning #525: type "B::B" (declared at line 1) is an inaccessible type (allowed for cfront compatibility)
    B* bp2 = (B*)this;  // OK with cast
              ^

testsuite/20397.cc(17): remark #593: variable "b" was set but never used
    B b;
      ^

testsuite/20397.cc(21): remark #177: variable "bp1" was declared but never referenced
    B* bp1 = this;      // error: B is a private base class
       ^

compilation aborted for testsuite/20397.cc (code 2)
testsuite/20397.cc:21:6: warning: unused variable 'bp1' [-Wunused-variable]
   B* bp1 = this;      // error: B is a private base class
      ^
1 diagnostic generated.

21038

Table 24. 21038.cc

     1	void foo() {
     2	
     3	    int i;
     4	    int j;
     5	    int k;
     6	
gcciccclang
testsuite/21038.cc: In function ‘void foo()’:
testsuite/21038.cc:3:9: warning: unused variable ‘i’
testsuite/21038.cc:4:9: warning: unused variable ‘j’
testsuite/21038.cc:5:9: warning: unused variable ‘k’
testsuite/21038.cc:5:10: error: expected ‘}’ at end of input
testsuite/21038.cc(1): remark #1418: external function definition with no prior declaration
  void foo() {
       ^

testsuite/21038.cc(3): remark #177: variable "i" was declared but never referenced
      int i;
          ^

testsuite/21038.cc(4): remark #177: variable "j" was declared but never referenced
      int j;
          ^

testsuite/21038.cc(5): remark #177: variable "k" was declared but never referenced
      int k;
          ^

testsuite/21038.cc(6): error: expected a "}"

compilation aborted for testsuite/21038.cc (code 2)
testsuite/21038.cc:6:1: error: expected '}'
 
 ^
1 diagnostic generated.

21386

Table 25. 21386.cc

     1	int i() { return 0; }
     2	class A {};
     3	A a() { return A(); }
     4	int main()
     5	{
     6	    int * pi = &i();
     7	    A * pa = &a();
     8	}
gcciccclang
testsuite/21386.cc: In function ‘int main()’:
testsuite/21386.cc:6:19: error: lvalue required as unary ‘&’ operand
testsuite/21386.cc:7:17: warning: taking address of temporary
testsuite/21386.cc:6:11: warning: unused variable ‘pi’
testsuite/21386.cc:7:9: warning: unused variable ‘pa’
testsuite/21386.cc(1): remark #1418: external function definition with no prior declaration
  int i() { return 0; }
      ^

testsuite/21386.cc(3): remark #1418: external function definition with no prior declaration
  A a() { return A(); }
    ^

testsuite/21386.cc(6): error: expression must be an lvalue or a function designator
      int * pi = &i();
                  ^

testsuite/21386.cc(7): warning #1563: taking the address of a temporary
      A * pa = &a();
               ^

testsuite/21386.cc(6): remark #177: variable "pi" was declared but never referenced
      int * pi = &i();
            ^

testsuite/21386.cc(7): remark #177: variable "pa" was declared but never referenced
      A * pa = &a();
          ^

compilation aborted for testsuite/21386.cc (code 2)
testsuite/21386.cc:6:16:{6:17-6:20}: error: address expression must be an lvalue or a function designator
     int * pi = &i();
                ^~~~
testsuite/21386.cc:7:14:{7:15-7:18}: error: taking the address of a temporary object of type 'A' [-Waddress-of-temporary]
     A * pa = &a();
              ^~~~
2 diagnostics generated.

21413

Table 26. 21413.cc

     1	template <typename TT> struct a
     2	{
     3	  typedef typename TT::value_type value_type;
     4	};
     5	
     6	template<typename T> void foo(int);
     7	template<typename C> typename a<C>::value_type foo(const C&);
     8	int main() {
     9	    int s;
    10	    foo<float>(s);
    11	    }
    12	
    13	
gcciccclang
testsuite/21413.cc: In instantiation of ‘a<float>’:
testsuite/21413.cc:10:17:   instantiated from here
testsuite/21413.cc:3:35: error: ‘float’ is not a class, struct, or union type
testsuite/21413.cc(6): remark #1419: external declaration in primary source file
  template<typename T> void foo(int);
                            ^

testsuite/21413.cc(7): remark #1419: external declaration in primary source file
  template<typename C> typename a<C>::value_type foo(const C&);
                                                 ^

testsuite/21413.cc(3): error: name followed by "::" must be a class or namespace name
    typedef typename TT::value_type value_type;
                     ^
          detected during instantiation of class "a<TT> [with TT=float]" at line 10

testsuite/21413.cc(10): warning #592: variable "s" is used before its value is set
      foo<float>(s);
                 ^

compilation aborted for testsuite/21413.cc (code 2)
testsuite/21413.cc:3:11: error: type 'float' cannot be used prior to '::' because it has no members
   typedef typename TT::value_type value_type;
           ^
testsuite/21413.cc:7:22: note: in instantiation of template class 'a<float>' requested here
 template<typename C> typename a<C>::value_type foo(const C&);
                      ^
testsuite/21413.cc:7:48: note: while substituting deduced template arguments into function template 'foo', here
 template<typename C> typename a<C>::value_type foo(const C&);
                                                ^
3 diagnostics generated.

21631

Table 27. 21631.cc

     1	int  f(int&);
     2	int f();
     3	int g(void)
     4	{
     5	  return f(1);
     6	}
gcciccclang
testsuite/21631.cc: In function ‘int g()’:
testsuite/21631.cc:5:13: error: no matching function for call to ‘f(int)’
testsuite/21631.cc:1:6: note: candidates are: int f(int&)
testsuite/21631.cc:2:5: note:                 int f()
testsuite/21631.cc:6:1: warning: control reaches end of non-void function
testsuite/21631.cc(1): remark #1419: external declaration in primary source file
  int  f(int&);
       ^

testsuite/21631.cc(2): remark #1419: external declaration in primary source file
  int f();
      ^

testsuite/21631.cc(3): remark #1418: external function definition with no prior declaration
  int g(void)
      ^

testsuite/21631.cc(5): error: no instance of overloaded function "f" matches the argument list
            argument types are: (int)
    return f(1);
           ^

compilation aborted for testsuite/21631.cc (code 2)
testsuite/21631.cc:5:10:{5:10-5:11}: error: no matching function for call to 'f'
   return f(1);
          ^
testsuite/21631.cc:1:6:{5:12-5:13}: note: candidate function not viable: no known conversion from 'int' to 'int &' for 1st argument
 int  f(int&);
      ^
testsuite/21631.cc:2:5: note: candidate function not viable: requires 0 arguments, but 1 was provided
 int f();
     ^
3 diagnostics generated.

24375

Table 28. 24375.cc

     1	template<typename T> class foo;
     2	
     3	template<>
     4	struct foo<int> { static const int u = 0; static int v; };
     5	
     6	const int foo<int>::u;
     7	
     8	const int foo<int>::u;
     9	
    10	int foo<int>::v;
    11	
    12	int foo<int>::v;
gcciccclang
testsuite/24375.cc:8:21: error: redefinition of ‘const int foo<int>::u’
testsuite/24375.cc:4:40: error: ‘const int foo<int>::u’ previously defined here
testsuite/24375.cc:12:15: error: redefinition of ‘int foo<int>::v’
testsuite/24375.cc:10:15: error: ‘int foo<int>::v’ previously declared here
testsuite/24375.cc(8): error: member "foo<int>::u" has already been defined
  const int foo<int>::u;
                      ^

testsuite/24375.cc(12): error: member "foo<int>::v" has already been defined
  int foo<int>::v;
                ^

compilation aborted for testsuite/24375.cc (code 2)
testsuite/24375.cc:4:1: warning: struct template 'foo' was previously declared as a class template [-Wmismatched-tags]
 struct foo<int> { static const int u = 0; static int v; };
 ^~~~~~
 class
testsuite/24375.cc:1:28: note: previous use is here
 template<typename T> class foo;
                            ^
testsuite/24375.cc:8:21: error: redefinition of 'u'
 const int foo<int>::u;
                     ^
testsuite/24375.cc:6:21: note: previous definition is here
 const int foo<int>::u;
                     ^
testsuite/24375.cc:12:15: error: redefinition of 'v'
 int foo<int>::v;
               ^
testsuite/24375.cc:10:15: note: previous definition is here
 int foo<int>::v;
               ^
6 diagnostics generated.

24591

Table 29. 24591.cc

     1	template<typename T> class A
     2	public:
     3	    int i;
     4	    };
gcciccclang
testsuite/24591.cc:2:1: error: expected unqualified-id before ‘public’
testsuite/24591.cc:4:5: error: expected declaration before ‘}’ token
testsuite/24591.cc(2): error: expected an identifier
  public:
  ^

testsuite/24591.cc(4): error: expected a declaration
      };
      ^

compilation aborted for testsuite/24591.cc (code 2)
testsuite/24591.cc:2:1: error: expected unqualified-id
 public:
 ^
testsuite/24591.cc:4:5: error: expected external declaration
     };
     ^
2 diagnostics generated.

24607

Table 30. 24607.cc

     1	template<typename T> class A{};
     2	template<typename T> class B{};
     3	template<typename T> class C{};
     4	template<typename T> class D{};
     5	template<typename T> class E{};
     6	template<typename T> void f() {
     7	typedef A<typename B<D<E<int> > > > foo;
     8	}
gcciccclang
testsuite/24607.cc: In function ‘void f()’:
testsuite/24607.cc:7:35: error: template argument 1 is invalid
testsuite/24607.cc:7:40: error: invalid type in declaration before ‘;’ token
testsuite/24607.cc(6): remark #1418: external function definition with no prior declaration
  template<typename T> void f() {
                            ^

testsuite/24607.cc:7:20: error: expected a qualified name after 'typename'
 typedef A<typename B<D<E<int> > > > foo;
                    ^
1 diagnostic generated.

24985

Table 31. 24985.cc

     1	void bar(void)
     2	{
     3	  _Complex float Gamma;
     4	  int *P;
     5	  P = (P-42) + Gamma*4;
     6	}
     7	
gcciccclang
testsuite/24985.cc: In function ‘void bar()’:
testsuite/24985.cc:5:22: error: invalid operands of types ‘int*’ and ‘__complex__ float’ to binary ‘operator+’
testsuite/24985.cc(1): remark #1418: external function definition with no prior declaration
  void bar(void)
       ^

testsuite/24985.cc(5): warning #592: variable "P" is used before its value is set
    P = (P-42) + Gamma*4;
         ^

testsuite/24985.cc(5): warning #592: variable "Gamma" is used before its value is set
    P = (P-42) + Gamma*4;
                 ^

testsuite/24985.cc(5): error: expression must have integral or enum type
    P = (P-42) + Gamma*4;
                 ^

compilation aborted for testsuite/24985.cc (code 2)
testsuite/24985.cc:5:14:{5:7-5:13}{5:16-5:23}: error: invalid operands to binary expression ('int *' and '_Complex float')
   P = (P-42) + Gamma*4;
       ~~~~~~ ^ ~~~~~~~
1 diagnostic generated.

25666

Table 32. 25666.cc

     1	struct A { ~A(); };
     2	
     3	struct B
     4	{
     5	    template<int> friend A::~A();
     6	};
gcciccclang
testsuite/25666.cc:5:26: error: prototype for ‘A::~A()’ does not match any in class ‘A’
testsuite/25666.cc:1:12: error: candidate is: A::~A()
testsuite/25666.cc(5): error: declaration is incompatible with "A::~A()" (declared at line 1)
      template<int> friend A::~A();
                              ^

compilation aborted for testsuite/25666.cc (code 2)
testsuite/25666.cc:5:29:{5:26-5:29}: error: out-of-line definition of '~A' does not match any declaration in 'A'
     template<int> friend A::~A();
                          ~~~^
testsuite/25666.cc:1:12: note: member declaration nearly matches
 struct A { ~A(); };
            ^
2 diagnostics generated.

25689

Table 33. 25689.cc

     1	struct Var {
     2	    operator int() const;
     3	    Var& operator = (int);
     4	    bool operator == (int);
     5	};
     6	bool operator == (int, Var&);
     7	
     8	void foo(Var var)
     9	{
    10	    if (var = 0);  // if (var.operator=(0))
    11	}
    12	
    13	[ foo.cpp.t03.gimple ]
    14	
    15	void foo(Var) (var)
    16	{
    17	  bool retval.0;
    18	  struct Var & D.1768;
    19	  int D.1769;
    20	
    21	  D.1768 = operator= (&var, 0);
    22	  D.1769 = operator 1 (D.1768);
    23	  retval.0 = D.1769 != 0;
    24	}
gcciccclang
testsuite/25689.cc: In function ‘void foo(Var)’:
testsuite/25689.cc:10:17: warning: suggest braces around empty body in an ‘if’ statement
testsuite/25689.cc: At global scope:
testsuite/25689.cc:13:1: error: expected unqualified-id before ‘[’ token
testsuite/25689.cc(6): remark #1419: external declaration in primary source file
  bool operator == (int, Var&);
       ^

testsuite/25689.cc(8): remark #1418: external function definition with no prior declaration
  void foo(Var var)
       ^

testsuite/25689.cc(13): error: expected a declaration
  [ foo.cpp.t03.gimple ]
  ^

testsuite/25689.cc(24): warning #12: parsing restarts here after previous syntax error

compilation aborted for testsuite/25689.cc (code 2)
testsuite/25689.cc:10:13:{10:9-10:16}: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
     if (var = 0);  // if (var.operator=(0))
         ~~~~^~~
         (      )
testsuite/25689.cc:10:13: note: use '==' to turn this assignment into an equality comparison
     if (var = 0);  // if (var.operator=(0))
             ^
             ==
testsuite/25689.cc:10:17: warning: if statement has empty body [-Wempty-body]
     if (var = 0);  // if (var.operator=(0))
                 ^
testsuite/25689.cc:13:1: error: expected unqualified-id
 [ foo.cpp.t03.gimple ]
 ^
testsuite/25689.cc:13:7:{13:3-13:6}: error: member reference base type 'void (*)(Var)' is not a structure or union
 [ foo.cpp.t03.gimple ]
   ~~~ ^
5 diagnostics generated.

25733

Table 34. 25733.cc

     1	int bar(int a, int b, int c)
     2	{
     3	    if ((b = c) && (a == 0))
     4	        {
     5	        return 0;
     6	        }
     7	    return 1;
     8	}
gcciccclang
testsuite/25733.cc(1): remark #1418: external function definition with no prior declaration
  int bar(int a, int b, int c)
      ^

testsuite/25733.cc(1): remark #593: parameter "b" was set but never used
  int bar(int a, int b, int c)
                     ^


25801

Table 35. 25801.cc

     1	extern int (*a)[];
     2	void g(void) { a++; }
gcciccclang
testsuite/25801.cc: In function ‘void g()’:
testsuite/25801.cc:2:17: error: cannot increment a pointer to incomplete type ‘int []’
testsuite/25801.cc(1): remark #1419: external declaration in primary source file
  extern int (*a)[];
               ^

testsuite/25801.cc(2): remark #1418: external function definition with no prior declaration
  void g(void) { a++; }
       ^

testsuite/25801.cc(2): error: expression must be a pointer to a complete object type
  void g(void) { a++; }
                 ^

compilation aborted for testsuite/25801.cc (code 2)
testsuite/25801.cc:2:17:{2:16-2:17}: error: arithmetic on pointer to incomplete type 'int (*)[]'
 void g(void) { a++; }
                ~^
1 diagnostic generated.

26950

Table 36. 26950.cc

     1	namespace N {
     2	    const int a = 42;
     3	    enum N { e0 = N::a };
     4	}
gcciccclang
testsuite/26950.cc:3:19: error: incomplete type ‘N::N’ used in nested name specifier
testsuite/26950.cc:3:19: error: expected a class or namespace
     enum N { e0 = N::a };
                   ^
1 diagnostic generated.

34758

Table 37. 34758.cc

     1	struct A
     2	{
     3	  A (const A& = A());
     4	};
gcciccclang
testsuite/34758.cc:3:19: error: the default argument for parameter 0 of ‘A::A(const A&)’ has not yet been parsed
testsuite/34758.cc(3): error: no instance of constructor "A::A" matches the argument list
    A (const A& = A());
                  ^

compilation aborted for testsuite/34758.cc (code 2)
testsuite/34758.cc:3:17: error: no matching constructor for initialization of 'A'
   A (const A& = A());
                 ^
testsuite/34758.cc:3:3: note: candidate constructor not viable: requires 1 argument, but 0 were provided
   A (const A& = A());
   ^
2 diagnostics generated.

35112

Table 38. 35112.cc

     1	namespace X { struct A; }
     2	namespace Y { struct A; }
     3	namespace Z { struct A; }
     4	
     5	using namespace X;
     6	using namespace Y;
     7	using namespace Z;
     8	
     9	A* p;
gcciccclang
testsuite/35112.cc:9:1: error: reference to ‘A’ is ambiguous
testsuite/35112.cc:3:22: error: candidates are: struct Z::A
testsuite/35112.cc:2:22: error:                 struct Y::A
testsuite/35112.cc:1:22: error:                 struct X::A
testsuite/35112.cc:9:1: error: ‘A’ does not name a type
testsuite/35112.cc(9): error: "A" is ambiguous
  A* p;
  ^

compilation aborted for testsuite/35112.cc (code 2)
testsuite/35112.cc:9:1: error: reference to 'A' is ambiguous
 A* p;
 ^
testsuite/35112.cc:1:22: note: candidate found by name lookup is 'X::A'
 namespace X { struct A; }
                      ^
testsuite/35112.cc:2:22: note: candidate found by name lookup is 'Y::A'
 namespace Y { struct A; }
                      ^
testsuite/35112.cc:3:22: note: candidate found by name lookup is 'Z::A'
 namespace Z { struct A; }
                      ^
4 diagnostics generated.

35335

Table 39. 35335.cc

     1	struct A {};
     2	
     3	void foo()
     4	{
     5	  A a;
     6	  a = ({ { 1; } });
     7	}
gcciccclang
testsuite/35335.cc: In function ‘void foo()’:
testsuite/35335.cc:6:13: warning: statement has no effect
testsuite/35335.cc:6:18: error: no match for ‘operator=’ in ‘a = ({...})’
testsuite/35335.cc:1:10: note: candidate is: A& A::operator=(const A&)
testsuite/35335.cc(3): remark #1418: external function definition with no prior declaration
  void foo()
       ^

testsuite/35335.cc(6): remark #174: expression has no effect
    a = ({ { 1; } });
             ^

testsuite/35335.cc(6): error: no suitable constructor exists to convert from "void" to "A"
    a = ({ { 1; } });
         ^

testsuite/35335.cc(5): remark #593: variable "a" was set but never used
    A a;
      ^

compilation aborted for testsuite/35335.cc (code 2)
testsuite/35335.cc:6:12:{6:12-6:13}: warning: expression result unused [-Wunused-value]
   a = ({ { 1; } });
            ^
testsuite/35335.cc:6:5:{6:3-6:4}{6:7-6:19}: error: no viable overloaded '='
   a = ({ { 1; } });
   ~ ^ ~~~~~~~~~~~~
testsuite/35335.cc:1:8:{6:7-6:19}: note: candidate function (the implicit copy assignment operator) not viable: cannot convert argument of incomplete type 'void' to 'A const'
 struct A {};
        ^
3 diagnostics generated.

35441

Table 40. 35441.cc

     1	void foo1(char **p, char **q)
     2	{
     3	  (p - q)();
     4	}
     5	
     6	void foo2(char *p, char *q)
     7	{
     8	  (p < q ? p : q)();
     9	}
    10	
    11	
    12	void foo3(unsigned i, int j)
    13	{
    14	  (i << j | i >> (32 - j))();
    15	  (i >> j | i << (32 - j))();
    16	}
gcciccclang
testsuite/35441.cc: In function ‘void foo1(char**, char**)’:
testsuite/35441.cc:3:11: error: ‘((((long int)p) - ((long int)q)) (ceiling /) 8l)’ cannot be used as a function
testsuite/35441.cc: In function ‘void foo2(char*, char*)’:
testsuite/35441.cc:8:19: error: ‘((p < q) ? p :  q)’ cannot be used as a function
testsuite/35441.cc: In function ‘void foo3(unsigned int, int)’:
testsuite/35441.cc:14:28: error: ‘#‘lrotate_expr’ not supported by dump_expr#<expression error>’ cannot be used as a function
testsuite/35441.cc:15:28: error: ‘#‘rrotate_expr’ not supported by dump_expr#<expression error>’ cannot be used as a function
testsuite/35441.cc(1): remark #1418: external function definition with no prior declaration
  void foo1(char **p, char **q)
       ^

testsuite/35441.cc(3): error: expression must have (pointer-to-) function type
    (p - q)();
    ^

testsuite/35441.cc(6): remark #1418: external function definition with no prior declaration
  void foo2(char *p, char *q)
       ^

testsuite/35441.cc(8): error: expression must have (pointer-to-) function type
    (p < q ? p : q)();
    ^

testsuite/35441.cc(12): remark #1418: external function definition with no prior declaration
  void foo3(unsigned i, int j)
       ^

testsuite/35441.cc(14): error: expression must have (pointer-to-) function type
    (i << j | i >> (32 - j))();
    ^

testsuite/35441.cc(15): error: expression must have (pointer-to-) function type
    (i >> j | i << (32 - j))();
    ^

compilation aborted for testsuite/35441.cc (code 2)
testsuite/35441.cc:3:10:{3:3-3:10}: error: called object type 'long' is not a function or function pointer
   (p - q)();
   ~~~~~~~^
testsuite/35441.cc:8:18:{8:3-8:18}: error: called object type 'char *' is not a function or function pointer
   (p < q ? p : q)();
   ~~~~~~~~~~~~~~~^
testsuite/35441.cc:14:27:{14:3-14:27}: error: called object type 'unsigned int' is not a function or function pointer
   (i << j | i >> (32 - j))();
   ~~~~~~~~~~~~~~~~~~~~~~~~^
testsuite/35441.cc:15:27:{15:3-15:27}: error: called object type 'unsigned int' is not a function or function pointer
   (i >> j | i << (32 - j))();
   ~~~~~~~~~~~~~~~~~~~~~~~~^
4 diagnostics generated.

35742

Table 41. 35742.cc

     1	void foo()
     2	{
     3	  for (;;)
     4	    ({break;})();
     5	}
gcciccclang
testsuite/35742.cc: In function ‘void foo()’:
testsuite/35742.cc:4:16: error: void value not ignored as it ought to be
testsuite/35742.cc(1): remark #1418: external function definition with no prior declaration
  void foo()
       ^

testsuite/35742.cc(4): error: expression must have (pointer-to-) function type
      ({break;})();
       ^

compilation aborted for testsuite/35742.cc (code 2)
testsuite/35742.cc:4:15:{4:5-4:15}: error: called object type 'void' is not a function or function pointer
     ({break;})();
     ~~~~~~~~~~^
1 diagnostic generated.

38612

Table 42. 38612.cc

     1	struct Base {};
     2	struct X;                       // X derived from Base later but incomplete
     3	here
     4	struct Y {};                    // Y not derived from Base
     5	
     6	int test1(int Base::* p2m, X* object)
     7	{
     8	    return object->*p2m;        // fails because X is incomplete
     9	}
    10	
    11	struct X : Base
    12	{
    13	};
    14	
    15	int test2(int Base::* p2m, X* object)
    16	{
    17	    return object->*p2m;        // OK
    18	}
    19	
    20	int test3(int Base::* p2m, Y* object)
    21	{
    22	    return object->*p2m;        // fails because Y is not derived from A
    23	}
gcciccclang
testsuite/38612.cc:3:1: error: ‘here’ does not name a type
testsuite/38612.cc: In function ‘int test1(int Base::*, X*)’:
testsuite/38612.cc:8:21: error: pointer to member type ‘int’ incompatible with object type ‘X’
testsuite/38612.cc: At global scope:
testsuite/38612.cc:20:28: error: ‘Y’ has not been declared
testsuite/38612.cc: In function ‘int test3(int Base::*, int*)’:
testsuite/38612.cc:22:21: error: cannot apply member pointer ‘p2m’ to ‘* object’, which is of non-class type ‘int’
testsuite/38612.cc:23:1: warning: control reaches end of non-void function
testsuite/38612.cc: In function ‘int test1(int Base::*, X*)’:
testsuite/38612.cc:9:1: warning: control reaches end of non-void function
testsuite/38612.cc(3): error #77: this declaration has no storage class or type specifier
  here
  ^

testsuite/38612.cc(4): error: expected a ";"
  struct Y {};                    // Y not derived from Base
  ^

testsuite/38612.cc(6): remark #1418: external function definition with no prior declaration
  int test1(int Base::* p2m, X* object)
      ^

testsuite/38612.cc(8): error: pointer-to-member selection class types are incompatible ("X" and "Base")
      return object->*p2m;        // fails because X is incomplete
                   ^

testsuite/38612.cc(11): remark #304: access control not specified ("public" by default)
  struct X : Base
             ^

testsuite/38612.cc(15): remark #1418: external function definition with no prior declaration
  int test2(int Base::* p2m, X* object)
      ^

testsuite/38612.cc(20): error: identifier "Y" is undefined
  int test3(int Base::* p2m, Y* object)
                             ^

testsuite/38612.cc(20): remark #1418: external function definition with no prior declaration
  int test3(int Base::* p2m, Y* object)
      ^

testsuite/38612.cc(22): error: expression must have pointer-to-class type
      return object->*p2m;        // fails because Y is not derived from A
             ^

compilation aborted for testsuite/38612.cc (code 2)
testsuite/38612.cc:3:1: error: unknown type name 'here'
 here
 ^
testsuite/38612.cc:4:1: error: expected unqualified-id
 struct Y {};                    // Y not derived from Base
 ^
clang: /mnt/share/src/llvm/tools/clang/lib/AST/../../include/clang/AST/DeclCXX.h:317: const clang::CXXRecordDecl::DefinitionData& clang::CXXRecordDecl::data() const: Assertion `DefinitionData && "queried property of class with no definition"' failed.
0  clang           0x0000000001151dff
1  clang           0x000000000115289a
2  libpthread.so.0 0x000000341f00f0f0
3  libc.so.6       0x000000341e8326c5 gsignal + 53
4  libc.so.6       0x000000341e833ea5 abort + 373
5  libc.so.6       0x000000341e82b7b5 __assert_fail + 245
6  clang           0x0000000000885fc7
7  clang           0x0000000000886003
8  clang           0x00000000006a815b
9  clang           0x000000000069b31e
10 clang           0x000000000069bd89
11 clang           0x000000000069c0ce
12 clang           0x000000000092931c
13 clang           0x0000000000929e35
14 clang           0x000000000092a74e
15 clang           0x0000000000900731
16 clang           0x00000000009022f0
17 clang           0x00000000009026f7
18 clang           0x0000000000903061
19 clang           0x000000000090d940
20 clang           0x000000000091c473
21 clang           0x000000000090c4d5
22 clang           0x000000000090c992
23 clang           0x000000000090eb69
24 clang           0x000000000090f03a
25 clang           0x00000000005f2a0b
26 clang           0x0000000000414749
27 clang           0x0000000000408fcb
28 clang           0x000000000040badb main + 1755
29 libc.so.6       0x000000341e81eb1d __libc_start_main + 253
30 clang           0x0000000000406919
Stack dump:
0.	Program arguments: /mnt/share/bld/H-x86-llvm/bin/clang -cc1 -triple x86_64-unknown-linux-gnu -S -disable-free -main-file-name 38612.cc -mrelocation-model static -mdisable-fp-elim -mconstructor-aliases -munwind-tables -target-cpu x86-64 -g -resource-dir /mnt/share/bld/H-x86-llvm/lib/clang/1.5 -I/mnt/share/bld/H-x86-gcc/include/c++/4.5.0/x86_64-unknown-linux-gnu -O2 -Wall -fmessage-length 0 -fdiagnostics-print-source-range-info -fexceptions -fgnu-runtime -fdiagnostics-show-option -o /tmp/cc-7Ex45i.s -x c++ testsuite/38612.cc 
1.	testsuite/38612.cc:8:24: current parser token ';'
2.	testsuite/38612.cc:7:1: parsing function body 'test1'
3.	testsuite/38612.cc:7:1: in compound statement ('{}')
clang: error: compiler command failed due to signal 6 (use -v to see invocation)

39478

Table 43. 39478.cc

     1	template< typename T >
     2	struct foo
     3	{
     4	  typename T::type dummy();
     5	};
     6	
     7	template< typename T >
     8	struct bar
     9	{
    10	  typedef void type;
    11	  foo< bar > p;
    12	};
    13	
    14	foo< bar< int > > x;
gcciccclang
testsuite/39478.cc: In instantiation of ‘bar<int>’:
testsuite/39478.cc:4:20:   instantiated from ‘foo<bar<int> >’
testsuite/39478.cc:14:19:   instantiated from here
testsuite/39478.cc:11:14: error: ‘bar<T>::p’ has incomplete type
testsuite/39478.cc:3:1: error: declaration of ‘struct foo<bar<int> >’
testsuite/39478.cc(11): error: incomplete type is not allowed
    foo< bar > p;
               ^
          detected during:
            instantiation of class "bar<T> [with T=int]" at line 4
            instantiation of class "foo<T> [with T=bar<int>]" at line 14

compilation aborted for testsuite/39478.cc (code 2)
testsuite/39478.cc:11:14: error: field has incomplete type 'foo<bar<int> >'
   foo< bar > p;
              ^
testsuite/39478.cc:4:3: note: in instantiation of template class 'bar<int>' requested here
   typename T::type dummy();
   ^
testsuite/39478.cc:14:19: note: in instantiation of template class 'foo<bar<int> >' requested here
 foo< bar< int > > x;
                   ^
testsuite/39478.cc:2:8: note: definition of 'foo<bar<int> >' is not complete until the closing '}'
 struct foo
        ^
4 diagnostics generated.

39728

Table 44. 39728.cc

     1	# include <fstream>
     2	# include <istream>
     3	
     4	using namespace std;
     5	
     6	ifstream  x;
     7	ifstream& y = x;
     8	
     9	int main(int argc, char** argv) {
    10	  y = x;
    11	  return 0;
    12	}
gcciccclang
In file included from /mnt/share/bld/H-x86-gcc.20100328/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/ios:39:0,
                 from /mnt/share/bld/H-x86-gcc.20100328/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/istream:40,
                 from /mnt/share/bld/H-x86-gcc.20100328/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/fstream:40,
                 from testsuite/39728.cc:1:
/mnt/share/bld/H-x86-gcc.20100328/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/bits/ios_base.h: In member function ‘std::basic_ios<char>& std::basic_ios<char>::operator=(const std::basic_ios<char>&)’:
/mnt/share/bld/H-x86-gcc.20100328/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/bits/ios_base.h:788:5: error: ‘std::ios_base& std::ios_base::operator=(const std::ios_base&)’ is private
/mnt/share/bld/H-x86-gcc.20100328/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/iosfwd:77:11: error: within this context
/mnt/share/bld/H-x86-gcc.20100328/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/iosfwd: In member function ‘std::basic_istream<char>& std::basic_istream<char>::operator=(const std::basic_istream<char>&)’:
/mnt/share/bld/H-x86-gcc.20100328/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/iosfwd:83:11: note: synthesized method ‘std::basic_ios<char>& std::basic_ios<char>::operator=(const std::basic_ios<char>&)’ first required here 
/mnt/share/bld/H-x86-gcc.20100328/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/iosfwd: In member function ‘std::basic_ifstream<char>& std::basic_ifstream<char>::operator=(const std::basic_ifstream<char>&)’:
/mnt/share/bld/H-x86-gcc.20100328/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/iosfwd:111:11: note: synthesized method ‘std::basic_istream<char>& std::basic_istream<char>::operator=(const std::basic_istream<char>&)’ first required here 
/mnt/share/bld/H-x86-gcc.20100328/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/streambuf: In member function ‘std::basic_filebuf<char>& std::basic_filebuf<char>::operator=(const std::basic_filebuf<char>&)’:
/mnt/share/bld/H-x86-gcc.20100328/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/streambuf:781:7: error: ‘std::basic_streambuf<_CharT, _Traits>::__streambuf_type& std::basic_streambuf<_CharT, _Traits>::operator=(const std::basic_streambuf<_CharT, _Traits>::__streambuf_type&) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_streambuf<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]’ is private
/mnt/share/bld/H-x86-gcc.20100328/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/iosfwd:108:11: error: within this context
/mnt/share/bld/H-x86-gcc.20100328/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/iosfwd: In member function ‘std::basic_ifstream<char>& std::basic_ifstream<char>::operator=(const std::basic_ifstream<char>&)’:
/mnt/share/bld/H-x86-gcc.20100328/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/iosfwd:111:11: note: synthesized method ‘std::basic_filebuf<char>& std::basic_filebuf<char>::operator=(const std::basic_filebuf<char>&)’ first required here 
testsuite/39728.cc: In function ‘int main(int, char**)’:
testsuite/39728.cc:10:7: note: synthesized method ‘std::basic_ifstream<char>& std::basic_ifstream<char>::operator=(const std::basic_ifstream<char>&)’ first required here 
testsuite/39728.cc: At global scope:
testsuite/39728.cc:9:5: warning: unused parameter ‘argc’
testsuite/39728.cc:9:5: warning: unused parameter ‘argv’
/mnt/share/bld/H-x86-gcc.20100328/bin/../include/c++/4.5.0/bits/basic_ios.h(62): error #373: "std::ios_base &std::ios_base::operator=(const std::ios_base &)" (declared at line 788 of "/mnt/share/bld/H-x86-gcc.20100328/bin/../include/c++/4.5.0/bits/ios_base.h") is inaccessible
      class basic_ios : public ios_base
                               ^
          detected during:
            implicit generation of "std::basic_ios<char, std::char_traits<char>> &std::basic_ios<_CharT, _Traits>::operator=(const std::basic_ios<char, std::char_traits<char>> &) [with _CharT=char, _Traits=std::char_traits<char>]" at line 10 of "testsuite/39728.cc"
            instantiation of class "std::basic_ios<_CharT, _Traits> [with _CharT=char, _Traits=std::char_traits<char>]" at line 10 of "testsuite/39728.cc"
            implicit generation of "std::basic_istream<char, std::char_traits<char>> &std::basic_istream<_CharT, _Traits>::operator=(const std::basic_istream<char, std::char_traits<char>> &) [with _CharT=char, _Traits=std::char_traits<char>]" at line 10 of "testsuite/39728.cc"
            instantiation of class "std::basic_istream<_CharT, _Traits> [with _CharT=char, _Traits=std::char_traits<char>]" at line 10 of "testsuite/39728.cc"
            implicit generation of "std::basic_ifstream<char, std::char_traits<char>> &std::basic_ifstream<_CharT, _Traits>::operator=(const std::basic_ifstream<char, std::char_traits<char>> &) [with _CharT=char, _Traits=std::char_traits<char>]" at line 10 of "testsuite/39728.cc"
            instantiation of class "std::basic_ifstream<_CharT, _Traits> [with _CharT=char, _Traits=std::char_traits<char>]" at line 10 of "testsuite/39728.cc"

/mnt/share/bld/H-x86-gcc.20100328/bin/../include/c++/4.5.0/fstream(67): error #373: "std::basic_streambuf<_CharT, _Traits> &std::basic_streambuf<_CharT, _Traits>::operator=(const std::basic_streambuf<_CharT, _Traits> &) [with _CharT=char, _Traits=std::char_traits<char>]" (declared at line 781 of "/mnt/share/bld/H-x86-gcc.20100328/bin/../include/c++/4.5.0/streambuf") is inaccessible
      class basic_filebuf : public basic_streambuf<_CharT, _Traits>
                                   ^
          detected during:
            implicit generation of "std::basic_filebuf<char, std::char_traits<char>> &std::basic_filebuf<_CharT, _Traits>::operator=(const std::basic_filebuf<char, std::char_traits<char>> &) [with _CharT=char, _Traits=std::char_traits<char>]" at line 10 of "testsuite/39728.cc"
            instantiation of class "std::basic_filebuf<_CharT, _Traits> [with _CharT=char, _Traits=std::char_traits<char>]" at line 10 of "testsuite/39728.cc"
            implicit generation of "std::basic_ifstream<char, std::char_traits<char>> &std::basic_ifstream<_CharT, _Traits>::operator=(const std::basic_ifstream<char, std::char_traits<char>> &) [with _CharT=char, _Traits=std::char_traits<char>]" at line 10 of "testsuite/39728.cc"
            instantiation of class "std::basic_ifstream<_CharT, _Traits> [with _CharT=char, _Traits=std::char_traits<char>]" at line 10 of "testsuite/39728.cc"

compilation aborted for testsuite/39728.cc (code 2)

39936

Table 45. 39936.cc

     1	#include <vector>
     2	
     3	struct A {
     4	        double                  time;
     5	        size_t                  id;
     6	
     7	        A() { }         // uninitialized
     8	
     9	};      
    10	
    11	struct B {
    12	        typedef std::vector<A>  array_type;
    13	        array_type              array;
    14	
    15	        void
    16	        foo(void);
    17	};      
    18	
    19	void
    20	B::foo(void) {
    21	        array.resize(1);
    22	}
gcciccclang

40261

Table 46. 40261.cc

     1	template <class> struct A { };
     2	template <class T, class U = A<T> > struct B: U { void foo (); };
     3	
     4	template <class T> void B<T>::foo () { }
     5	
     6	int main ()
     7	{
     8	    B<int> b;
     9	}
gcciccclang
testsuite/40261.cc:4:36: error: invalid use of incomplete type ‘struct B<T>’
testsuite/40261.cc:2:49: error: declaration of ‘struct B<T>’
testsuite/40261.cc: In function ‘int main()’:
testsuite/40261.cc:8:12: warning: unused variable ‘b’
testsuite/40261.cc(2): remark #304: access control not specified ("public" by default)
  template <class T, class U = A<T> > struct B: U { void foo (); };
                                                ^

testsuite/40261.cc(4): error: template argument list must match the parameter list
  template <class T> void B<T>::foo () { }
                          ^

testsuite/40261.cc(8): remark #177: variable "b" was declared but never referenced
      B<int> b;
             ^

compilation aborted for testsuite/40261.cc (code 2)
testsuite/40261.cc:4:31:{4:25-4:31}: error: nested name specifier 'B<T>::' for declaration does not refer into a class, class template or class template partial specialization
 template <class T> void B<T>::foo () { }
                         ~~~~~~^
testsuite/40261.cc:8:12: warning: unused variable 'b' [-Wunused-variable]
     B<int> b;
            ^
2 diagnostics generated.

41796

Table 47. 41796.cc

     1	struct B1 {
     2	  void f();
     3	  static void f(int);
     4	  int i;
     5	};
     6	struct B2 {
     7	  void f(double);
     8	};
     9	struct I1: B1 { };
    10	struct I2: B1 { };
    11	struct D: I1, I2, B2 {
    12	  using B1::f;
    13	  using B2::f;
    14	  void g() {
    15	    f();                    // Ambiguous conversion of this
    16	    f(0);                   // Unambiguous (static)
    17	    f(0.0);                 // Unambiguous (only one B2)
    18	    int B1::* mpB1 = &D::i; // Unambiguous - G++ gets this one wrong
    19	    int D::* mpD = &D::i;   // Ambiguous conversion
    20	  }
    21	};
gcciccclang
testsuite/41796.cc: In member function ‘void D::g()’:
testsuite/41796.cc:15:7: error: ‘B1’ is an ambiguous base of ‘D’
testsuite/41796.cc:18:23: error: reference to ‘i’ is ambiguous
testsuite/41796.cc:4:7: error: candidates are: int B1::i
testsuite/41796.cc:4:7: error:                 int B1::i
testsuite/41796.cc:19:21: error: reference to ‘i’ is ambiguous
testsuite/41796.cc:4:7: error: candidates are: int B1::i
testsuite/41796.cc:4:7: error:                 int B1::i
testsuite/41796.cc:18:15: warning: unused variable ‘mpB1’
testsuite/41796.cc:19:14: warning: unused variable ‘mpD’
testsuite/41796.cc(9): remark #304: access control not specified ("public" by default)
  struct I1: B1 { };
             ^

testsuite/41796.cc(10): remark #304: access control not specified ("public" by default)
  struct I2: B1 { };
             ^

testsuite/41796.cc(11): remark #304: access control not specified ("public" by default)
  struct D: I1, I2, B2 {
            ^

testsuite/41796.cc(11): remark #304: access control not specified ("public" by default)
  struct D: I1, I2, B2 {
                ^

testsuite/41796.cc(11): remark #304: access control not specified ("public" by default)
  struct D: I1, I2, B2 {
                    ^

testsuite/41796.cc(12): error: "B1::f" is ambiguous
    using B1::f;
          ^

testsuite/41796.cc(15): error #165: too few arguments in function call
      f();                    // Ambiguous conversion of this
        ^

testsuite/41796.cc(18): error: "D::i" is ambiguous
      int B1::* mpB1 = &D::i; // Unambiguous - G++ gets this one wrong
                           ^

testsuite/41796.cc(19): error: "D::i" is ambiguous
      int D::* mpD = &D::i;   // Ambiguous conversion
                         ^

testsuite/41796.cc(18): remark #177: variable "mpB1" was declared but never referenced
      int B1::* mpB1 = &D::i; // Unambiguous - G++ gets this one wrong
                ^

testsuite/41796.cc(19): remark #177: variable "mpD" was declared but never referenced
      int D::* mpD = &D::i;   // Ambiguous conversion
               ^

compilation aborted for testsuite/41796.cc (code 2)
testsuite/41796.cc:15:5:{15:5-15:6}: error: ambiguous conversion from derived class 'D' to base class 'B1':
    struct D -> struct I1 -> struct B1
    struct D -> struct I2 -> struct B1
     f();                    // Ambiguous conversion of this
     ^
testsuite/41796.cc:18:26:{18:23-18:26}: error: non-static member 'i' found in multiple base-class subobjects of type 'B1':
    struct D -> struct I1 -> struct B1
    struct D -> struct I2 -> struct B1
     int B1::* mpB1 = &D::i; // Unambiguous - G++ gets this one wrong
                       ~~~^
testsuite/41796.cc:4:7: note: member found by ambiguous name lookup
   int i;
       ^
testsuite/41796.cc:19:24:{19:21-19:24}: error: non-static member 'i' found in multiple base-class subobjects of type 'B1':
    struct D -> struct I1 -> struct B1
    struct D -> struct I2 -> struct B1
     int D::* mpD = &D::i;   // Ambiguous conversion
                     ~~~^
testsuite/41796.cc:4:7: note: member found by ambiguous name lookup
   int i;
       ^
5 diagnostics generated.

41895

Table 48. 41895.cc

     1	float
     2	foo(void)
     3	{
     4	    _Complex float f;
     5	    __imag__ f = 0;
     6	    return f;
     7	}
gcciccclang
testsuite/41895.cc: In function ‘float foo()’:
testsuite/41895.cc:6:12: error: cannot convert ‘__complex__ float’ to ‘float’ in return
testsuite/41895.cc:7:1: warning: control reaches end of non-void function
testsuite/41895.cc(2): remark #1418: external function definition with no prior declaration
  foo(void)
  ^

testsuite/41895.cc(6): error: return value type does not match the function type
      return f;
             ^

compilation aborted for testsuite/41895.cc (code 2)

43076

Table 49. 43076.cc

     1	struct S;
     2	template < typename > struct T
     3	{
     4	  template < typename >
     5	  template < bool > struct T < S >
     6	  {
     7	    void f () {
gcciccclang
testsuite/43076.cc:5:28: error: specialization of ‘template<class> struct T’ must appear at namespace scope
testsuite/43076.cc:5:28: error: template parameters not used in partial specialization:
testsuite/43076.cc:5:28: error:         ‘<anonymous>’
testsuite/43076.cc:7:15: error: expected ‘}’ at end of input
testsuite/43076.cc:7:15: error: expected unqualified-id at end of input
testsuite/43076.cc:7:15: error: expected ‘}’ at end of input
testsuite/43076.cc:7: confused by earlier errors, bailing out
testsuite/43076.cc(5): error: this declaration cannot have multiple "template <...>" clauses
    template < bool > struct T < S >
                      ^

testsuite/43076.cc(5): error: invalid partial specialization -- class "T<S>" is already fully specialized
    template < bool > struct T < S >
                             ^

testsuite/43076.cc(7): error: expected a ";"

testsuite/43076.cc(7): error: expected a "}"

compilation aborted for testsuite/43076.cc (code 2)
testsuite/43076.cc:4:3:{4:3-4:24}: error: extraneous template parameter list in template specialization or out-of-line template definition
   template < typename >
   ^~~~~~~~~~~~~~~~~~~~~
testsuite/43076.cc:5:28: error: partial specialization of 'T' does not use any of its template parameters
   template < bool > struct T < S >
                            ^
testsuite/43076.cc:5:28: error: explicit specialization of 'T' in class scope
testsuite/43076.cc:7:16: error: expected member name or ';' after declaration specifiers
     void f () {
                ^
testsuite/43076.cc:7:16: error: expected '}'
testsuite/43076.cc:3:1: note: to match this '{'
 {
 ^
testsuite/43076.cc:7:16: error: expected ';' after struct
     void f () {
                ^
                ;
7 diagnostics generated.

43113

Table 50. 43113.cc

     1	template < typename >
     2	struct A {
     3	  struct S;
     4	  A < S > ht;
     5	};
     6	
     7	struct B : A < B > {};
gcciccclang
testsuite/43113.cc:4:11: error: template instantiation depth exceeds maximum of 1024 (use -ftemplate-depth= to increase the maximum) instantiating ‘struct A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>’
testsuite/43113.cc:4:11:   instantiated from ‘A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>’
testsuite/43113.cc:4:11:   instantiated from ‘A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>’
testsuite/43113.cc:4:11:   instantiated from ‘A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>’
testsuite/43113.cc:4:11:   instantiated from ‘A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>’
testsuite/43113.cc:4:11:   instantiated from ‘A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>’
testsuite/43113.cc:4:11:   [ skipping 1014 instantiation contexts ]
testsuite/43113.cc:4:11:   instantiated from ‘A<A<A<A<A<B>::S>::S>::S>::S>’
testsuite/43113.cc:4:11:   instantiated from ‘A<A<A<A<B>::S>::S>::S>’
testsuite/43113.cc:4:11:   instantiated from ‘A<A<A<B>::S>::S>’
testsuite/43113.cc:4:11:   instantiated from ‘A<A<B>::S>’
testsuite/43113.cc:4:11:   instantiated from ‘A<B>’
testsuite/43113.cc:7:20:   instantiated from here

testsuite/43113.cc:4:11: error: ‘A< <template-parameter-1-1> >::ht’ has incomplete type
testsuite/43113.cc:2:10: error: declaration of ‘struct A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>’
testsuite/43113.cc(4): error: excessive recursion at instantiation of class
          "A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A
          <A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A
          <A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>:
          :S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S
          >::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>:
          :S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S
          >::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>"
    A < S > ht;
            ^
          detected during:
            instantiation of class "A<<unnamed>> [with
                      <unnamed>=A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S]" at line 4
            instantiation of class "A<<unnamed>> [with
                      <unnamed>=A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S]" at line 4
            instantiation of class "A<<unnamed>> [with
                      <unnamed>=A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S]" at line 4
            instantiation of class "A<<unnamed>> [with
                      <unnamed>=A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S]" at line 4
            instantiation of class "A<<unnamed>> [with
                      <unnamed>=A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S]" at line 4
            [ 490 instantiation contexts not shown ]
            instantiation of class "A<<unnamed>> [with <unnamed>=A<A<A<A<B>::S>::S>::S>::S]" at line 4
            instantiation of class "A<<unnamed>> [with <unnamed>=A<A<A<B>::S>::S>::S]" at line 4
            instantiation of class "A<<unnamed>> [with <unnamed>=A<A<B>::S>::S]" at line 4
            instantiation of class "A<<unnamed>> [with <unnamed>=A<B>::S]" at line 4
            instantiation of class "A<<unnamed>> [with <unnamed>=B]" at line 7

testsuite/43113.cc(4): error: incomplete type is not allowed
    A < S > ht;
            ^
          detected during:
            instantiation of class "A<<unnamed>> [with
                      <unnamed>=A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S]" at line 4
            instantiation of class "A<<unnamed>> [with
                      <unnamed>=A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S]" at line 4
            instantiation of class "A<<unnamed>> [with
                      <unnamed>=A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S]" at line 4
            instantiation of class "A<<unnamed>> [with
                      <unnamed>=A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S]" at line 4
            instantiation of class "A<<unnamed>> [with
                      <unnamed>=A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<
                      A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>
                      ::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::
                      S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S]" at line 4
            [ 490 instantiation contexts not shown ]
            instantiation of class "A<<unnamed>> [with <unnamed>=A<A<A<A<B>::S>::S>::S>::S]" at line 4
            instantiation of class "A<<unnamed>> [with <unnamed>=A<A<A<B>::S>::S>::S]" at line 4
            instantiation of class "A<<unnamed>> [with <unnamed>=A<A<B>::S>::S]" at line 4
            instantiation of class "A<<unnamed>> [with <unnamed>=A<B>::S]" at line 4
            instantiation of class "A<<unnamed>> [with <unnamed>=B]" at line 7

testsuite/43113.cc(7): remark #304: access control not specified ("public" by default)
  struct B : A < B > {};
             ^

compilation aborted for testsuite/43113.cc (code 2)
testsuite/43113.cc:4:11: fatal error: recursive template instantiation exceeded maximum depth of 99
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<A<B>::S>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<A<B>::S>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<A<B>::S>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<A<B>::S>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<A<B>::S>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:4:11: note: in instantiation of template class 'A<A<B>::S>' requested here
   A < S > ht;
           ^
testsuite/43113.cc:7:12: note: in instantiation of template class 'A<B>' requested here
 struct B : A < B > {};
            ^
testsuite/43113.cc:4:11: note: use -ftemplate-depth-N to increase recursive template instantiation depth
   A < S > ht;
           ^
102 diagnostics generated.

43253

Table 51. 43253.cc

     1	#include <cstdlib>
     2	int main() {
     3	        int *x = new int();
     4	        x->~int();
     5	        exit(0);
     6	}
gcciccclang
testsuite/43253.cc: In function ‘int main()’:
testsuite/43253.cc:4:13: error: expected class-name before ‘int’
testsuite/43253.cc:4:13: error: expected ‘;’ before ‘int’
testsuite/43253.cc:4:13: error: expected a class name after '~' to name a destructor
         x->~int();
             ^
1 diagnostic generated.

43431

Table 52. 43431.cc

     1	typedef long int intptr_t;
     2	
     3	void ff_ac3_downmix_c(float (*samples)[256], float (*matrix)[2], int out_ch,
     4	int in_ch, int len)
     5	{
     6	    int i, j;
     7	    float v0, v1;
     8	    if(out_ch == 2) {
     9	        for(i=0; i<len; i++) {
    10	            v0 = v1 = 0.0f;
    11	            for(j=0; j<in_ch; j++) {
    12	                v0 += samples[j][i] * matrix[j][0];
    13	                v1 += samples[j][i] * matrix[j][1];
    14	            }
    15	            samples[0][i] = v0;
    16	            samples[1][i] = v1;
    17	        }
    18	    } else if(out_ch == 1) {
    19	        for(i=0; i<len; i++) {
    20	            v0 = 0.0f;
    21	            for(j=0; j<in_ch; j++)
    22	                v0 += samples[j][i] * matrix[j][0];
    23	            samples[0][i] = v0;
    24	        }
    25	    }
    26	}
gcciccclang
testsuite/43431.cc(3): remark #1418: external function definition with no prior declaration
  void ff_ac3_downmix_c(float (*samples)[256], float (*matrix)[2], int out_ch,
       ^