Current glibc headers only declare fputs_unlocked for _GNU_SOURCE,
so define it to obtain an official prototype.
Add a fallback prototype declaration for other systems that do not
have fputs_unlocked. This seems to the most straightforward approach
to avoid an implicit function declaration, without reducing test
coverage and introducing ongoing maintenance requirements (e.g.g,
FreeBSD added fputs_unlocked support fairly recently).
gcc/testsuite/
* gcc.c-torture/execute/builtins/fputs.c (_GNU_SOURCE):
Define.
(fputs_unlocked): Declare.
---
gcc/testsuite/gcc.c-torture/execute/builtins/fputs.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/fputs.c
b/gcc/testsuite/gcc.c-torture/execute/builtins/fputs.c
index 93fa9736449..a94ea993364 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtins/fputs.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/fputs.c
@@ -5,9 +5,13 @@
Written by Kaveh R. Ghazi, 10/30/2000. */
+#define _GNU_SOURCE /* For fputs_unlocked. */
#include <stdio.h>
extern void abort(void);
+/* Not all systems have fputs_unlocked. See fputs-lib.c. */
+extern int (fputs_unlocked) (const char *, FILE *);
+
int i;
void
base-commit: 0e29c6f65523dad20068ba69cd03d8f6f82cab41