This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/12215] New: [3.3.1 regression] ICE in make_label_edge with -fnon-call-exceptions -fno-gcse -O2
- From: "nick at ilm dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Sep 2003 20:12:21 -0000
- Subject: [Bug optimization/12215] New: [3.3.1 regression] ICE in make_label_edge with -fnon-call-exceptions -fno-gcse -O2
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12215
Summary: [3.3.1 regression] ICE in make_label_edge with -fnon-
call-exceptions -fno-gcse -O2
Product: gcc
Version: 3.3.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: nick at ilm dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
The following code triggers an ICE in the 3.3.1 release:
/dept/rnd/vendor/gcc-3.3.1-notpatched/bin/g++ -E gcc331_ie.C > gcc331_ie.ii
/dept/rnd/vendor/gcc-3.3.1-notpatched/bin/g++ -fnon-call-exceptions -fno-gcse
-O2 gcc331_ie.ii -o gcc331_ie
gcc331_ie.C: In function `int main(int, const char**)':
gcc331_ie.C:39: internal compiler error: in make_label_edge, at cfgbuild.c:238
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
---------
#include <string>
void getArg( int &i, int argc, const char **argv, float &arg0 )
{
if ( i < argc )
{
arg0 = atof( argv[i++] );
}
}
int main (int argc, const char **argv)
{
float val = 0.0;
int i = 1;
//
// Parse the arguments
//
try {
while ( i < argc )
{
std::string arg( argv[i++]);
if ( arg == "-" )
{
int e=0;
throw( e );
}
else if ( arg == "-op" )
{
getArg( i, argc, argv, val );
}
}
} catch (...) {
}
return 0;
}
-----
It compiles with 3.2.3. It also compiles if gcse is enabled, but
bug 11646 is keeping us from doing that with the rest of the code :/
-nick