PR29092 fix causes a regression: /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize" } */
typedef struct __attribute__ ((aligned (8))) { short a, b, c, d; } A; typedef struct { A a[24]; } B; static const A b = { 0, 0, 1, -1 }; void foo (B *x) { int i; for (i = 0; i <= 20; i += 4) x->a[i] = b; } results in endless recursion in make_vector_type. The RECORD_TYPE type has attributes, but as any record type TYPE_MAIN_VARIANT of it is itself. -- Summary: [4.0/4.1/4.2/4.3 Regression] Endless recursion in make_vector_type Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jakub at gcc dot gnu dot org GCC target triplet: x86_64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29637