annotate gcc/testsuite/gcc.c-torture/execute/pr86844.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
1 /* PR tree-optimization/86844 */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3 __attribute__((noipa)) void
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4 foo (int *p)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6 *p = 0;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 *((char *)p + 3) = 1;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8 *((char *)p + 1) = 2;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 *((char *)p + 2) = *((char *)p + 6);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 int
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13 main ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 int a[2] = { -1, 0 };
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16 if (sizeof (int) != 4)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 return 0;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18 ((char *)a)[6] = 3;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19 foo (a);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20 if (((char *)a)[0] != 0 || ((char *)a)[1] != 2
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21 || ((char *)a)[2] != 3 || ((char *)a)[3] != 1)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 __builtin_abort ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23 return 0;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24 }