26 lines
526 B
C
26 lines
526 B
C
/* PR tree-optimization/65533 */
|
|
/* { dg-do compile } */
|
|
/* { dg-options "-Ofast -w" } */
|
|
|
|
struct A { int a[2]; };
|
|
struct B { double b[2]; };
|
|
struct C { double c[4][1]; };
|
|
|
|
static inline void
|
|
bar (struct B *x, double y, double z)
|
|
{
|
|
x->b[0] = y;
|
|
x->b[1] = z;
|
|
}
|
|
|
|
void baz (struct B *);
|
|
|
|
void
|
|
foo (struct C *x, struct A *y)
|
|
{
|
|
struct B d;
|
|
bar (&d, x->c[1][0] * y->a[0] + x->c[0][1] * y->a[1] + x->c[0][0] * x->c[0][1],
|
|
x->c[0][0] * y->a[0] + x->c[0][1] * y->a[1] + x->c[0][1] * y->a[0] + x->c[0][0]);
|
|
baz (&d);
|
|
}
|