system.h: Use putc_unlocked...
authorZack Weinberg <zack@rabi.phys.columbia.edu>
Fri, 19 Mar 1999 00:47:41 +0000 (00:47 +0000)
committerJeff Law <law@gcc.gnu.org>
Fri, 19 Mar 1999 00:47:41 +0000 (17:47 -0700)
        * 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

gcc/ChangeLog
gcc/acconfig.h
gcc/config.in
gcc/configure
gcc/configure.in
gcc/system.h

index 052c5a5..2a2f526 100644 (file)
@@ -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
index 5c78dbe..3aae71e 100644 (file)
@@ -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
 
 /* 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
 
index b2aeaf4..dc6cf2e 100644 (file)
@@ -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
 
 /* 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
 
index d150eb7..e697e3d 100755 (executable)
@@ -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
index d6e15ea..02071b8 100644 (file)
@@ -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>
index e668a9e..a744760 100644 (file)
@@ -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>