Bug 26179 - [4.2 Regression] ICE while compiling mozilla in tree-ssa-pre.c
Summary: [4.2 Regression] ICE while compiling mozilla in tree-ssa-pre.c
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: tree-optimization (show other bugs)
Version: 4.2.0
: P3 normal
Target Milestone: 4.2.0
Assignee: Andrew Pinski
URL:
Keywords: ice-on-valid-code
: 26212 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-02-08 20:58 UTC by Art Haas
Modified: 2006-02-10 13:40 UTC (History)
3 users (show)

See Also:
Host: i686-pc-linux-gnu
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2006-02-08 23:31:07


Attachments
Pre-processed output of file inducing ICE (167.66 KB, application/x-bzip)
2006-02-08 21:01 UTC, Art Haas
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Art Haas 2006-02-08 20:58:55 UTC
Hi.

As of February 6, my GCC build has an ICE when building CVS mozilla code.
The output of compiling the file with '-v -save-temps' is below. The
preprocessed file will be submitted once this messages gets into bugzilla.

Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /home/arth/gcc/configure --prefix=/opt/gnu --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++,objc --disable-checking --with-system-zlib --with-gc=page
Thread model: posix
gcc version 4.2.0 20060208 (experimental)
/opt/gnu/libexec/gcc/i686-pc-linux-gnu/4.2.0/cc1plus -E -quiet -v -I../../dist/include/system_wrappers -I/home/arth/mozilla/layout/generic -I/home/arth/mozilla/layout/generic/../base -I/home/arth/mozilla/layout/generic/../tables -I/home/arth/mozilla/layout/generic/../xul/base/src -I/home/arth/mozilla/layout/generic/../../content/xul/content/src -I/home/arth/mozilla/layout/generic/../../content/base/src -I/home/arth/mozilla/layout/generic/../../content/html/content/src -I../../dist/include/xpcom -I../../dist/include/string -I../../dist/include/dom -I../../dist/include/content -I../../dist/include/gfx -I../../dist/include/widget -I../../dist/include/locale -I../../dist/include/view -I../../dist/include/necko -I../../dist/include/js -I../../dist/include/caps -I../../dist/include/pref -I../../dist/include/htmlparser -I../../dist/include/webshell -I../../dist/include/plugin -I../../dist/include/docshell -I../../dist/include/uriloader -I../../dist/include/mimetype -I../../dist/include/webbrwsr -I../../dist/include/oji -I../../dist/include/unicharutil -I../../dist/include/lwbrk -I../../dist/include/imglib2 -I../../dist/include/accessibility -I../../dist/include/xpconnect -I../../dist/include/java -I../../dist/include/exthandler -I../../dist/include/intl -I../../dist/include/uconv -I../../dist/include -I../../dist/include/layout -I../../dist/include/nspr -I../../dist/sdk/include -D_GNU_SOURCE -D_REENTRANT -DMOZILLA_INTERNAL_API -DOSTYPE="Linux2.6.15-1" -DOSARCH="Linux" -DBUILD_ID=2006020810 -D_IMPL_NS_LAYOUT -DNDEBUG -DTRIMMED -DMOZILLA_CLIENT -include /home/arth/mozilla/config/gcc_hidden.h -include ../../mozilla-config.h -MD .deps/nsTextFrame.pp /home/arth/mozilla/layout/generic/nsTextFrame.cpp -march=pentium3 -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -pedantic -fPIC -fno-rtti -fno-exceptions -fno-check-new -fshort-wchar -ffunction-sections -O2 -fpch-preprocess -o nsTextFrame.iiignoring nonexistent directory "/opt/gnu/lib/gcc/i686-pc-linux-gnu/4.2.0/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 ../../dist/include/system_wrappers
 /home/arth/mozilla/layout/generic
 /home/arth/mozilla/layout/generic/../base
 /home/arth/mozilla/layout/generic/../tables
 /home/arth/mozilla/layout/generic/../xul/base/src
 /home/arth/mozilla/layout/generic/../../content/xul/content/src
 /home/arth/mozilla/layout/generic/../../content/base/src
 /home/arth/mozilla/layout/generic/../../content/html/content/src
../../dist/include/xpcom
 ../../dist/include/string
 ../../dist/include/dom
 ../../dist/include/content
 ../../dist/include/gfx
 ../../dist/include/widget
 ../../dist/include/locale
 ../../dist/include/view
 ../../dist/include/necko
 ../../dist/include/js
 ../../dist/include/caps
 ../../dist/include/pref
 ../../dist/include/htmlparser
 ../../dist/include/webshell
 ../../dist/include/plugin
 ../../dist/include/docshell
 ../../dist/include/uriloader
 ../../dist/include/mimetype
 ../../dist/include/webbrwsr
 ../../dist/include/oji
 ../../dist/include/unicharutil
 ../../dist/include/lwbrk
 ../../dist/include/imglib2
 ../../dist/include/accessibility
 ../../dist/include/xpconnect
 ../../dist/include/java
 ../../dist/include/exthandler
 ../../dist/include/intl
 ../../dist/include/uconv
 ../../dist/include
 ../../dist/include/layout
 ../../dist/include/nspr
 ../../dist/sdk/include
/opt/gnu/lib/gcc/i686-pc-linux-gnu/4.2.0/../../../../include/c++/4.2.0
 /opt/gnu/lib/gcc/i686-pc-linux-gnu/4.2.0/../../../../include/c++/4.2.0/i686-pc-linux-gnu
 /opt/gnu/lib/gcc/i686-pc-linux-gnu/4.2.0/../../../../include/c++/4.2.0/backward /usr/local/include
 /opt/gnu/include
 /opt/gnu/lib/gcc/i686-pc-linux-gnu/4.2.0/include
 /usr/include
End of search list.
 /opt/gnu/libexec/gcc/i686-pc-linux-gnu/4.2.0/cc1plus -fpreprocessed nsTextFrame.ii -quiet -dumpbase nsTextFrame.cpp -march=pentium3 -auxbase-strip nsTextFrame.o -O2 -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -pedantic -version -fPIC -fno-rtti -fno-exceptions -fno-check-new -fshort-wchar -ffunction-sections -o nsTextFrame.s
GNU C++ version 4.2.0 20060208 (experimental) (i686-pc-linux-gnu)
        compiled by GNU C version 4.2.0 20060208 (experimental).
GGC heuristics: --param ggc-min-expand=46 --param ggc-min-heapsize=31772
Compiler executable checksum: d7474398a8dcc6bc2280de373ea5e626
{ ... mozilla code warnings ... }
/home/arth/mozilla/layout/generic/nsTextFrame.cpp:6291: internal compiler error: in create_component_ref_by_pieces, at tree-ssa-pre.c:2167
Please submit a full bug report,
with preprocessed source if appropriate.
Comment 1 Art Haas 2006-02-08 21:01:05 UTC
Created attachment 10804 [details]
Pre-processed output of file inducing ICE

Attaching pre-processed output. File compressed with bzip2 due to size.
Comment 2 Andrew Pinski 2006-02-08 23:16:42 UTC
I bet it is RETURN_DECL which is the problem but checking for sure now.
If it is I will apply the obvious patch with a testcase.
Comment 3 Andrew Pinski 2006-02-08 23:23:00 UTC
Reduced testcase for the RETURN_DECL issue (I still have to figure out if this is the same issue):
struct a
{
  int i;
};
void h(struct a&);
void l(void);

struct a g(void)
{
  struct a fl;
  h(fl);
  if (fl.i)
    l();
  fl.i+=2;
  return fl;
}
Comment 4 Andrew Pinski 2006-02-08 23:31:07 UTC
Yes it is the same issue. 
(gdb) p debug_tree(genop)
 <result_decl 0x2aaaae498be0 addedDimensions


Fixing
Comment 5 Andrew Pinski 2006-02-09 14:31:32 UTC
Subject: Bug 26179

Author: pinskia
Date: Thu Feb  9 14:31:28 2006
New Revision: 110801

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110801
Log:
2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/26179
        * g++.dg/opt/pr26179.C: New test.
2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/26179
        * tree-ssa-pre.c (create_component_ref_by_pieces):
        Handle RETURN_DECL like VAR_DECL.


Added:
    trunk/gcc/testsuite/g++.dg/opt/pr26179.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-ssa-pre.c

Comment 6 Andrew Pinski 2006-02-09 14:32:11 UTC
Fixed.  Thanks for your report.
Comment 7 Andrew Pinski 2006-02-10 13:40:06 UTC
*** Bug 26212 has been marked as a duplicate of this bug. ***