[Bug middle-end/15848] New: Invalid GIMPLE generated
dberlin at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sun Jun 6 13:34:00 GMT 2004
The following testcase generates invalid GIMPLE:
typedef struct _ImageInfo {
} ImageInfo;
typedef struct _PointInfo {
unsigned int colors;
} Image;
Image *
ReadBMPImage(const ImageInfo * image_info)
{
Image *image;
register int bit, i, x, y;
unsigned char *bmp_pixels, magick[12];
unsigned int bytes_per_line, image_size, status;
if ((status == 0) || (strncmp((char *) magick, "BM", 2) != 0)) {
for (i = 0; i < (int) image->colors; i++) {
}
}
}
This generates (among other statements), magick.0<D1119> = (char<D1> *)&magick<D1113>;
This is not valid GIMPLE, since the ADDR_EXPR should be separate from the cast.
--
Summary: Invalid GIMPLE generated
Product: gcc
Version: 3.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dberlin at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15848
More information about the Gcc-bugs
mailing list