diff options
-rw-r--r-- | libgfortran/ChangeLog | 11 | ||||
-rw-r--r-- | libgfortran/acinclude.m4 | 12 | ||||
-rw-r--r-- | libgfortran/config.h.in | 9 | ||||
-rwxr-xr-x | libgfortran/configure | 11 | ||||
-rw-r--r-- | libgfortran/configure.ac | 2 | ||||
-rw-r--r-- | libgfortran/io/io.h | 4 |
6 files changed, 37 insertions, 12 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index b874dc5..e7e8065 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,5 +1,16 @@ 2005-11-28 Jakub Jelinek <jakub@redhat.com> + 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 9d06a8b..3af0c0e 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 ba0ca49..92f0886 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 6799fa5..6651af4 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 7dc9298..cba9918 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 004bcef..9caf59f 100644 --- a/libgfortran/io/io.h +++ b/libgfortran/io/io.h @@ -32,10 +32,6 @@ Boston, MA 02110-1301, USA. */ #include <setjmp.h> #include "libgfortran.h" -#ifdef HAVE_PRAGMA_WEAK -/* Used by gthr.h. */ -#define SUPPORTS_WEAK 1 -#endif #include <gthr.h> |