| /* PR tree-optimization/88693 */ |
| |
| __attribute__((noipa)) void |
| foo (char *p) |
| { |
| if (__builtin_strlen (p) != 9) |
| __builtin_abort (); |
| } |
| |
| __attribute__((noipa)) void |
| quux (char *p) |
| { |
| int i; |
| for (i = 0; i < 100; i++) |
| if (p[i] != 'x') |
| __builtin_abort (); |
| } |
| |
| __attribute__((noipa)) void |
| qux (void) |
| { |
| char b[100]; |
| __builtin_memset (b, 'x', sizeof (b)); |
| quux (b); |
| } |
| |
| __attribute__((noipa)) void |
| bar (void) |
| { |
| static unsigned char u[9] = "abcdefghi"; |
| char b[100]; |
| __builtin_memcpy (b, u, sizeof (u)); |
| b[sizeof (u)] = 0; |
| foo (b); |
| } |
| |
| __attribute__((noipa)) void |
| baz (void) |
| { |
| static unsigned char u[] = { 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r' }; |
| char b[100]; |
| __builtin_memcpy (b, u, sizeof (u)); |
| b[sizeof (u)] = 0; |
| foo (b); |
| } |
| |
| int |
| main () |
| { |
| qux (); |
| bar (); |
| baz (); |
| return 0; |
| } |