diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/builtins/fputs-lib.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/builtins/fputs-lib.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/fputs-lib.c b/gcc/testsuite/gcc.c-torture/execute/builtins/fputs-lib.c new file mode 100644 index 000000000..c2292a781 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/builtins/fputs-lib.c @@ -0,0 +1,24 @@ +#include <stdio.h> +#include <stddef.h> +extern void abort (void); +extern int inside_main; +extern size_t strlen(const char *); +int +fputs(const char *string, FILE *stream) +{ + size_t n = strlen(string); + size_t r; +#if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ + if (inside_main) + abort(); +#endif + r = fwrite (string, 1, n, stream); + return n > r ? EOF : 0; +} + +/* Locking stdio doesn't matter for the purposes of this test. */ +int +fputs_unlocked(const char *string, FILE *stream) +{ + return fputs (string, stream); +} |