Merged r158704 through r158906 into branch.
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / tailcall-6.c
blob4997f9b8355b927c5488fbc09ca0fc7d9acbf336
1 /* PR tree-optimization/43904. */
2 /* { dg-do run } */
3 /* { dg-options "-O1 -foptimize-sibling-calls" } */
5 typedef __SIZE_TYPE__ size_t;
6 extern void abort(void);
8 void *memcpy(void *dest, const void *src, size_t n);
10 void
11 buggy_init(void *ptr, size_t size)
13 const char *str = "Hello world!";
14 memcpy(ptr, &str, size);
17 void
18 expose_bug(void *ptr, size_t size)
20 const char *str;
21 memcpy(&str, ptr, size);
22 if (*str != 'H')
23 abort ();
26 int
27 main()
29 const char *ptr;
30 buggy_init(&ptr, sizeof(ptr));
31 expose_bug(&ptr, sizeof(ptr));
32 return 0;