libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / pr114876.c
blob7bb380aa29e56732782decf223e942dcac8a86e2
1 /* PR tree-optimization/114876 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -fdump-tree-optimized" } */
4 /* { dg-final { scan-tree-dump-not "return \[01\];" "optimized" } } */
5 /* { dg-final { scan-tree-dump "return 3;" "optimized" } } */
6 /* { dg-final { scan-tree-dump "return 4;" "optimized" } } */
8 int
9 foo (void)
11 char buf[64];
12 return __builtin_sprintf (buf, "%lc%lc%lc", (__WINT_TYPE__) 0, (__WINT_TYPE__) 0, (__WINT_TYPE__) 0);
15 int
16 bar (void)
18 char buf[64];
19 return __builtin_sprintf (buf, "%c%c%c", 0, 0, 0);
22 int
23 baz (void)
25 char buf[64];
26 return __builtin_sprintf (buf, "%lc%lc%lca", (__WINT_TYPE__) 0, (__WINT_TYPE__) 0, (__WINT_TYPE__) 0);
29 int
30 qux (void)
32 char buf[64];
33 return __builtin_sprintf (buf, "%c%c%ca", 0, 0, 0);