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 tree-optimization/15874] [3.5 Regression] ICE: in create_temp, at tree-outof-ssa.c:143 with -O2 (C++)


------- Additional Comments From reichelt at gcc dot gnu dot org  2004-06-08 16:49 -------
Note that Serge's testcase crashes in
replace_ssa_names, at tree-ssa-copy.c:73

Here's an even shorter version of Serge's testcase:

===========================================
void foo();

struct A
{
    int i;

    A() : i(0) {}
    ~A() { if (i) foo(); }
    void bar(A &a) { a.i = 1; }
};

void quus()
{
    A a1, a2;
    foo();
    a1.bar(a1);
}
===========================================

Here's a testcase that crashes in the same spot as the
original testcase, namely in create_temp, at tree-outof-ssa.c:143

===========================================
void foo();

struct B
{
    ~B();
};

struct A
{
    int i;
    B b;

    ~A() { foo(); }
    int bar() const { return i ? i+i : 0; }
};

int quus()
{
    A a1;

    foo();
    while (1)
    {
        A a2;
        if (a2.bar()) return 0;
    }
}
===========================================


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |reichelt at gcc dot gnu dot
                   |                            |org
           Keywords|                            |monitored


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


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