aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorZack Weinberg <zack@rabi.phys.columbia.edu>1999-03-19 00:47:41 +0000
committerJeff Law <law@gcc.gnu.org>1999-03-18 17:47:41 -0700
commit9c30c0e76a04d193c7ffa850c2357931b728d87a (patch)
tree3f666fa4225b96bda8e31b545e0a8ca45460b3d9 /gcc
parent21677228916e96eff78fb5ad3b84f147daec690c (diff)
downloadgcc-9c30c0e76a04d193c7ffa850c2357931b728d87a.zip
gcc-9c30c0e76a04d193c7ffa850c2357931b728d87a.tar.gz
gcc-9c30c0e76a04d193c7ffa850c2357931b728d87a.tar.bz2
system.h: Use putc_unlocked...
* system.h: Use putc_unlocked, fputc_unlocked, and fputs_unlocked only if putc_unlocked has a prototype already. Prototype fputs_unlocked if necessary. * configure.in: Check for prototypes of putc_unlocked and fputs_unlocked. * acconfig.h: Updated. * config.in, configure: Rebuilt. From-SVN: r25855
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/acconfig.h9
-rw-r--r--gcc/config.in9
-rwxr-xr-xgcc/configure2
-rw-r--r--gcc/configure.in2
-rw-r--r--gcc/system.h18
6 files changed, 44 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 052c5a5..2a2f526 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+Fri Mar 19 01:42:05 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
+
+ * system.h: Use putc_unlocked, fputc_unlocked, and
+ fputs_unlocked only if putc_unlocked has a prototype already.
+ Prototype fputs_unlocked if necessary.
+ * configure.in: Check for prototypes of putc_unlocked and
+ fputs_unlocked.
+ * acconfig.h: Updated.
+ * config.in, configure: Rebuilt.
+
Fri Mar 19 02:45:12 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
* Makefile.in (INTL_TARGETS): new macro
diff --git a/gcc/acconfig.h b/gcc/acconfig.h
index 5c78dbe..3aae71e 100644
--- a/gcc/acconfig.h
+++ b/gcc/acconfig.h
@@ -75,6 +75,9 @@
/* Whether atol must be declared even if <stdlib.h> is included. */
#undef NEED_DECLARATION_ATOL
+/* Whether atof must be declared even if <stdlib.h> is included. */
+#undef NEED_DECLARATION_ATOF
+
/* Whether sbrk must be declared even if <stdlib.h> is included. */
#undef NEED_DECLARATION_SBRK
@@ -99,6 +102,12 @@
/* Whether setrlimit must be declared even if <sys/resource.h> is included. */
#undef NEED_DECLARATION_SETRLIMIT
+/* Whether putc_unlocked must be declared even if <stdio.h> is included. */
+#undef NEED_DECLARATION_PUTC_UNLOCKED
+
+/* Whether fputs_unlocked must be declared even if <stdio.h> is included. */
+#undef NEED_DECLARATION_FPUTS_UNLOCKED
+
/* Define if you want expensive run-time checks. */
#undef ENABLE_CHECKING
diff --git a/gcc/config.in b/gcc/config.in
index b2aeaf4..dc6cf2e 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -76,6 +76,9 @@
/* Whether atol must be declared even if <stdlib.h> is included. */
#undef NEED_DECLARATION_ATOL
+/* Whether atof must be declared even if <stdlib.h> is included. */
+#undef NEED_DECLARATION_ATOF
+
/* Whether sbrk must be declared even if <stdlib.h> is included. */
#undef NEED_DECLARATION_SBRK
@@ -100,6 +103,12 @@
/* Whether setrlimit must be declared even if <sys/resource.h> is included. */
#undef NEED_DECLARATION_SETRLIMIT
+/* Whether putc_unlocked must be declared even if <stdio.h> is included. */
+#undef NEED_DECLARATION_PUTC_UNLOCKED
+
+/* Whether fputs_unlocked must be declared even if <stdio.h> is included. */
+#undef NEED_DECLARATION_FPUTS_UNLOCKED
+
/* Define if you want expensive run-time checks. */
#undef ENABLE_CHECKING
diff --git a/gcc/configure b/gcc/configure
index d150eb7..e697e3d 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -2593,7 +2593,7 @@ fi
for ac_func in malloc realloc calloc free bcopy bzero bcmp \
index rindex getenv atol sbrk abort atof strerror getcwd getwd \
- strsignal
+ strsignal putc_unlocked fputs_unlocked
do
echo $ac_n "checking whether $ac_func must be declared""... $ac_c" 1>&6
echo "configure:2600: checking whether $ac_func must be declared" >&5
diff --git a/gcc/configure.in b/gcc/configure.in
index d6e15ea..02071b8 100644
--- a/gcc/configure.in
+++ b/gcc/configure.in
@@ -383,7 +383,7 @@ AC_FUNC_VFORK
GCC_NEED_DECLARATIONS(malloc realloc calloc free bcopy bzero bcmp \
index rindex getenv atol sbrk abort atof strerror getcwd getwd \
- strsignal)
+ strsignal putc_unlocked fputs_unlocked)
GCC_NEED_DECLARATIONS(getrlimit setrlimit, [
#include <sys/types.h>
diff --git a/gcc/system.h b/gcc/system.h
index e668a9e..a744760 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -37,18 +37,28 @@ Boston, MA 02111-1307, USA. */
#endif
/* The compiler is not a multi-threaded application and therefore we
- do not have to use the locking functions. */
-#ifdef HAVE_PUTC_UNLOCKED
+ do not have to use the locking functions.
+
+ NEED_DECLARATION_PUTC_UNLOCKED actually indicates whether or not
+ the IO code is multi-thread safe by default. If it is not declared,
+ then do not worry about using the _unlocked functions.
+
+ fputs_unlocked is an extension and needs to be prototyped specially. */
+
+#if defined HAVE_PUTC_UNLOCKED && !defined NEED_DECLARATION_PUTC_UNLOCKED
# undef putc
# define putc(C, Stream) putc_unlocked (C, Stream)
#endif
-#ifdef HAVE_FPUTC_UNLOCKED
+#if defined HAVE_FPUTC_UNLOCKED && !defined NEED_DECLARATION_PUTC_UNLOCKED
# undef fputc
# define fputc(C, Stream) fputc_unlocked (C, Stream)
#endif
-#ifdef HAVE_FPUTS_UNLOCKED
+#if defined HAVE_FPUTS_UNLOCKED && !defined NEED_DECLARATION_PUTC_UNLOCKED
# undef fputs
# define fputs(String, Stream) fputs_unlocked (String, Stream)
+# ifdef NEED_DECLARATION_FPUTS_UNLOCKED
+extern int fputs_unlocked PROTO ((const char *, FILE *));
+# endif
#endif
#include <ctype.h>