Using a combined tree and Geoff K's regression tester script, a multitude of failures have been introduced between LAST_UPDATED "Thu Feb 17 03:51:44 UTC 2005" and "Thu Feb 17 08:42:30 UTC 2005". There's only one change in that time-frame:
+ 2005-02-17 Jason Merrill <[EMAIL PROTECTED]> + + PR mudflap/19319, c++/19317 + * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return + slot explicit. + Here's an excerpt of the failures introduced: Running /home/hp/cvs_areas/combined/combined/gcc/testsuite/gcc.c-torture/execute/execute.exp ... FAIL: gcc.c-torture/execute/20000402-1.c execution, -O0 FAIL: gcc.c-torture/execute/20000511-1.c execution, -O0 FAIL: gcc.c-torture/execute/20010222-1.c execution, -O0 FAIL: gcc.c-torture/execute/20010222-1.c execution, -O1 FAIL: gcc.c-torture/execute/20010222-1.c execution, -O2 FAIL: gcc.c-torture/execute/20010222-1.c execution, -O3 -fomit-frame-pointer FAIL: gcc.c-torture/execute/20010222-1.c execution, -O3 -g FAIL: gcc.c-torture/execute/20010222-1.c execution, -Os FAIL: gcc.c-torture/execute/20020201-1.c execution, -O0 FAIL: gcc.c-torture/execute/20020201-1.c execution, -O1 FAIL: gcc.c-torture/execute/20020201-1.c execution, -O2 FAIL: gcc.c-torture/execute/20020201-1.c execution, -O3 -fomit-frame-pointer FAIL: gcc.c-torture/execute/20020201-1.c execution, -O3 -g FAIL: gcc.c-torture/execute/20020201-1.c execution, -Os FAIL: gcc.c-torture/execute/20020904-1.c execution, -O0 FAIL: gcc.c-torture/execute/20020904-1.c execution, -O1 FAIL: gcc.c-torture/execute/20020904-1.c execution, -O2 FAIL: gcc.c-torture/execute/20020904-1.c execution, -Os FAIL: gcc.c-torture/execute/20021119-1.c execution, -O0 FAIL: gcc.c-torture/execute/20021119-1.c execution, -O1 FAIL: gcc.c-torture/execute/20021119-1.c execution, -O2 FAIL: gcc.c-torture/execute/20021119-1.c execution, -Os FAIL: gcc.c-torture/execute/20021120-2.c execution, -O0 FAIL: gcc.c-torture/execute/20021120-2.c execution, -O1 FAIL: gcc.c-torture/execute/20021120-2.c execution, -O2 FAIL: gcc.c-torture/execute/20021120-2.c execution, -Os FAIL: gcc.c-torture/execute/20021120-3.c execution, -O0 FAIL: gcc.c-torture/execute/20021120-3.c execution, -O1 FAIL: gcc.c-torture/execute/20021120-3.c execution, -O2 FAIL: gcc.c-torture/execute/20021120-3.c execution, -Os FAIL: gcc.c-torture/execute/20030117-1.c execution, -O0 FAIL: gcc.c-torture/execute/20030117-1.c execution, -O1 FAIL: gcc.c-torture/execute/20030117-1.c execution, -O2 FAIL: gcc.c-torture/execute/20030117-1.c execution, -Os FAIL: gcc.c-torture/execute/20030128-1.c execution, -O0 FAIL: gcc.c-torture/execute/20030128-1.c execution, -O1 FAIL: gcc.c-torture/execute/20030128-1.c execution, -O2 FAIL: gcc.c-torture/execute/20030128-1.c execution, -O3 -fomit-frame-pointer FAIL: gcc.c-torture/execute/20030128-1.c execution, -O3 -g FAIL: gcc.c-torture/execute/20030128-1.c execution, -Os FAIL: gcc.c-torture/execute/20040629-1.c execution, -O0 FAIL: gcc.c-torture/execute/20040629-1.c execution, -O1 FAIL: gcc.c-torture/execute/20040629-1.c execution, -O2 FAIL: gcc.c-torture/execute/20040629-1.c execution, -O3 -fomit-frame-pointer FAIL: gcc.c-torture/execute/20040629-1.c execution, -O3 -g FAIL: gcc.c-torture/execute/20040629-1.c execution, -Os FAIL: gcc.c-torture/execute/20040705-1.c execution, -O0 FAIL: gcc.c-torture/execute/20040705-1.c execution, -O1 FAIL: gcc.c-torture/execute/20040705-1.c execution, -O2 FAIL: gcc.c-torture/execute/20040705-1.c execution, -O3 -fomit-frame-pointer FAIL: gcc.c-torture/execute/20040705-1.c execution, -O3 -g FAIL: gcc.c-torture/execute/20040705-1.c execution, -Os FAIL: gcc.c-torture/execute/20040705-2.c execution, -O0 FAIL: gcc.c-torture/execute/20040705-2.c execution, -O1 FAIL: gcc.c-torture/execute/20040705-2.c execution, -O2 FAIL: gcc.c-torture/execute/20040705-2.c execution, -O3 -fomit-frame-pointer FAIL: gcc.c-torture/execute/20040705-2.c execution, -O3 -g FAIL: gcc.c-torture/execute/20040705-2.c execution, -Os WARNING: program timed out. FAIL: gcc.c-torture/execute/920501-2.c execution, -O0 WARNING: program timed out. FAIL: gcc.c-torture/execute/920501-2.c execution, -O1 WARNING: program timed out. FAIL: gcc.c-torture/execute/920501-2.c execution, -O2 WARNING: program timed out. FAIL: gcc.c-torture/execute/920501-2.c execution, -O3 -fomit-frame-pointer WARNING: program timed out. FAIL: gcc.c-torture/execute/920501-2.c execution, -O3 -fomit-frame-pointer -funroll-loops WARNING: program timed out. FAIL: gcc.c-torture/execute/920501-2.c execution, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions WARNING: program timed out. FAIL: gcc.c-torture/execute/920501-2.c execution, -O3 -g Messages in gcc.log indicate that all or most of the failures are due to calls to abort (). Simulator traces on the simple gcc.c-torture/execute/20010222-1.c -O0 show that the libgcc __Div is miscompiled. I'm attaching preprocessed source for it. Compile with -O2. Note that do_31div is an aggregate-return function. -- Summary: [4.0 regression] miscompilation of division support functions Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: tree-optimization AssignedTo: jason at redhat dot com ReportedBy: hp at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org GCC host triplet: i686-pc-linux-gnu GCC target triplet: cris-unknown-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20024