From e669bd2b69b82732454e51c8b9c2cad26ea8bbd7 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 28 Nov 2005 20:51:02 +0100 Subject: [PATCH] acinclude.m4 (LIBGFOR_CHECK_PRAGMA_WEAK): Rename to... libfortran/24991 * acinclude.m4 (LIBGFOR_CHECK_PRAGMA_WEAK): Rename to... (LIBGFOR_GTHREAD_WEAK): ... this. Define SUPPORTS_WEAK rather than HAVE_PRAGMA_WEAK. Define GTHREAD_USE_WEAK to 0 on hosts that shouldn't use weak in gthr.h. * configure.ac: Use LIBGFOR_GTHREAD_WEAK instead of LIBGFOR_CHECK_PRAGMA_WEAK. * config.h.in: Regenerated. * configure: Regenerated. * io/io.h (SUPPORTS_WEAK): Don't define here. From-SVN: r107616 --- libgfortran/ChangeLog | 11 +++++++++++ libgfortran/acinclude.m4 | 12 +++++++++--- libgfortran/config.h.in | 9 ++++++--- libgfortran/configure | 11 ++++++++++- libgfortran/configure.ac | 2 +- libgfortran/io/io.h | 4 ---- 6 files changed, 37 insertions(+), 12 deletions(-) diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index b874dc57819..e7e8065118b 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,5 +1,16 @@ 2005-11-28 Jakub Jelinek + libfortran/24991 + * acinclude.m4 (LIBGFOR_CHECK_PRAGMA_WEAK): Rename to... + (LIBGFOR_GTHREAD_WEAK): ... this. Define SUPPORTS_WEAK rather + than HAVE_PRAGMA_WEAK. Define GTHREAD_USE_WEAK to 0 on hosts + that shouldn't use weak in gthr.h. + * configure.ac: Use LIBGFOR_GTHREAD_WEAK instead of + LIBGFOR_CHECK_PRAGMA_WEAK. + * config.h.in: Regenerated. + * configure: Regenerated. + * io/io.h (SUPPORTS_WEAK): Don't define here. + * intrinsics/ftell.c (ftell, FTELL_SUB): Add unlock_unit call. * intrinsics/fget.c (fgetc, fputs): Likewise. * intrinsics/tty.c (ttynam): Likewise. diff --git a/libgfortran/acinclude.m4 b/libgfortran/acinclude.m4 index 9d06a8b84d4..3af0c0ea476 100644 --- a/libgfortran/acinclude.m4 +++ b/libgfortran/acinclude.m4 @@ -174,7 +174,7 @@ target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`]) fi]) dnl Check for pragma weak. -AC_DEFUN([LIBGFOR_CHECK_PRAGMA_WEAK], [ +AC_DEFUN([LIBGFOR_GTHREAD_WEAK], [ AC_CACHE_CHECK([whether pragma weak works], have_pragma_weak, [ gfor_save_CFLAGS="$CFLAGS" @@ -183,9 +183,15 @@ AC_DEFUN([LIBGFOR_CHECK_PRAGMA_WEAK], [ #pragma weak foo], [if (foo) foo ();], have_pragma_weak=yes, have_pragma_weak=no)]) if test $have_pragma_weak = yes; then - AC_DEFINE(HAVE_PRAGMA_WEAK, 1, + AC_DEFINE(SUPPORTS_WEAK, 1, [Define to 1 if the target supports #pragma weak]) - fi]) + fi + case "$host" in + *-*-darwin* | *-*-hpux* | *-*-cygwin*) + AC_DEFINE(GTHREAD_USE_WEAK, 0, + [Define to 0 if the target shouldn't use #pragma weak]) + ;; + esac]) dnl Check whether target can unlink a file still open. AC_DEFUN([LIBGFOR_CHECK_UNLINK_OPEN_FILE], [ diff --git a/libgfortran/config.h.in b/libgfortran/config.h.in index ba0ca49b455..92f088672d7 100644 --- a/libgfortran/config.h.in +++ b/libgfortran/config.h.in @@ -3,6 +3,9 @@ /* Does gettimeofday take a single argument */ #undef GETTIMEOFDAY_ONE_ARGUMENT +/* Define to 0 if the target shouldn't use #pragma weak */ +#undef GTHREAD_USE_WEAK + /* libm includes acos */ #undef HAVE_ACOS @@ -465,9 +468,6 @@ /* libm includes powl */ #undef HAVE_POWL -/* Define to 1 if the target supports #pragma weak */ -#undef HAVE_PRAGMA_WEAK - /* libm includes round */ #undef HAVE_ROUND @@ -684,6 +684,9 @@ /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS +/* Define to 1 if the target supports #pragma weak */ +#undef SUPPORTS_WEAK + /* Define to 1 if the target is ILP32. */ #undef TARGET_ILP32 diff --git a/libgfortran/configure b/libgfortran/configure index 6799fa52772..6651af413be 100755 --- a/libgfortran/configure +++ b/libgfortran/configure @@ -20854,10 +20854,19 @@ echo "${ECHO_T}$have_pragma_weak" >&6 if test $have_pragma_weak = yes; then cat >>confdefs.h <<\_ACEOF -#define HAVE_PRAGMA_WEAK 1 +#define SUPPORTS_WEAK 1 _ACEOF fi + case "$host" in + *-*-darwin* | *-*-hpux* | *-*-cygwin*) + +cat >>confdefs.h <<\_ACEOF +#define GTHREAD_USE_WEAK 0 +_ACEOF + + ;; + esac # Various other checks on target diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac index 7dc9298cfe6..cba9918ecbc 100644 --- a/libgfortran/configure.ac +++ b/libgfortran/configure.ac @@ -381,7 +381,7 @@ LIBGFOR_CHECK_SYNC_FETCH_AND_ADD LIBGFOR_CHECK_GTHR_DEFAULT # Check out #pragma weak. -LIBGFOR_CHECK_PRAGMA_WEAK +LIBGFOR_GTHREAD_WEAK # Various other checks on target LIBGFOR_CHECK_UNLINK_OPEN_FILE diff --git a/libgfortran/io/io.h b/libgfortran/io/io.h index 004bcef8bf6..9caf59fbd3e 100644 --- a/libgfortran/io/io.h +++ b/libgfortran/io/io.h @@ -32,10 +32,6 @@ Boston, MA 02110-1301, USA. */ #include #include "libgfortran.h" -#ifdef HAVE_PRAGMA_WEAK -/* Used by gthr.h. */ -#define SUPPORTS_WEAK 1 -#endif #include