From: eric@madhaus.utcs.utoronto.ca (Eric M. Carroll)
Subject: g++ bug, fatal signal 11
Organization: GNUs Not Usenet
Distribution: gnu
Date: Tue, 28 Jul 1992 22:24:35 GMT

* Environment: 
	Sun SPARCStattion 1+, SunOS 4.1.1 + many patches
	GCC 2.2.2

* Problem:
	* cc1plus gets fatal signal 11 on the * Code Fragment,
	abstracted from the UIT XView package (V1).

* Repeat By:

g++ -v tmp.cc -o out
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-sunos4.1/2.2.2/specs
gcc version 2.2.2
 /usr/local/lib/gcc-lib/sparc-sun-sunos4.1/2.2.2/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ -D__sparc -D__sun -D__unix tmp.cc /usr/tmp/cca08270.i
GNU CPP version 2.2.2 (sparc)
 /usr/local/lib/gcc-lib/sparc-sun-sunos4.1/2.2.2/cc1plus /usr/tmp/cca08270.i -quiet -dumpbase tmp.cc -version -o /usr/tmp/cca08270.s
GNU C++ version 2.2.2 (sparc) compiled by GNU C version 2.2.2.
/usr/local/bin/gcc: Internal compiler error: program cc1plus got fatal signal 11

* Code Fragment:

class UIDisplay  {
protected:
    static long eventProc (long,
				   long *,
				   long, 
				   long);
} ;

class ComponentDisplay: public UIDisplay {
 protected:
    static int value ;
    static void		 backgroundEventProc () ;
    static long          eventProc (long,
				    long *,
				    long,
				    long);
} ;
void ComponentDisplay::backgroundEventProc ()
{
}
void notify_interpose_event_func(long, long (*)(),long ) {
}

long ComponentDisplay::eventProc (long win,
					  long             *event,
					  long         arg,
					  long  event_type)
{
    // Set the panel event proc
    notify_interpose_event_func (0L,
				 eventProc,
				 0L);
    value = 0 ;

    return 0 ;
}

main() {

    return 0 ;
}


* GDB Output 

Core was generated by `cc1plus'.
Program terminated with signal 11, Segmentation fault.
Cannot access memory at address 0x0.
#0  0x5efe0 in instantiate_type (lhstype=0x18ca30, rhs=0x0, complain=1)
    at cp-class.c:4046
(gdb) backtrace
#0  0x5efe0 in instantiate_type (lhstype=0x18ca30, rhs=0x0, complain=1)
    at cp-class.c:4046
#1  0x2b254 in require_instantiated_type (type=0x18ca90, exp=0x1893c8, 
    errval=0x1820e8) at cp-typeck.c:132
#2  0x2ef30 in convert_arguments (return_loc=0x0, typelist=0x18c9e8, 
    values=0x177fb8, fndecl=0x193c58, flags=3) at cp-typeck.c:2077
#3  0x2ea20 in build_function_call_real (function=0x178a90, params=0x177fa0, 
    require_complete=1) at cp-typeck.c:1920
#4  0x2ec18 in build_function_call (function=0x193c58, params=0x177fa0)
    at cp-typeck.c:1981
#5  0x2e7c8 in build_x_function_call (function=0x193c58, params=0x177fa0, 
    decl=0x0) at cp-typeck.c:1838
#6  0xf594 in yyparse () at cp-parse.y:1278
#7  0x7c4e0 in compile_file (name=0xf7fff904 "/usr/tmp/cca08270.i")
    at toplev.c:1638
#8  0x7f0a4 in main (argc=8, argv=0xf7fff80c, envp=0xf7fff830) at toplev.c:3055
(gdb) print *lhstype
$2 = {common = {chain = 0x0, type = 0x180398, code = FUNCTION_TYPE, 
    side_effects_flag = 0, constant_flag = 0, permanent_flag = 1, 
    addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, 
    unsigned_flag = 0, asm_written_flag = 0, used_flag = 0, raises_flag = 0, 
    static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, 
    lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, 
    lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0}, int_cst = {
    common = {"\000\000\000\000\000\030\003\37777777630\027 \000\000"}, 
    int_cst_low = 1581616, int_cst_high = 1579240}, real_cst = {
    common = {"\000\000\000\000\000\030\003\37777777630\027 \000\000"}, 
    rtl = 0x182230, real_cst = 3.3511406329240302e-308}, string = {
    common = {"\000\000\000\000\000\030\003\37777777630\027 \000\000"}, 
    rtl = 0x182230, length = 1579240, 
    pointer = 0x44<Address 0x44 out of bounds>}, complex = {
    common = {"\000\000\000\000\000\030\003\37777777630\027 \000\000"}, 
    rtl = 0x182230, real = 0x1818e8, imag = 0x44}, identifier = {
    common = {"\000\000\000\000\000\030\003\37777777630\027 \000\000"}, 
    length = 1581616, pointer = 0x1818e8 ""}, decl = {
    common = {"\000\000\000\000\000\030\003\37777777630\027 \000\000"}, 
    filename = 0x182230 "", linenum = 1579240, size = 0x44, mode = DImode, 
    external_flag = 0, nonlocal_flag = 1, regdecl_flag = 0, inline_flag = 0, 
    bit_field_flag = 0, virtual_flag = 0, from_inline_flag = 0, 
    ignored_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, 
    lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, 
    lang_flag_7 = 0, name = 0x18ca90, context = 0x0, arguments = 0x0, 
    result = 0x0, initial = 0x0, print_name = 0x0, assembler_name = 0x0, 
    rtl = 0x0, frame_size = 1624624, saved_insns = {r = 0x0, i = 0}, 
    vindex = 0x0, lang_specific = 0x0}, type = {
    common = {"\000\000\000\000\000\030\003\37777777630\027 \000\000"}, 
    values = 0x182230, size = 0x1818e8, uid = 68, mode = DImode, 
    align = 64 '@', precision = 0 '\000', no_force_blk_flag = 0, 
    lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, 
    lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, pointer_to = 0x18ca90, 
    reference_to = 0x0, parse_info = 0, symtab_address = 0, name = 0x0, 
    minval = 0x0, maxval = 0x0, next_variant = 0x0, main_variant = 0x18ca30, 
    binfo = 0x0, noncopied_parts = 0x0, context = 0x0, lang_specific = 0x0}, 
  list = {common = {"\000\000\000\000\000\030\003\37777777630\027 \000\000"}, 
    purpose = 0x182230, value = 0x1818e8}, vec = {
    common = {"\000\000\000\000\000\030\003\37777777630\027 \000\000"}, 
    length = 1581616, a = {0x1818e8}}, exp = {
    common = {"\000\000\000\000\000\030\003\37777777630\027 \000\000"}, 
    complexity = 1581616, operands = {0x1818e8}}}
(gdb) print *rhs
$3 = Cannot access memory at address 0x0.
(gdb) print rhs
$4 = (tree) 0x0
(gdb) 
(gdb) up
#1  0x2b254 in require_instantiated_type (type=0x18ca90, exp=0x1893c8, 
    errval=0x1820e8) at cp-typeck.c:132
(gdb) print *type
$5 = {common = {chain = 0x0, type = 0x18ca30, code = POINTER_TYPE, 
    side_effects_flag = 0, constant_flag = 0, permanent_flag = 1, 
    addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, 
    unsigned_flag = 1, asm_written_flag = 0, used_flag = 0, raises_flag = 0, 
    static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, 
    lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, 
    lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0}, int_cst = {
    common = {"\000\000\000\000\000\030\377777777120\r\"\000\000"}, 
    int_cst_low = 0, int_cst_high = 1573448}, real_cst = {
    common = {"\000\000\000\000\000\030\377777777120\r\"\000\000"}, rtl = 0x0, 
    real_cst = 3.3388500333027599e-308}, string = {
    common = {"\000\000\000\000\000\030\377777777120\r\"\000\000"}, rtl = 0x0, 
    length = 1573448, pointer = 0x45<Address 0x45 out of bounds>}, complex = {
    common = {"\000\000\000\000\000\030\377777777120\r\"\000\000"}, rtl = 0x0, 
    real = 0x180248, imag = 0x45}, identifier = {
    common = {"\000\000\000\000\000\030\377777777120\r\"\000\000"}, 
    length = 0, pointer = 0x180248 ""}, decl = {
    common = {"\000\000\000\000\000\030\377777777120\r\"\000\000"}, 
    filename = 0x0, linenum = 1573448, size = 0x45, mode = SImode, 
    external_flag = 0, nonlocal_flag = 0, regdecl_flag = 1, inline_flag = 0, 
    bit_field_flag = 0, virtual_flag = 0, from_inline_flag = 0, 
    ignored_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 1, 
    lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, 
    lang_flag_7 = 0, name = 0x0, context = 0x0, arguments = 0x0, result = 0x0, 
    initial = 0x0, print_name = 0x0, assembler_name = 0x0, rtl = 0x0, 
    frame_size = 1624720, saved_insns = {r = 0x0, i = 0}, vindex = 0x0, 
    lang_specific = 0x0}, type = {
    common = {"\000\000\000\000\000\030\377777777120\r\"\000\000"}, 
    values = 0x0, size = 0x180248, uid = 69, mode = SImode, align = 32 ' ', 
    precision = 32 ' ', no_force_blk_flag = 0, lang_flag_0 = 0, 
    lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, 
    lang_flag_5 = 0, lang_flag_6 = 0, pointer_to = 0x0, reference_to = 0x0, 
    parse_info = 0, symtab_address = 0, name = 0x0, minval = 0x0, 
    maxval = 0x0, next_variant = 0x0, main_variant = 0x18ca90, binfo = 0x0, 
    noncopied_parts = 0x0, context = 0x0, lang_specific = 0x0}, list = {
    common = {"\000\000\000\000\000\030\377777777120\r\"\000\000"}, 
    purpose = 0x0, value = 0x180248}, vec = {
    common = {"\000\000\000\000\000\030\377777777120\r\"\000\000"}, 
    length = 0, a = {0x180248}}, exp = {
    common = {"\000\000\000\000\000\030\377777777120\r\"\000\000"}, 
    complexity = 0, operands = {0x180248}}}
(gdb) print *exp
$6 = {common = {chain = 0x189398, type = 0x184010, code = TREE_LIST, 
    side_effects_flag = 0, constant_flag = 0, permanent_flag = 0, 
    addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, 
    unsigned_flag = 0, asm_written_flag = 0, used_flag = 1, raises_flag = 0, 
    static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, 
    lang_flag_0 = 1, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, 
    lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0}, int_cst = {
    common = {"\000\030\37777777623\37777777630\000\030@\020\003\000\37777777602\000"}, int_cst_low = 1621760, int_cst_high = 1623792}, real_cst = {
    common = {"\000\030\37777777623\37777777630\000\030@\020\003\000\37777777602\000"}, rtl = 0x18bf00, real_cst = 3.4456797894030815e-308}, string = {
    common = {"\000\030\37777777623\37777777630\000\030@\020\003\000\37777777602\000"}, rtl = 0x18bf00, length = 1623792, pointer = 0x0}, complex = {
    common = {"\000\030\37777777623\37777777630\000\030@\020\003\000\37777777602\000"}, rtl = 0x18bf00, real = 0x18c6f0, imag = 0x0}, identifier = {
    common = {"\000\030\37777777623\37777777630\000\030@\020\003\000\37777777602\000"}, length = 1621760, pointer = 0x18c6f0 ""}, decl = {
    common = {"\000\030\37777777623\37777777630\000\030@\020\003\000\37777777602\000"}, filename = 0x18bf00 "", linenum = 1623792, size = 0x0, 
    mode = VOIDmode, external_flag = 0, nonlocal_flag = 0, regdecl_flag = 0, 
    inline_flag = 0, bit_field_flag = 0, virtual_flag = 0, 
    from_inline_flag = 0, ignored_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, 
    lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, 
    lang_flag_6 = 0, lang_flag_7 = 0, name = 0x0, context = 0x0, 
    arguments = 0x0, result = 0x0, initial = 0x0, print_name = 0x0, 
    assembler_name = 0x0, rtl = 0x0, frame_size = 0, saved_insns = {r = 0x0, 
      i = 0}, vindex = 0x0, lang_specific = 0x0}, type = {
    common = {"\000\030\37777777623\37777777630\000\030@\020\003\000\37777777602\000"}, values = 0x18bf00, size = 0x18c6f0, uid = 0, mode = VOIDmode, 
    align = 0 '\000', precision = 0 '\000', no_force_blk_flag = 0, 
    lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, 
    lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, pointer_to = 0x0, 
    reference_to = 0x0, parse_info = 0, symtab_address = 0, name = 0x0, 
    minval = 0x0, maxval = 0x0, next_variant = 0x0, main_variant = 0x0, 
    binfo = 0x0, noncopied_parts = 0x0, context = 0x0, lang_specific = 0x0}, 
  list = {
    common = {"\000\030\37777777623\37777777630\000\030@\020\003\000\37777777602\000"}, purpose = 0x18bf00, value = 0x18c6f0}, vec = {
    common = {"\000\030\37777777623\37777777630\000\030@\020\003\000\37777777602\000"}, length = 1621760, a = {0x18c6f0}}, exp = {
    common = {"\000\030\37777777623\37777777630\000\030@\020\003\000\37777777602\000"}, complexity = 1621760, operands = {0x18c6f0}}}
(gdb) up
#2  0x2ef30 in convert_arguments (return_loc=0x0, typelist=0x18c9e8, 
    values=0x177fb8, fndecl=0x193c58, flags=3) at cp-typeck.c:2077
(gdb) print *return_loc
$8 = Cannot access memory at address 0x0.
(gdb) print *typelist
$9 = {common = {chain = 0x18ca18, type = 0x0, code = TREE_LIST, 
    side_effects_flag = 0, constant_flag = 0, permanent_flag = 1, 
    addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, 
    unsigned_flag = 0, asm_written_flag = 0, used_flag = 0, raises_flag = 0, 
    static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, 
    lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, 
    lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0}, int_cst = {
    common = {"\000\030\37777777712\030\000\000\000\000\003 \000\000"}, 
    int_cst_low = 0, int_cst_high = 1624720}, real_cst = {
    common = {"\000\030\37777777712\030\000\000\000\000\003 \000\000"}, 
    rtl = 0x0, real_cst = 3.4476490014970972e-308}, string = {
    common = {"\000\030\37777777712\030\000\000\000\000\003 \000\000"}, 
    rtl = 0x0, length = 1624720, pointer = 0x0}, complex = {
    common = {"\000\030\37777777712\030\000\000\000\000\003 \000\000"}, 
    rtl = 0x0, real = 0x18ca90, imag = 0x0}, identifier = {
    common = {"\000\030\37777777712\030\000\000\000\000\003 \000\000"}, 
    length = 0, pointer = 0x18ca90 ""}, decl = {
    common = {"\000\030\37777777712\030\000\000\000\000\003 \000\000"}, 
    filename = 0x0, linenum = 1624720, size = 0x0, mode = VOIDmode, 
    external_flag = 0, nonlocal_flag = 0, regdecl_flag = 0, inline_flag = 0, 
    bit_field_flag = 0, virtual_flag = 0, from_inline_flag = 0, 
    ignored_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, 
    lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, 
    lang_flag_7 = 0, name = 0x0, context = 0x3200000, arguments = 0x17f470, 
    result = 0x0, initial = 0x0, print_name = 0x182230 "", 
    assembler_name = 0x0, rtl = 0x3200000, frame_size = 0, saved_insns = {
      r = 0x180398, i = 1573784}, vindex = 0x0, lang_specific = 0x0}, type = {
    common = {"\000\030\37777777712\030\000\000\000\000\003 \000\000"}, 
    values = 0x0, size = 0x18ca90, uid = 0, mode = VOIDmode, align = 0 '\000', 
    precision = 0 '\000', no_force_blk_flag = 0, lang_flag_0 = 0, 
    lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, 
    lang_flag_5 = 0, lang_flag_6 = 0, pointer_to = 0x0, 
    reference_to = 0x3200000, parse_info = 1569904, symtab_address = 0, 
    name = 0x0, minval = 0x182230, maxval = 0x0, next_variant = 0x3200000, 
    main_variant = 0x0, binfo = 0x180398, noncopied_parts = 0x0, 
    context = 0x0, lang_specific = 0x180398}, list = {
    common = {"\000\030\37777777712\030\000\000\000\000\003 \000\000"}, 
    purpose = 0x0, value = 0x18ca90}, vec = {
    common = {"\000\030\37777777712\030\000\000\000\000\003 \000\000"}, 
    length = 0, a = {0x18ca90}}, exp = {
    common = {"\000\030\37777777712\030\000\000\000\000\003 \000\000"}, 
    complexity = 0, operands = {0x18ca90}}}
(gdb) print *values
$10 = {common = {chain = 0x177fd0, type = 0x0, code = TREE_LIST, 
    side_effects_flag = 0, constant_flag = 0, permanent_flag = 0, 
    addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, 
    unsigned_flag = 0, asm_written_flag = 0, used_flag = 0, raises_flag = 0, 
    static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, 
    lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, 
    lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0}, int_cst = {
    common = {"\000\027\37777777720\000\000\000\000\003\000\000\000"}, 
    int_cst_low = 0, int_cst_high = 1610696}, real_cst = {
    common = {"\000\027\37777777720\000\000\000\000\003\000\000\000"}, 
    rtl = 0x0, real_cst = 3.4178901325246003e-308}, string = {
    common = {"\000\027\37777777720\000\000\000\000\003\000\000\000"}, 
    rtl = 0x0, length = 1610696, pointer = 0x0}, complex = {
    common = {"\000\027\37777777720\000\000\000\000\003\000\000\000"}, 
    rtl = 0x0, real = 0x1893c8, imag = 0x0}, identifier = {
    common = {"\000\027\37777777720\000\000\000\000\003\000\000\000"}, 
    length = 0, pointer = 0x1893c8 ""}, decl = {
    common = {"\000\027\37777777720\000\000\000\000\003\000\000\000"}, 
    filename = 0x0, linenum = 1610696, size = 0x0, mode = VOIDmode, 
    external_flag = 0, nonlocal_flag = 0, regdecl_flag = 0, inline_flag = 0, 
    bit_field_flag = 0, virtual_flag = 0, from_inline_flag = 0, 
    ignored_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, 
    lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, 
    lang_flag_7 = 0, name = 0x0, context = 0x3000000, arguments = 0x0, 
    result = 0x178a78, initial = 0x0, print_name = 0x0, assembler_name = 0x0, 
    rtl = 0x3000000, frame_size = 0, saved_insns = {r = 0x178a60, 
      i = 1542752}, vindex = 0x0, lang_specific = 0x0}, type = {
    common = {"\000\027\37777777720\000\000\000\000\003\000\000\000"}, 
    values = 0x0, size = 0x1893c8, uid = 0, mode = VOIDmode, align = 0 '\000', 
    precision = 0 '\000', no_force_blk_flag = 0, lang_flag_0 = 0, 
    lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, 
    lang_flag_5 = 0, lang_flag_6 = 0, pointer_to = 0x0, 
    reference_to = 0x3000000, parse_info = 0, symtab_address = 1542776, 
    name = 0x0, minval = 0x0, maxval = 0x0, next_variant = 0x3000000, 
    main_variant = 0x0, binfo = 0x178a60, noncopied_parts = 0x0, 
    context = 0x0, lang_specific = 0x0}, list = {
    common = {"\000\027\37777777720\000\000\000\000\003\000\000\000"}, 
    purpose = 0x0, value = 0x1893c8}, vec = {
    common = {"\000\027\37777777720\000\000\000\000\003\000\000\000"}, 
    length = 0, a = {0x1893c8}}, exp = {
    common = {"\000\027\37777777720\000\000\000\000\003\000\000\000"}, 
    complexity = 0, operands = {0x1893c8}}}
(gdb) up
#3  0x2ea20 in build_function_call_real (function=0x178a90, params=0x177fa0, 
    require_complete=1) at cp-typeck.c:1920
(gdb) print *function
$11 = {common = {chain = 0x0, type = 0x193f98, code = ADDR_EXPR, 
    side_effects_flag = 0, constant_flag = 0, permanent_flag = 0, 
    addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, 
    unsigned_flag = 0, asm_written_flag = 0, used_flag = 0, raises_flag = 0, 
    static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, 
    lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, 
    lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0}, int_cst = {
    common = {"\000\000\000\000\000\031?\37777777630j\000\000\000"}, 
    int_cst_low = 0, int_cst_high = 1653848}, real_cst = {
    common = {"\000\000\000\000\000\031?\37777777630j\000\000\000"}, 
    rtl = 0x0, real_cst = 3.5094584948963337e-308}, string = {
    common = {"\000\000\000\000\000\031?\37777777630j\000\000\000"}, 
    rtl = 0x0, length = 1653848, pointer = 0x0}, complex = {
    common = {"\000\000\000\000\000\031?\37777777630j\000\000\000"}, 
    rtl = 0x0, real = 0x193c58, imag = 0x0}, identifier = {
    common = {"\000\000\000\000\000\031?\37777777630j\000\000\000"}, 
    length = 0, pointer = 0x193c58 ""}, decl = {
    common = {"\000\000\000\000\000\031?\37777777630j\000\000\000"}, 
    filename = 0x0, linenum = 1653848, size = 0x0, mode = VOIDmode, 
    external_flag = 0, nonlocal_flag = 0, regdecl_flag = 0, inline_flag = 0, 
    bit_field_flag = 0, virtual_flag = 0, from_inline_flag = 0, 
    ignored_flag = 0, lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, 
    lang_flag_3 = 0, lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, 
    lang_flag_7 = 0, name = 0x0, context = 0x0, arguments = 0x0, result = 0x0, 
    initial = 0x0, print_name = 0x0, assembler_name = 0x0, rtl = 0x0, 
    frame_size = 0, saved_insns = {r = 0x0, i = 0}, vindex = 0x0, 
    lang_specific = 0x0}, type = {
    common = {"\000\000\000\000\000\031?\37777777630j\000\000\000"}, 
    values = 0x0, size = 0x193c58, uid = 0, mode = VOIDmode, align = 0 '\000', 
    precision = 0 '\000', no_force_blk_flag = 0, lang_flag_0 = 0, 
    lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, lang_flag_4 = 0, 
    lang_flag_5 = 0, lang_flag_6 = 0, pointer_to = 0x0, reference_to = 0x0, 
    parse_info = 0, symtab_address = 0, name = 0x0, minval = 0x0, 
    maxval = 0x0, next_variant = 0x0, main_variant = 0x0, binfo = 0x0, 
    noncopied_parts = 0x0, context = 0x0, lang_specific = 0x0}, list = {
    common = {"\000\000\000\000\000\031?\37777777630j\000\000\000"}, 
    purpose = 0x0, value = 0x193c58}, vec = {
    common = {"\000\000\000\000\000\031?\37777777630j\000\000\000"}, 
    length = 0, a = {0x193c58}}, exp = {
    common = {"\000\000\000\000\000\031?\37777777630j\000\000\000"}, 
    complexity = 0, operands = {0x193c58}}}
(gdb) print *params
$12 = {common = {chain = 0x177fb8, type = 0x0, code = TREE_LIST, 
    side_effects_flag = 0, constant_flag = 0, permanent_flag = 0, 
    addressable_flag = 0, volatile_flag = 0, readonly_flag = 0, 
    unsigned_flag = 0, asm_written_flag = 0, used_flag = 0, raises_flag = 0, 
    static_flag = 0, public_flag = 0, private_flag = 0, protected_flag = 0, 
    lang_flag_0 = 0, lang_flag_1 = 0, lang_flag_2 = 0, lang_flag_3 = 0, 
    lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0}, int_cst = {
    common = {"\000\027\37777777670\000\000\000\000\003\000\000\000"}, 
    int_cst_low = 0, int_cst_high = 1542752}, real_cst = {
    common = {"\000\027\37777777670\000\000\000\000\003\000\000\000"}, 
    rtl = 0x0, real_cst = 3.2737132505032558e-308}, string = {
    common = {"\000\027\37777777670\000\000\000\000\003\000\000\000"}, 
    rtl = 0x0, length = 1542752, pointer = 0x0}, complex = {
    common = {"\000\027\37777777670\000\000\000\000\003\000\000\000"}, 
    rtl = 0x0, real = 0x178a60, imag = 0x0}, identifier = {
    common = {"\000\027\37777777670\000\000\000\000\003\000\000\000"}, 
    length = 0, pointer = 0x178a60 ""}, decl = {
    common = {"\000\027\37777777670\000\000\000\000\003\000\000\000"}, 
    filename = 0x0, linenum = 1542752, size = 0x0, mode = VOIDmode, 
    external_flag = 0, nonlocal_flag = 0, regdecl_flag = 0, inline_flag = 1, 
    bit_field_flag = 0, virtual_flag = 1, from_inline_flag = 1, 
    ignored_flag = 1, lang_flag_0 = 0, lang_flag_1 = 1, lang_flag_2 = 1, 
    lang_flag_3 = 1, lang_flag_4 = 1, lang_flag_5 = 1, lang_flag_6 = 1, 
    lang_flag_7 = 1, name = 0x0, context = 0x3000000, arguments = 0x0, 
    result = 0x1893c8, initial = 0x0, print_name = 0x0, assembler_name = 0x0, 
    rtl = 0x3000000, frame_size = 0, saved_insns = {r = 0x178a78, 
      i = 1542776}, vindex = 0x0, lang_specific = 0x0}, type = {
    common = {"\000\027\37777777670\000\000\000\000\003\000\000\000"}, 
    values = 0x0, size = 0x178a60, uid = 0, mode = VOIDmode, 
    align = 23 '\027', precision = 127 '', no_force_blk_flag = 1, 
    lang_flag_0 = 1, lang_flag_1 = 0, lang_flag_2 = 1, lang_flag_3 = 0, 
    lang_flag_4 = 0, lang_flag_5 = 0, lang_flag_6 = 0, pointer_to = 0x0, 
    reference_to = 0x3000000, parse_info = 0, symtab_address = 1610696, 
    name = 0x0, minval = 0x0, maxval = 0x0, next_variant = 0x3000000, 
    main_variant = 0x0, binfo = 0x178a78, noncopied_parts = 0x0, 
    context = 0x0, lang_specific = 0x0}, list = {
    common = {"\000\027\37777777670\000\000\000\000\003\000\000\000"}, 
    purpose = 0x0, value = 0x178a60}, vec = {
    common = {"\000\027\37777777670\000\000\000\000\003\000\000\000"}, 
    length = 0, a = {0x178a60}}, exp = {
    common = {"\000\027\37777777670\000\000\000\000\003\000\000\000"}, 
    complexity = 0, operands = {0x178a60}}}
(gdb) 

Newsgroups: gnu.g++.bug