This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug optimization/11083] New: [3.3 regression] ICE in commit_one_edge_insertion, at cfgrtl.c:1438 with -O2 -fnon-call-exceptions


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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

           Summary: [3.3 regression] ICE in commit_one_edge_insertion, at
                    cfgrtl.c:1438 with -O2 -fnon-call-exceptions
           Product: gcc
           Version: 3.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: nick@ilm.com
                CC: gcc-bugs@gcc.gnu.org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu

With -O2 -fnon-call-exceptions, the following code causes an ICE
in g++ 3.3:

#include <vector>
class B { public: B (const std::vector<int> &a); std::vector<int> _a; };
B::B(const std::vector<int> &a) { _a = a; }

adding -fno-gcse causes the ICE to disappear.  This code snippet works
in gcc-3.2.3 gcc-3.0.4 and gcc-3.4 (cvs head)

preprocessed source from gcc-3.3 will be attached to the PR

-nick


> /dept/rnd/vendor/gcc-3.3/bin/g++ -v -O2 -fnon-call-exceptions ~/gcse-non-call.C
Reading specs from /dept/rnd/vendor/gcc-3.3/lib/gcc-lib/i686-pc-linux-gnu/3.3/specs
Configured with: ../gcc-3.3/configure --prefix=/dept/rnd/vendor/gcc-3.3
--enable-threads --enable-languages=c,c++
Thread model: posix
gcc version 3.3
 /dept/rnd/vendor/gcc-3.3/lib/gcc-lib/i686-pc-linux-gnu/3.3/cc1plus -quiet -v
-D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=0 -D_GNU_SOURCE
/home/nick/gcse-non-call.C -D__GNUG__=3 -quiet -dumpbase gcse-non-call.C
-auxbase gcse-non-call -O2 -version -fnon-call-exceptions -o /usr/tmp/ccaMSo6V.s
GNU C++ version 3.3 (i686-pc-linux-gnu)
        compiled by GNU C version 2.96 20000731 (Red Hat Linux 7.1 2.96-98).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/dept/rnd/vendor/gcc-3.3/i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /dept/rnd/vendor/gcc-3.3/include/c++/3.3
 /dept/rnd/vendor/gcc-3.3/include/c++/3.3/i686-pc-linux-gnu
 /dept/rnd/vendor/gcc-3.3/include/c++/3.3/backward
 /usr/local/include
 /dept/rnd/vendor/gcc-3.3/include
 /dept/rnd/vendor/gcc-3.3/lib/gcc-lib/i686-pc-linux-gnu/3.3/include
 /usr/include
End of search list.
/dept/rnd/vendor/gcc-3.3/include/c++/3.3/bits/vector.tcc: In member function `
   std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const 
   std::vector<_Tp, _Alloc>&) [with _Tp = int, _Alloc = std::allocator<int>]':
/home/nick/gcse-non-call.C:3:   instantiated from here
/dept/rnd/vendor/gcc-3.3/include/c++/3.3/bits/vector.tcc:152: internal compiler
error: in
   commit_one_edge_insertion, at cfgrtl.c:1438



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]