Bug 12214 - [3.3.1 regression] ICE in make_label_edge with -fnon-call-exceptions -fno-gcse -O2
Summary: [3.3.1 regression] ICE in make_label_edge with -fnon-call-exceptions -fno-gcs...
Status: RESOLVED DUPLICATE of bug 12215
Alias: None
Product: gcc
Classification: Unclassified
Component: rtl-optimization (show other bugs)
Version: 3.3.1
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-09-08 20:10 UTC by nick
Modified: 2005-07-23 22:49 UTC (History)
1 user (show)

See Also:
Host: i686-pc-linux-gnu
Target: i686-pc-linux-gnu
Build: i686-pc-linux-gnu
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description nick 2003-09-08 20:10:14 UTC
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
Comment 1 nick 2003-09-08 20:18:29 UTC
Accidental double submission of this bug... 12215 has the attachment, so
I'm flagging this as a dup of that.

-nick

*** This bug has been marked as a duplicate of 12215 ***