From 9c30c0e76a04d193c7ffa850c2357931b728d87a Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Fri, 19 Mar 1999 00:47:41 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 10 ++++++++++ gcc/acconfig.h | 9 +++++++++ gcc/config.in | 9 +++++++++ gcc/configure | 2 +- gcc/configure.in | 2 +- gcc/system.h | 18 ++++++++++++++---- 6 files changed, 44 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 052c5a5fecd..2a2f5265261 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +Fri Mar 19 01:42:05 1999 Zack Weinberg + + * 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 * Makefile.in (INTL_TARGETS): new macro diff --git a/gcc/acconfig.h b/gcc/acconfig.h index 5c78dbea5d8..3aae71e13be 100644 --- a/gcc/acconfig.h +++ b/gcc/acconfig.h @@ -75,6 +75,9 @@ /* Whether atol must be declared even if is included. */ #undef NEED_DECLARATION_ATOL +/* Whether atof must be declared even if is included. */ +#undef NEED_DECLARATION_ATOF + /* Whether sbrk must be declared even if is included. */ #undef NEED_DECLARATION_SBRK @@ -99,6 +102,12 @@ /* Whether setrlimit must be declared even if is included. */ #undef NEED_DECLARATION_SETRLIMIT +/* Whether putc_unlocked must be declared even if is included. */ +#undef NEED_DECLARATION_PUTC_UNLOCKED + +/* Whether fputs_unlocked must be declared even if 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 b2aeaf4049e..dc6cf2e937e 100644 --- a/gcc/config.in +++ b/gcc/config.in @@ -76,6 +76,9 @@ /* Whether atol must be declared even if is included. */ #undef NEED_DECLARATION_ATOL +/* Whether atof must be declared even if is included. */ +#undef NEED_DECLARATION_ATOF + /* Whether sbrk must be declared even if is included. */ #undef NEED_DECLARATION_SBRK @@ -100,6 +103,12 @@ /* Whether setrlimit must be declared even if is included. */ #undef NEED_DECLARATION_SETRLIMIT +/* Whether putc_unlocked must be declared even if is included. */ +#undef NEED_DECLARATION_PUTC_UNLOCKED + +/* Whether fputs_unlocked must be declared even if 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 d150eb71c6e..e697e3df281 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 d6e15ea6a9b..02071b89871 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 diff --git a/gcc/system.h b/gcc/system.h index e668a9e950b..a744760f3aa 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 -- 2.30.2