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 middle-end/34934] -O1 crash compile *** glibc detected *** /usr/lib/gcc/i486-linux-gnu/4.2.3/cc1: double free or corruption (!prev)



------- Comment #9 from rguenth at gcc dot gnu dot org  2008-01-24 10:26 -------
Confirmed.  With the gcc_assert patch on x86_64 it ICEs with -O -m32 with
the following reduced testcase:

typedef struct fdstruct {
    int entry[(1024 - 10) + 2];
    int last_entry;
} fdlist;
void vsendto_one(long*, __builtin_va_list);
void sendto_realops_lev(long *umode, fdlist *l, int lev, ...)
{
    int i, fd;
    __builtin_va_list vl;
    __builtin_va_start(vl, lev);
    for (fd = l->entry[i = 1]; i <= l->last_entry; fd = l->entry[++i])
    {
        switch (lev)  {
            case 1:
                if (!(*umode & 0x00000020))
                    continue;
            case 3:
                if (!(*umode & 0x00000080))
                    continue;
            case 9:
                if (!(*umode & 0x04000000))
                    continue;
            case 4:
                if (!(*umode & 0x00000200))
                    continue;
            case 8:
                if (!(*umode & 0x00100000))
                    continue;
            case 6:
                if (!(*umode & 0x00000100))
                    continue;
            case 7:
                if (!(*umode & 0x00040000))
                    continue;
            case 10:
                if (!(*umode & 0x00000020)
                    && ((*umode & 0x00008000)
                        || (*umode & 0x08000000)))
                    continue;
        }
        vsendto_one(umode, vl);
    }
}

Obviously for a densely connected CFG there can be as much as n_basic_blocks^2
edges.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu dot
                   |                            |org, rguenth at gcc dot gnu
                   |                            |dot org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|0000-00-00 00:00:00         |2008-01-24 10:26:55
               date|                            |


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


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