Lots of new failures in C++ testsuite with current CVS version (in tree.c: unsave_expr_now_r)

Andreas Jaeger aj@suse.de
Thu Nov 25 00:06:00 GMT 1999


I've updated gcc today (1999-11-24, 6:00 UTC) and got a lot of new
failures running the c++ testsuite.  The "caused compiler crash"
messages are new.  My last update was two/three days ago:
[...]
Running /usr/src/cvs/gcc/gcc/testsuite/g++.dg/special/ecos.exp ...
FAIL: g++.dg/special/conpr-1.C execution test
FAIL: g++.dg/special/conpr-2.C execution test
FAIL: g++.dg/special/conpr-3.C execution test
FAIL: g++.dg/special/conpr-3.C execution test
Running /usr/src/cvs/gcc/gcc/testsuite/g++.old-deja/old-deja.exp ...
FAIL: g++.ext/array2.C caused compiler crash
FAIL: g++.ext/initp1.C  Execution test
FAIL: g++.jason/cleanup2.C caused compiler crash
FAIL: g++.jason/optimize.C caused compiler crash
FAIL: g++.law/ctors12.C caused compiler crash
FAIL: g++.mike/eh29.C caused compiler crash
FAIL: g++.mike/p700.C (test for excess errors)
FAIL: g++.mike/p7180.C caused compiler crash
FAIL: g++.mike/p789a.C caused compiler crash
FAIL: g++.oliva/delete5.C caused compiler crash
FAIL: g++.other/array1.C caused compiler crash
XPASS: g++.pt/instantiate6.C (test for excess errors)
FAIL: g++.robertl/eb2.C caused compiler crash
FAIL: g++.robertl/eh990323-5.C caused compiler crash

                === g++ Summary ===

# of expected passes            5611
# of unexpected failures        17
# of unexpected successes       1
# of expected failures          97
# of untested testcases         7

Here's some information on the array2.C failure:
/usr/src/build-cc/gcc/testsuite/../xgcc -B/usr/src/build-cc/gcc/testsuite/../ /usr/src/cvs/gcc/gcc/testsuite/g++.old-deja/g++.ext/array2.C -I/usr/src/cvs/gcc/libio -I/usr/src/build-cc/i686-pc-linux-gnu/libio -I/usr/src/cvs/gcc/libstdc++ -I/usr/src/cvs/gcc/libstdc++/stl -c -o /usr/src/build-cc/gcc/testsuite/array2.o
/usr/src/cvs/gcc/gcc/testsuite/g++.old-deja/g++.ext/array2.C: In function `A f (int)':
/usr/src/cvs/gcc/gcc/testsuite/g++.old-deja/g++.ext/array2.C:13: Internal compiler error.
/usr/src/cvs/gcc/gcc/testsuite/g++.old-deja/g++.ext/array2.C:13: Please submit a full bug report.
/usr/src/cvs/gcc/gcc/testsuite/g++.old-deja/g++.ext/array2.C:13: See <URL: http://www.gnu.org/software/gcc/faq.html#bugreport > for instructions.

(gdb) r testsuite/array2.ii -quiet -dumpbase testsuite/array2.cc -o testsuite/array2.s
Starting program: /usr/src/build-cc/gcc/cc1plus testsuite/array2.ii -quiet -dumpbase testsuite/array2.cc -o testsuite/array2.s
Breakpoint 1 at 0x4003f31c: file exit.c, line 69.
Breakpoint 3 at 0x4003dfa7: file ../sysdeps/generic/abort.c, line 55.

Program received signal SIGSEGV, Segmentation fault.
unsave_expr_1 (expr=0x0) at ../../cvs/gcc/gcc/tree.c:2435
2435      switch (TREE_CODE (expr))
(gdb) bt
#0  unsave_expr_1 (expr=0x0) at ../../cvs/gcc/gcc/tree.c:2435
#1  0x8051d95 in unsave_expr_now_r (expr=0x0) at ../../cvs/gcc/gcc/tree.c:2472
#2  0x8051e0c in unsave_expr_now_r (expr=0x4012e120)
    at ../../cvs/gcc/gcc/tree.c:2506
#3  0x8051e6c in unsave_expr_now (expr=0x4012e120)
    at ../../cvs/gcc/gcc/tree.c:2525
#4  0x807d960 in expand_expr (exp=0x4012efc0, target=0x0, tmode=VOIDmode, 
    modifier=EXPAND_NORMAL) at ../../cvs/gcc/gcc/expr.c:6111
#5  0x8073a10 in emit_cleanup_handler (entry=0x82fbef0)
    at ../../cvs/gcc/gcc/except.c:1812
#6  0x807359e in expand_eh_region_end (handler=0x4012efc0)
    at ../../cvs/gcc/gcc/except.c:1558
#7  0x806fd33 in expand_cleanups (list=0x4012efe0, dont_do=0x0, in_fixup=0, 
    reachable=1) at ../../cvs/gcc/gcc/stmt.c:4252
#8  0x806f194 in expand_end_bindings (vars=0x0, mark_ends=1, dont_jump_in=0)
    at ../../cvs/gcc/gcc/stmt.c:3628
#9  0x824fd64 in expand_stmt (t=0x4012d260)
    at ../../../cvs/gcc/gcc/cp/semantics.c:2452
#10 0x824fb50 in expand_stmt (t=0x4012cbe0)
    at ../../../cvs/gcc/gcc/cp/semantics.c:2364
#11 0x824fe7e in expand_body (fn=0x4012bc00)
    at ../../../cvs/gcc/gcc/cp/semantics.c:2528
#12 0x8229aef in yyparse () at parse.y:656
#13 0x804b2e4 in compile_file (name=0x40124380 "testsuite/array2.ii")
    at ../../cvs/gcc/gcc/toplev.c:3213
#14 0x804e869 in main (argc=7, argv=0xbffff824)
    at ../../cvs/gcc/gcc/toplev.c:5566
(gdb) up
#2  0x8051e0c in unsave_expr_now_r (expr=0x4012e120)
    at ../../cvs/gcc/gcc/tree.c:2506
2506              unsave_expr_now_r (TREE_OPERAND (expr, i));
(gdb) p code
$1 = 1074979120
(gdb) pt expr
 <bind_expr 0x4012e120
    type <void_type 0x40119b80 void
        permanent type_6 VOID
        size <integer_cst 0x4001d580 constant permanent 0>
        align 8 symtab 0 alias set -1
        pointer_to_this <pointer_type 0x40119c00 __builtin_va_list>>
   
    side-effects
    vars <var_decl 0x4012f080
        type <pointer_type 0x40123980 type <record_type 0x40123900 A>
           
            unsigned permanent SI
            size <integer_cst 0x40124420 constant permanent 32>
            align 32 symtab 0 alias set -1>
       
        unsigned used regdecl packed SI file /usr/src/cvs/gcc/gcc/testsuite/g++.old-deja/g++.ext/array2.C line 12 size <integer_cst 0x40124420 32>
        align 32
        (reg/v:SI 32)>
    body <nop_expr 0x4012e980 type <void_type 0x40119b80 void>
       
        side-effects
        arg 0 <cond_expr 0x4012e960 type <void_type 0x40119b80 void>
           
            side-effects
            arg 0 <ne_expr 0x4012e940 type <boolean_type 0x4011a900 bool>
               
               
                arg 0 <addr_expr 0x4012e060 type <pointer_type 0x4012f000>
                   
                    arg 0 <var_decl 0x4012bf80 a>>
                arg 1 <integer_cst 0x4001d540 constant permanent 0>>
            arg 1 <compound_expr 0x4012e5e0 type <void_type 0x40119b80 void>
               
                side-effects
                arg 0 <modify_expr 0x4012e100 type <pointer_type 0x40123980>
                   
                    side-effects arg 0 <var_decl 0x4012f080>
                    arg 1 <plus_expr 0x4012e0a0 type <pointer_type 0x40123980>
                       
                        side-effects arg 0 <addr_expr 0x4012e060>
                        arg 1 <mult_expr 0x4012e080 type <integer_type 0x4001c500 unsigned int>
                           
                            side-effects arg 0 <plus_expr 0x4012e000> arg 1 <integer_cst 0x40124e20 4>>>>
                arg 1 <loop_expr 0x4012e580 type <void_type 0x40119b80 void>
                   
                    side-effects
                    arg 0 <compound_expr 0x4012e560 type <void_type 0x40119b80 void>
                       
                        side-effects
                        arg 0 <exit_expr 0x4012e500 type <void_type 0x40119b80 void>
                           
                            side-effects arg 0 <eq_expr 0x4012e4e0>>
                        arg 1 <compound_expr 0x4012e540 type <void_type 0x40119b80 void>
                           
                            side-effects arg 0 <modify_expr 0x4012e4a0> arg 1 <call_expr 0x4012e400>>>>> arg 2 <integer_cst 0x4001d540 0>>>>

I didn't check the other failures but will do if you need further
information.

My system: glibc 2.1.2, Linux 2.2.13, i686.

Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.rhein-neckar.de


More information about the Gcc-bugs mailing list