1 #include <stdio.h>
2 #include <stdarg.h>
3 extern void abort (void);
4 extern int inside_main;
5
6 __attribute__ ((__noinline__))
7 int
fprintf(FILE * fp,const char * string,...)8 fprintf (FILE *fp, 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 = vfprintf (fp, string, ap);
18 va_end (ap);
19 return r;
20 }
21
22 /* Locking stdio doesn't matter for the purposes of this test. */
23 __attribute__ ((__noinline__))
24 int
fprintf_unlocked(FILE * fp,const char * string,...)25 fprintf_unlocked (FILE *fp, const char *string, ...)
26 {
27 va_list ap;
28 int r;
29 #ifdef __OPTIMIZE__
30 if (inside_main)
31 abort();
32 #endif
33 va_start (ap, string);
34 r = vfprintf (fp, string, ap);
35 va_end (ap);
36 return r;
37 }
38