[Bug c++/16905] [3.4 regression] ICE (segfault) with exceptions

reichelt at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Aug 6 23:23:00 GMT 2004


------- Additional Comments From reichelt at gcc dot gnu dot org  2004-08-06 23:23 -------
Confirmed.

Here's something slightly smaller that crashed when compiled with "g++ -O"
(regardless of using -funit-at-a-time or -fno-unit-at-a-time).

==================================================
int foo();
inline void bar() throw() {}

struct A
{
    A()
    {
        int i=foo();

        if (i)
        {
            try         { while (i) ; }
            catch (...) { while (true) ; }
        }
        i=0;
    }
};

struct B
{
    ~B() { while (true) ; }
};

A* p;

void baz()
{
    p=new A;
    B b;
    bar();
}
==================================================


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |reichelt at gcc dot gnu dot
                   |                            |org
           Severity|normal                      |critical
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |ice-on-valid-code, monitored
      Known to fail|                            |3.4.0 3.4.1
      Known to work|                            |3.3.4 3.5.0
   Last reconfirmed|0000-00-00 00:00:00         |2004-08-06 23:23:12
               date|                            |
            Summary|ICE (segfault) while        |[3.4 regression] ICE
                   |compiling with -funit-at-a- |(segfault) with exceptions
                   |time                        |
   Target Milestone|---                         |3.4.2


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



More information about the Gcc-bugs mailing list