c++/2570: [2003-05-05] ICE in poplevel on illegal nested template class declaration

Andrew Pinski pinskia@physics.uc.edu
Sat May 10 17:25:00 GMT 2003


I think this one is a dup of 157 (it happens to ice in the same place).

Thanks,
Andrew Pinski

PS here is some more information of the PR:
(gdb) p debug_tree(id)
  <identifier_node 0x1492c40 auto_ptr
     type <record_type 0x1498150 auto_ptr type_5 VOID
         align 8 symtab 0 alias set -1
         n_parents 0 use_template=0 interface-unknown
         pointer_to_this <pointer_type 0x1498230> chain <type_decl  
0x14982a0 auto_ptr>>
    bindings <0x1486e58>
     class <function_decl 0x1495ee0 auto_ptr
         type <method_type 0x1495e70 type <record_type 0x14958c0  
auto_ptr<_Tp>>
             DI
             size <integer_cst 0x14366d8 constant 64>
             unit size <integer_cst 0x1436b10 constant 8>
             align 64 symtab 0 alias set -1 method basetype <record_type  
0x14955b0 counted_ptr<_Tp>>
             arg-types <tree_list 0x14963d8 side-effects value  
<pointer_type 0x1495690>
                 chain <tree_list 0x1444fc0 tree_2 value <void_type  
0x1442c40 void>>>>
         public external SI file PR157.cc line 7 context <record_type  
0x14955b0 counted_ptr<_Tp>>
         arguments <parm_decl 0x1495f50 this type <pointer_type  
0x1495cb0>
             readonly unsigned SI file PR157.cc line 7
             size <integer_cst 0x1436b58 constant 32>
             unit size <integer_cst 0x1436bb8 constant 4>
             align 32 initial <pointer_type 0x1495cb0> arg-type  
<pointer_type 0x1495cb0>>
         template-info 0x1496408>local bindings <0x1496438>>
$7 = void
(gdb) p debug_tree(binding->value)
  <type_decl 0x14982a0 auto_ptr
     type <record_type 0x1498150 auto_ptr type_5 VOID
         align 8 symtab 0 alias set -1
         n_parents 0 use_template=0 interface-unknown
         pointer_to_this <pointer_type 0x1498230> chain <type_decl  
0x14982a0 auto_ptr>>
     decl_2 VOID file PR157.cc line 10
     align 1 chain <type_decl 0x14980e0 _Tp>>
$8 = void
(gdb) p decl
$10 = 0x1495ee0
(gdb) p debug_tree(decl)
  <function_decl 0x1495ee0 auto_ptr
     type <method_type 0x1495e70
         type <record_type 0x14958c0 auto_ptr<_Tp> type_5 VOID
             align 8 symtab 0 alias set -1
             n_parents 0 use_template=1 interface-unknown
             pointer_to_this <pointer_type 0x14959a0> reference_to_this  
<reference_type 0x1495a80> chain <type_decl 0x1495a10 auto_ptr<_Tp>>>
         DI
         size <integer_cst 0x14366d8 constant 64>
         unit size <integer_cst 0x1436b10 constant 8>
         align 64 symtab 0 alias set -1 method basetype <record_type  
0x14955b0 counted_ptr<_Tp>>
         arg-types <tree_list 0x14963d8 side-effects value <pointer_type  
0x1495690>
             chain <tree_list 0x1444fc0 tree_2 value <void_type  
0x1442c40 void>>>>
     public external SI file PR157.cc line 7 context <record_type  
0x14955b0 counted_ptr<_Tp>>
     arguments <parm_decl 0x1495f50 this
         type <pointer_type 0x1495cb0 type <record_type 0x14955b0  
counted_ptr<_Tp>>
             readonly unsigned SI
             size <integer_cst 0x1436b58 constant 32>
             unit size <integer_cst 0x1436bb8 constant 4>
             align 32 symtab 0 alias set -1>
         readonly unsigned SI file PR157.cc line 7 size <integer_cst  
0x1436b58 32> unit size <integer_cst 0x1436bb8 4>
         align 32 initial <pointer_type 0x1495cb0> arg-type  
<pointer_type 0x1495cb0>>
     template-info 0x1496408>
$11 = void


http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit- 
trail&database=gcc&pr=2570



More information about the Gcc-bugs mailing list