re PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01...
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Mon, 31 Aug 2015 14:02:43 +0000 (14:02 +0000)
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Mon, 31 Aug 2015 14:02:43 +0000 (14:02 +0000)
PR libfortran/47571
* acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Reinstate.
* configure.ac: Call LIBGFOR_GTHREAD_WEAK again.
* config.h.in: Regenerate.
* configure: Regenerate.

From-SVN: r227347

libgfortran/ChangeLog
libgfortran/acinclude.m4
libgfortran/config.h.in
libgfortran/configure
libgfortran/configure.ac

index a6301f1d67d9e7c6758aea42442922a470254a79..b3fa76334184bc2d96d10b4391d1b17e34b4f769 100644 (file)
@@ -1,3 +1,11 @@
+2015-08-31  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR libfortran/47571
+       * acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Reinstate.
+       * configure.ac: Call LIBGFOR_GTHREAD_WEAK again.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+
 2015-08-31  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
        PR libfortran/47571
index fab29e424bf2729a3bef134977604cb9100c7bcf..7280bc37a0bd2fb3f4727b788b3fefa28ca78c10 100644 (file)
@@ -69,6 +69,28 @@ if (foovar > 10) return __sync_add_and_fetch (&foovar, -1);]])],
              [Define to 1 if the target supports __sync_fetch_and_add])
   fi])
 
+dnl Check for pragma weak.
+AC_DEFUN([LIBGFOR_GTHREAD_WEAK], [
+  AC_CACHE_CHECK([whether pragma weak works],
+                libgfor_cv_have_pragma_weak, [
+  gfor_save_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -Wunknown-pragmas"
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+void foo (void);
+#pragma weak foo
+]], [[if (foo) foo ();]])],
+                   libgfor_cv_have_pragma_weak=yes, libgfor_cv_have_pragma_weak=no)])
+  if test $libgfor_cv_have_pragma_weak = yes; then
+    AC_DEFINE(SUPPORTS_WEAK, 1,
+             [Define to 1 if the target supports #pragma weak])
+  fi
+  case "$host" in
+    *-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw* | *-*-musl* )
+      AC_DEFINE(GTHREAD_USE_WEAK, 0,
+               [Define to 0 if the target shouldn't use #pragma weak])
+      ;;
+  esac])
+
 dnl Check whether target effectively supports weakref
 AC_DEFUN([LIBGFOR_CHECK_WEAKREF], [
   AC_CACHE_CHECK([whether the target supports weakref],
index cf8237e0f0cf67cdb474213c48afd06b5fb8d08c..22449e6892b93b3550cb93c68c494e6157f761f4 100644 (file)
@@ -1,5 +1,8 @@
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
+/* Define to 0 if the target shouldn't use #pragma weak */
+#undef GTHREAD_USE_WEAK
+
 /* Define to 1 if you have the `access' function. */
 #undef HAVE_ACCESS
 
 /* 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 supports weakref */
 #undef SUPPORTS_WEAKREF
 
index 12f6f131e61da44063fac2af521ff497d16cc6eb..f746f6f5d1d676a941909260be5d792cdf82e286 100755 (executable)
@@ -25953,6 +25953,52 @@ $as_echo "#define HAVE_SYNC_FETCH_AND_ADD 1" >>confdefs.h
 
   fi
 
+# Check out #pragma weak.
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pragma weak works" >&5
+$as_echo_n "checking whether pragma weak works... " >&6; }
+if test "${libgfor_cv_have_pragma_weak+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+  gfor_save_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -Wunknown-pragmas"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+void foo (void);
+#pragma weak foo
+
+int
+main ()
+{
+if (foo) foo ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  libgfor_cv_have_pragma_weak=yes
+else
+  libgfor_cv_have_pragma_weak=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgfor_cv_have_pragma_weak" >&5
+$as_echo "$libgfor_cv_have_pragma_weak" >&6; }
+  if test $libgfor_cv_have_pragma_weak = yes; then
+
+$as_echo "#define SUPPORTS_WEAK 1" >>confdefs.h
+
+  fi
+  case "$host" in
+    *-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw* | *-*-musl* )
+
+$as_echo "#define GTHREAD_USE_WEAK 0" >>confdefs.h
+
+      ;;
+  esac
+
 # Check out weakref support.
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target supports weakref" >&5
index fd963ff11b8a626bebd299ffd72d371b2b101f89..8f377bb4b50c28a172443e338698e1bed784cbee 100644 (file)
@@ -595,6 +595,9 @@ LIBGFOR_CHECK_ATTRIBUTE_ALIAS
 # Check out sync builtins support.
 LIBGFOR_CHECK_SYNC_FETCH_AND_ADD
 
+# Check out #pragma weak.
+LIBGFOR_GTHREAD_WEAK
+
 # Check out weakref support.
 LIBGFOR_CHECK_WEAKREF