When building JSGlobalObject.cpp from webkit's source with GCC rev.163944 the
compiler ICEs in gimple_fold_obj_type_ref_known_binfo() because it attempts to
execute "fndecl = TREE_VALUE (v)" with v equal to NULL.

The preprocessed source is quite big, but I've got no knowledge of webkit's
internals and can't reduce it in reasonable time.

GCC was configured with the following options:

../gcc-current/configure --prefix=/home/artem/testing/gcc46 --enable-shared
--enable-bootstrap --enable-languages=c,c++ --enable-threads=posix
--enable-checking=release --with-system-zlib --disable-libunwind-exceptions
--enable-__cxa_atexit --enable-libssp --with-gnu-ld --with-lto --disable-nls
--verbose --with-arch=athlon64 --target=x86_64-slackware-linux
--build=x86_64-slackware-linux --host=x86_64-slackware-linux --disable-multilib
--enable-checking=release --enable-stage1-languages=c,c++

and then built with "make STAGE1_CFLAGS="-g -O0" all-stage1".

  To reproduce, do "cc1plus -dH -O1 < JSGlobalData.i > JSGlobalData.o". It's
important to run compiler on 64-bit host because preprocessed JSGlobalData
assumes that sizeof(double)==sizeof(long int).


-- 
           Summary: [4.6 Regression] Building WebKit fails with compiler
                    catching SIGSEGV in
                    gimple_fold_obj_type_ref_known_binfo()
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: aanisimov at inbox dot ru
 GCC build triplet: x86_64-slackware-linux
  GCC host triplet: x86_64-slackware-linux
GCC target triplet: x86_64-slackware-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45580

Reply via email to