The below testcase ICEs in get_constraint_for_component_ref when compiled
with -O1 or beyond on x86_64.  Richard mentions that it also fails with
trunk.

---------------------------------------
/* compile with gcc -c -Os -o foo.o foo.c */

typedef struct {
        struct { } z;
} thang_t;
struct widget {
        struct widget *p, *q;
};
typedef struct thing {
        struct widget   x;
} thing_t;
struct {
        int             a;
        int             b;
        int             c;
        int             d;
        int             e;
        thang_t         f;
        thing_t         g;
} my_struct;
static void foo(thang_t *r)
{ splat(r);}
void function(int blaz)
{ foo(&my_struct.f);}
---------------------------------------


-- 
           Summary: ICE in get_constraint_for_component_ref
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: matz at suse dot de
  GCC host triplet: x86_64-linux


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

Reply via email to