]>
Commit | Line | Data |
---|---|---|
f0f05655 | 1 | #include <stdio.h> |
2 | #include <stdarg.h> | |
58e292f1 | 3 | extern void abort (void); |
f0f05655 | 4 | extern int inside_main; |
5 | ||
7bfefa9d | 6 | __attribute__ ((__noinline__)) |
f0f05655 | 7 | int |
8 | printf (const char *string, ...) | |
9 | { | |
10 | va_list ap; | |
11 | int r; | |
12 | #ifdef __OPTIMIZE__ | |
13 | if (inside_main) | |
14 | abort(); | |
15 | #endif | |
16 | va_start (ap, string); | |
17 | r = vprintf (string, ap); | |
18 | va_end (ap); | |
19 | return r; | |
20 | } | |
21 | ||
6d77ed92 | 22 | |
23 | /* Locking stdio doesn't matter for the purposes of this test. */ | |
7bfefa9d | 24 | __attribute__ ((__noinline__)) |
6d77ed92 | 25 | int |
26 | printf_unlocked (const char *string, ...) | |
27 | { | |
28 | va_list ap; | |
29 | int r; | |
30 | #ifdef __OPTIMIZE__ | |
31 | if (inside_main) | |
32 | abort(); | |
33 | #endif | |
34 | va_start (ap, string); | |
35 | r = vprintf (string, ap); | |
36 | va_end (ap); | |
37 | return r; | |
38 | } |