Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/tree-ssa/sra-14.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* { dg-do run } */ /* { dg-options "-O1" } */ struct S { int i, j; }; struct Z { struct S d, s; }; struct S __attribute__ ((noinline, noclone)) get_s (void) { struct S s; s.i = 5; s.j = 6; return s; } struct S __attribute__ ((noinline, noclone)) get_d (void) { struct S d; d.i = 0; d.j = 0; return d; } int __attribute__ ((noinline, noclone)) get_c (void) { return 1; } int __attribute__ ((noinline, noclone)) my_nop (int i) { return i; } int __attribute__ ((noinline, noclone)) foo (void) { struct Z z; int i, c = get_c (); z.d = get_d (); z.s = get_s (); for (i = 0; i < c; i++) { z.s.i = my_nop (z.s.i); z.s.j = my_nop (z.s.j); } return z.s.i + z.s.j; } int main (int argc, char *argv[]) { if (foo () != 11) __builtin_abort (); return 0; }