This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
[tree-ssa] Bootstrap failure on i686-linux
- From: law at redhat dot com
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: Paul Brook <paul at nowt dot org>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, Richard Henderson <rth at redhat dot com>, Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- Date: Tue, 02 Sep 2003 08:59:58 -0600
- Subject: [tree-ssa] Bootstrap failure on i686-linux
- Reply-to: law at redhat dot com
I forgot to attach my testcase for the PRE problem.
Attached. Compile with -O2 -pedantic. The problem is the structures
that the block statement iterators depend on are mucked up for block #3
after PRE has completed.
typedef unsigned int size_t;
typedef unsigned long int reg_syntax_t;
struct re_pattern_buffer
{
unsigned char *buffer;
};
typedef enum
{
jump,
jump_n,
} re_opcode_t;
static int
foo (bufp)
struct re_pattern_buffer *bufp;
{
int mcnt;
unsigned char *p = bufp->buffer;
switch (((re_opcode_t) * p++))
{
unconditional_jump:
;
case jump:
do
{
(mcnt) = *(p) & 0377;
}
while (0);
(p) += 2;
p += mcnt;
case jump_n:
(mcnt) = *(p + 2) & 0377;
if (mcnt)
goto unconditional_jump;
}
}