1 /* PR tree-optimization/56205 */
8 __attribute__((noinline
, noclone
)) static void
9 f1 (const char *fmt
, ...)
12 asm volatile ("" : : : "memory");
13 if (__builtin_strcmp (fmt
, "%s %d %s") != 0)
16 if (__builtin_strcmp (va_arg (ap
, const char *), "foo") != 0
17 || va_arg (ap
, int) != 1
18 || __builtin_strcmp (va_arg (ap
, const char *), "bar") != 0)
23 __attribute__((noinline
, noclone
)) static void
24 f2 (const char *fmt
, va_list ap
)
26 asm volatile ("" : : : "memory");
27 if (__builtin_strcmp (fmt
, "baz") != 0
28 || __builtin_strcmp (va_arg (ap
, const char *), "foo") != 0
29 || va_arg (ap
, double) != 12.0
30 || va_arg (ap
, int) != 26)
35 f3 (int x
, char const *y
, va_list z
)
37 f1 ("%s %d %s", x
? "" : "foo", ++a
, (y
&& *y
) ? "bar" : "");
42 __attribute__((noinline
, noclone
)) void
43 f4 (int x
, char const *y
, ...)
56 asm volatile ("" : : : "memory");
57 f4 (0, "baz", "foo", 12.0, 26);