|
|
8028fd |
--- libgfortran/config/fpu-glibc.h.jj 2015-04-12 21:50:26.000000000 +0200
|
|
|
8028fd |
+++ libgfortran/config/fpu-glibc.h 2015-07-02 15:35:01.054869670 +0200
|
|
|
8028fd |
@@ -125,6 +125,7 @@ support_fpu_trap (int flag)
|
|
|
8028fd |
}
|
|
|
8028fd |
|
|
|
8028fd |
|
|
|
8028fd |
+#ifndef LIBGFORTRAN_NONSHARED
|
|
|
8028fd |
void set_fpu (void)
|
|
|
8028fd |
{
|
|
|
8028fd |
#ifndef FE_INVALID
|
|
|
8028fd |
@@ -165,6 +166,7 @@ void set_fpu (void)
|
|
|
8028fd |
|
|
|
8028fd |
set_fpu_trap_exceptions (options.fpe, 0);
|
|
|
8028fd |
}
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
|
|
|
8028fd |
|
|
|
8028fd |
int
|
|
|
8028fd |
--- libgfortran/config/fpu-387.h.jj 2015-04-12 21:50:26.000000000 +0200
|
|
|
8028fd |
+++ libgfortran/config/fpu-387.h 2015-07-02 15:33:26.692204641 +0200
|
|
|
8028fd |
@@ -206,11 +206,13 @@ set_fpu_trap_exceptions (int trap, int n
|
|
|
8028fd |
}
|
|
|
8028fd |
}
|
|
|
8028fd |
|
|
|
8028fd |
+#ifndef LIBGFORTRAN_NONSHARED
|
|
|
8028fd |
void
|
|
|
8028fd |
set_fpu (void)
|
|
|
8028fd |
{
|
|
|
8028fd |
set_fpu_trap_exceptions (options.fpe, 0);
|
|
|
8028fd |
}
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
|
|
|
8028fd |
int
|
|
|
8028fd |
get_fpu_trap_exceptions (void)
|
|
|
8028fd |
--- libgfortran/libgfortran.h.jj 2015-04-12 21:50:26.769921066 +0200
|
|
|
8028fd |
+++ libgfortran/libgfortran.h 2015-07-02 14:27:54.752340556 +0200
|
|
|
8028fd |
@@ -185,7 +185,7 @@ extern int __mingw_snprintf (char *, siz
|
|
|
8028fd |
# define internal_proto(x) sym_rename(x, IPREFIX(x))
|
|
|
8028fd |
#endif
|
|
|
8028fd |
|
|
|
8028fd |
-#if defined(HAVE_ATTRIBUTE_VISIBILITY) && defined(HAVE_ATTRIBUTE_ALIAS)
|
|
|
8028fd |
+#if defined(HAVE_ATTRIBUTE_VISIBILITY) && defined(HAVE_ATTRIBUTE_ALIAS) && !defined(LIBGFORTRAN_NONSHARED)
|
|
|
8028fd |
# define export_proto(x) sym_rename(x, PREFIX(x))
|
|
|
8028fd |
# define export_proto_np(x) extern char swallow_semicolon
|
|
|
8028fd |
# define iexport_proto(x) internal_proto(x)
|
|
|
8028fd |
@@ -264,6 +264,10 @@ typedef GFC_UINTEGER_4 gfc_char4_t;
|
|
|
8028fd |
extern int big_endian;
|
|
|
8028fd |
internal_proto(big_endian);
|
|
|
8028fd |
|
|
|
8028fd |
+#ifdef LIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+#define big_endian (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+
|
|
|
8028fd |
#define GFOR_POINTER_TO_L1(p, kind) \
|
|
|
8028fd |
(big_endian * (kind - 1) + (GFC_LOGICAL_1 *)(p))
|
|
|
8028fd |
|
|
|
8028fd |
@@ -1419,4 +1423,63 @@ void cshift0_c16 (gfc_array_c16 *, const
|
|
|
8028fd |
internal_proto(cshift0_c16);
|
|
|
8028fd |
#endif
|
|
|
8028fd |
|
|
|
8028fd |
+#ifdef LIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+#include <stdlib.h>
|
|
|
8028fd |
+#include <string.h>
|
|
|
8028fd |
+#include <errno.h>
|
|
|
8028fd |
+
|
|
|
8028fd |
+#define internal_malloc_size nonshared_internal_malloc_size
|
|
|
8028fd |
+#define xmalloc nonshared_internal_xmalloc
|
|
|
8028fd |
+#define xmallocarray nonshared_internal_xmallocarray
|
|
|
8028fd |
+#define reshape_packed nonshared_reshape_packed
|
|
|
8028fd |
+static inline __attribute__((__always_inline__, __unused__))
|
|
|
8028fd |
+void *
|
|
|
8028fd |
+internal_malloc_size (size_t size)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ void *p;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if (size == 0)
|
|
|
8028fd |
+ return NULL;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ p = (void *) malloc (size);
|
|
|
8028fd |
+ if (p == NULL)
|
|
|
8028fd |
+ os_error ("Memory allocation failed");
|
|
|
8028fd |
+ return p;
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+static inline __attribute__((__always_inline__, __unused__))
|
|
|
8028fd |
+void *
|
|
|
8028fd |
+xmalloc (size_t size)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ return internal_malloc_size (size ? size : 1);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+static inline __attribute__((__always_inline__, __unused__))
|
|
|
8028fd |
+void *
|
|
|
8028fd |
+xmallocarray (size_t nmemb, size_t size)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ if (!nmemb || !size)
|
|
|
8028fd |
+ size = nmemb = 1;
|
|
|
8028fd |
+ else if (__builtin_expect ((nmemb | size)
|
|
|
8028fd |
+ >= (((size_t) 1) << (__CHAR_BIT__
|
|
|
8028fd |
+ * sizeof (size_t) / 2)), 0)
|
|
|
8028fd |
+ && nmemb > __SIZE_MAX__ / size)
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ errno = ENOMEM;
|
|
|
8028fd |
+ os_error ("Integer overflow in xmallocarray");
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+
|
|
|
8028fd |
+ return internal_malloc_size (nmemb * size);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+static inline __attribute__((__always_inline__, __unused__))
|
|
|
8028fd |
+#include "intrinsics/reshape_packed.c"
|
|
|
8028fd |
+
|
|
|
8028fd |
+struct no_bounds_check { int bounds_check; };
|
|
|
8028fd |
+#define compile_options ((struct no_bounds_check) { .bounds_check = 0 })
|
|
|
8028fd |
+
|
|
|
8028fd |
+#define internal_error(x, y...) runtime_error (y)
|
|
|
8028fd |
+
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+
|
|
|
8028fd |
#endif /* LIBGFOR_H */
|
|
|
8028fd |
--- libgfortran/generated/nonshared-misc_specifics.F90.jj 2015-07-02 14:27:54.775340227 +0200
|
|
|
8028fd |
+++ libgfortran/generated/nonshared-misc_specifics.F90 2015-07-02 14:27:54.775340227 +0200
|
|
|
8028fd |
@@ -0,0 +1,53 @@
|
|
|
8028fd |
+! Copyright 2002-2014 Free Software Foundation, Inc.
|
|
|
8028fd |
+! Contributed by Paul Brook <paul@nowt.org>
|
|
|
8028fd |
+!
|
|
|
8028fd |
+!This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
|
|
8028fd |
+!
|
|
|
8028fd |
+!GNU libgfortran is free software; you can redistribute it and/or
|
|
|
8028fd |
+!modify it under the terms of the GNU General Public
|
|
|
8028fd |
+!License as published by the Free Software Foundation; either
|
|
|
8028fd |
+!version 3 of the License, or (at your option) any later version.
|
|
|
8028fd |
+!
|
|
|
8028fd |
+!GNU libgfortran is distributed in the hope that it will be useful,
|
|
|
8028fd |
+!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
8028fd |
+!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
8028fd |
+!GNU General Public License for more details.
|
|
|
8028fd |
+!
|
|
|
8028fd |
+!Under Section 7 of GPL version 3, you are granted additional
|
|
|
8028fd |
+!permissions described in the GCC Runtime Library Exception, version
|
|
|
8028fd |
+!3.1, as published by the Free Software Foundation.
|
|
|
8028fd |
+!
|
|
|
8028fd |
+!You should have received a copy of the GNU General Public License and
|
|
|
8028fd |
+!a copy of the GCC Runtime Library Exception along with this program;
|
|
|
8028fd |
+!see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
|
8028fd |
+!<http://www.gnu.org/licenses/>.
|
|
|
8028fd |
+
|
|
|
8028fd |
+#include "config.h"
|
|
|
8028fd |
+#include "kinds.inc"
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+#if defined (HAVE_GFC_REAL_16) && defined (HAVE_GFC_INTEGER_4)
|
|
|
8028fd |
+elemental function _gfortran_specific__nint_4_16 (parm)
|
|
|
8028fd |
+ real (kind=16) , intent (in) :: parm
|
|
|
8028fd |
+ integer (kind=4) :: _gfortran_specific__nint_4_16
|
|
|
8028fd |
+ _gfortran_specific__nint_4_16 = nint (parm)
|
|
|
8028fd |
+end function
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+
|
|
|
8028fd |
+#if defined (HAVE_GFC_REAL_16) && defined (HAVE_GFC_INTEGER_8)
|
|
|
8028fd |
+elemental function _gfortran_specific__nint_8_16 (parm)
|
|
|
8028fd |
+ real (kind=16) , intent (in) :: parm
|
|
|
8028fd |
+ integer (kind=8) :: _gfortran_specific__nint_8_16
|
|
|
8028fd |
+ _gfortran_specific__nint_8_16 = nint (parm)
|
|
|
8028fd |
+end function
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+
|
|
|
8028fd |
+#if defined (HAVE_GFC_REAL_16) && defined (HAVE_GFC_INTEGER_16)
|
|
|
8028fd |
+elemental function _gfortran_specific__nint_16_16 (parm)
|
|
|
8028fd |
+ real (kind=16) , intent (in) :: parm
|
|
|
8028fd |
+ integer (kind=16) :: _gfortran_specific__nint_16_16
|
|
|
8028fd |
+ _gfortran_specific__nint_16_16 = nint (parm)
|
|
|
8028fd |
+end function
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
--- libgfortran/runtime/nonshared-stop.c.jj 2015-07-02 14:27:54.753340541 +0200
|
|
|
8028fd |
+++ libgfortran/runtime/nonshared-stop.c 2015-07-02 14:27:54.753340541 +0200
|
|
|
8028fd |
@@ -0,0 +1,93 @@
|
|
|
8028fd |
+/* Implementation of the STOP statement.
|
|
|
8028fd |
+ Copyright 2002-2014 Free Software Foundation, Inc.
|
|
|
8028fd |
+ Contributed by Paul Brook <paul@nowt.org>
|
|
|
8028fd |
+
|
|
|
8028fd |
+This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is free software; you can redistribute it and/or
|
|
|
8028fd |
+modify it under the terms of the GNU General Public
|
|
|
8028fd |
+License as published by the Free Software Foundation; either
|
|
|
8028fd |
+version 3 of the License, or (at your option) any later version.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is distributed in the hope that it will be useful,
|
|
|
8028fd |
+but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
8028fd |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
8028fd |
+GNU General Public License for more details.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Under Section 7 of GPL version 3, you are granted additional
|
|
|
8028fd |
+permissions described in the GCC Runtime Library Exception, version
|
|
|
8028fd |
+3.1, as published by the Free Software Foundation.
|
|
|
8028fd |
+
|
|
|
8028fd |
+You should have received a copy of the GNU General Public License and
|
|
|
8028fd |
+a copy of the GCC Runtime Library Exception along with this program;
|
|
|
8028fd |
+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
|
8028fd |
+<http://www.gnu.org/licenses/>. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+#define LIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+#include "libgfortran.h"
|
|
|
8028fd |
+#include <unistd.h>
|
|
|
8028fd |
+#include <stdlib.h>
|
|
|
8028fd |
+
|
|
|
8028fd |
+/* A numeric STOP statement. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void stop_numeric (GFC_INTEGER_4)
|
|
|
8028fd |
+ __attribute__ ((noreturn));
|
|
|
8028fd |
+export_proto(stop_numeric);
|
|
|
8028fd |
+
|
|
|
8028fd |
+/* A Fortran 2008 numeric STOP statement. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void stop_numeric_f08 (GFC_INTEGER_4)
|
|
|
8028fd |
+ __attribute__ ((noreturn));
|
|
|
8028fd |
+export_proto(stop_numeric_f08);
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+stop_numeric_f08 (GFC_INTEGER_4 code)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ /* Unfortunately we can't do much here. */
|
|
|
8028fd |
+ if (code == -1)
|
|
|
8028fd |
+ code = -1 ^ 256;
|
|
|
8028fd |
+ stop_numeric (code);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+/* Per Fortran 2008, section 8.4: "Execution of a STOP statement initiates
|
|
|
8028fd |
+ normal termination of execution. Execution of an ERROR STOP statement
|
|
|
8028fd |
+ initiates error termination of execution." Thus, error_stop_string returns
|
|
|
8028fd |
+ a nonzero exit status code. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void error_stop_string (const char *, GFC_INTEGER_4)
|
|
|
8028fd |
+ __attribute__ ((noreturn));
|
|
|
8028fd |
+export_proto(error_stop_string);
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+error_stop_string (const char *string, GFC_INTEGER_4 len)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ (void) string;
|
|
|
8028fd |
+ (void) len;
|
|
|
8028fd |
+ stop_numeric (1);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+/* A numeric ERROR STOP statement. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void error_stop_numeric (GFC_INTEGER_4)
|
|
|
8028fd |
+ __attribute__ ((noreturn));
|
|
|
8028fd |
+export_proto(error_stop_numeric);
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+error_stop_numeric (GFC_INTEGER_4 code)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ stop_numeric (code);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+__attribute__((visibility ("hidden"))) void
|
|
|
8028fd |
+stop_string (const char *string, GFC_INTEGER_4 len)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ if (string)
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ (void) write (STDERR_FILENO, "STOP ", 5);
|
|
|
8028fd |
+ (void) write (STDERR_FILENO, string, len);
|
|
|
8028fd |
+ (void) write (STDERR_FILENO, "\n", 1);
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ exit (0);
|
|
|
8028fd |
+}
|
|
|
8028fd |
--- libgfortran/runtime/nonshared-fpu.c.jj 2015-07-02 15:30:00.833128724 +0200
|
|
|
8028fd |
+++ libgfortran/runtime/nonshared-fpu.c 2015-07-02 15:30:28.922729731 +0200
|
|
|
8028fd |
@@ -0,0 +1,29 @@
|
|
|
8028fd |
+/* Set FPU mask.
|
|
|
8028fd |
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
|
|
|
8028fd |
+ Contributed by Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
|
|
8028fd |
+
|
|
|
8028fd |
+This file is part of the GNU Fortran runtime library (libgfortran).
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is free software; you can redistribute it and/or
|
|
|
8028fd |
+modify it under the terms of the GNU General Public
|
|
|
8028fd |
+License as published by the Free Software Foundation; either
|
|
|
8028fd |
+version 3 of the License, or (at your option) any later version.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is distributed in the hope that it will be useful,
|
|
|
8028fd |
+but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
8028fd |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
8028fd |
+GNU General Public License for more details.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Under Section 7 of GPL version 3, you are granted additional
|
|
|
8028fd |
+permissions described in the GCC Runtime Library Exception, version
|
|
|
8028fd |
+3.1, as published by the Free Software Foundation.
|
|
|
8028fd |
+
|
|
|
8028fd |
+You should have received a copy of the GNU General Public License and
|
|
|
8028fd |
+a copy of the GCC Runtime Library Exception along with this program;
|
|
|
8028fd |
+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
|
8028fd |
+<http://www.gnu.org/licenses/>. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+#define LIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+#include "libgfortran.h"
|
|
|
8028fd |
+
|
|
|
8028fd |
+#include "fpu-target.h"
|
|
|
8028fd |
--- libgfortran/runtime/nonshared-backtrace.c.jj 2015-07-02 14:27:54.753340541 +0200
|
|
|
8028fd |
+++ libgfortran/runtime/nonshared-backtrace.c 2015-07-02 14:27:54.753340541 +0200
|
|
|
8028fd |
@@ -0,0 +1,326 @@
|
|
|
8028fd |
+/* Copyright (C) 2006-2014 Free Software Foundation, Inc.
|
|
|
8028fd |
+ Contributed by François-Xavier Coudert
|
|
|
8028fd |
+
|
|
|
8028fd |
+This file is part of the GNU Fortran runtime library (libgfortran).
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is free software; you can redistribute it and/or modify
|
|
|
8028fd |
+it under the terms of the GNU General Public License as published by
|
|
|
8028fd |
+the Free Software Foundation; either version 3, or (at your option)
|
|
|
8028fd |
+any later version.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is distributed in the hope that it will be useful,
|
|
|
8028fd |
+but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
8028fd |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
8028fd |
+GNU General Public License for more details.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Under Section 7 of GPL version 3, you are granted additional
|
|
|
8028fd |
+permissions described in the GCC Runtime Library Exception, version
|
|
|
8028fd |
+3.1, as published by the Free Software Foundation.
|
|
|
8028fd |
+
|
|
|
8028fd |
+You should have received a copy of the GNU General Public License and
|
|
|
8028fd |
+a copy of the GCC Runtime Library Exception along with this program;
|
|
|
8028fd |
+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
|
8028fd |
+<http://www.gnu.org/licenses/>. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+#include "libgfortran.h"
|
|
|
8028fd |
+
|
|
|
8028fd |
+#include <string.h>
|
|
|
8028fd |
+#include <stdlib.h>
|
|
|
8028fd |
+
|
|
|
8028fd |
+#ifdef HAVE_UNISTD_H
|
|
|
8028fd |
+#include <unistd.h>
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+
|
|
|
8028fd |
+#ifdef HAVE_SYS_WAIT_H
|
|
|
8028fd |
+#include <sys/wait.h>
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+
|
|
|
8028fd |
+#include <limits.h>
|
|
|
8028fd |
+
|
|
|
8028fd |
+#include "unwind.h"
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+/* Macros for common sets of capabilities: can we fork and exec, and
|
|
|
8028fd |
+ can we use pipes to communicate with the subprocess. */
|
|
|
8028fd |
+#define CAN_FORK (defined(HAVE_FORK) && defined(HAVE_EXECVE) \
|
|
|
8028fd |
+ && defined(HAVE_WAIT))
|
|
|
8028fd |
+#define CAN_PIPE (CAN_FORK && defined(HAVE_PIPE) \
|
|
|
8028fd |
+ && defined(HAVE_DUP2) && defined(HAVE_CLOSE))
|
|
|
8028fd |
+
|
|
|
8028fd |
+#ifndef PATH_MAX
|
|
|
8028fd |
+#define PATH_MAX 4096
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+
|
|
|
8028fd |
+#define estr_write(str) write (STDERR_FILENO, str, strlen (str))
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+/* GDB style #NUM index for each stack frame. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+static void
|
|
|
8028fd |
+bt_header (int num)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ char buf[32];
|
|
|
8028fd |
+ snprintf (buf, sizeof buf, "#%d ", num);
|
|
|
8028fd |
+ estr_write (buf);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+/* fgets()-like function that reads a line from a fd, without
|
|
|
8028fd |
+ needing to malloc() a buffer, and does not use locks, hence should
|
|
|
8028fd |
+ be async-signal-safe. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+static char *
|
|
|
8028fd |
+fd_gets (char *s, int size, int fd)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ for (int i = 0; i < size; i++)
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ char c;
|
|
|
8028fd |
+ ssize_t nread = read (fd, &c, 1);
|
|
|
8028fd |
+ if (nread == 1)
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ s[i] = c;
|
|
|
8028fd |
+ if (c == '\n')
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ if (i + 1 < size)
|
|
|
8028fd |
+ s[i+1] = '\0';
|
|
|
8028fd |
+ else
|
|
|
8028fd |
+ s[i] = '\0';
|
|
|
8028fd |
+ break;
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ else
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ s[i] = '\0';
|
|
|
8028fd |
+ if (i == 0)
|
|
|
8028fd |
+ return NULL;
|
|
|
8028fd |
+ break;
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ return s;
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+/* Struct containing backtrace state. */
|
|
|
8028fd |
+typedef struct
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ int frame_number;
|
|
|
8028fd |
+ int direct_output;
|
|
|
8028fd |
+ int outfd;
|
|
|
8028fd |
+ int infd;
|
|
|
8028fd |
+ int error;
|
|
|
8028fd |
+}
|
|
|
8028fd |
+bt_state;
|
|
|
8028fd |
+
|
|
|
8028fd |
+static inline const char *
|
|
|
8028fd |
+nonshared_gfc_xtoa (GFC_UINTEGER_LARGEST n, char *buffer,
|
|
|
8028fd |
+ size_t len __attribute__((unused)))
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ int digit;
|
|
|
8028fd |
+ char *p;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if (n == 0)
|
|
|
8028fd |
+ return "0";
|
|
|
8028fd |
+
|
|
|
8028fd |
+ p = buffer + GFC_XTOA_BUF_SIZE - 1;
|
|
|
8028fd |
+ *p = '\0';
|
|
|
8028fd |
+
|
|
|
8028fd |
+ while (n != 0)
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ digit = n & 0xF;
|
|
|
8028fd |
+ if (digit > 9)
|
|
|
8028fd |
+ digit += 'A' - '0' - 10;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ *--p = '0' + digit;
|
|
|
8028fd |
+ n >>= 4;
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+
|
|
|
8028fd |
+ return p;
|
|
|
8028fd |
+}
|
|
|
8028fd |
+#define gfc_xtoa nonshared_gfc_xtoa
|
|
|
8028fd |
+
|
|
|
8028fd |
+static _Unwind_Reason_Code
|
|
|
8028fd |
+trace_function (struct _Unwind_Context *context, void *state_ptr)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ bt_state* state = (bt_state*) state_ptr;
|
|
|
8028fd |
+ _Unwind_Ptr ip;
|
|
|
8028fd |
+#ifdef HAVE_GETIPINFO
|
|
|
8028fd |
+ int ip_before_insn = 0;
|
|
|
8028fd |
+ ip = _Unwind_GetIPInfo (context, &ip_before_insn);
|
|
|
8028fd |
+
|
|
|
8028fd |
+ /* If the unwinder gave us a 'return' address, roll it back a little
|
|
|
8028fd |
+ to ensure we get the correct line number for the call itself. */
|
|
|
8028fd |
+ if (! ip_before_insn)
|
|
|
8028fd |
+ --ip;
|
|
|
8028fd |
+#else
|
|
|
8028fd |
+ ip = _Unwind_GetIP (context);
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if (state->direct_output)
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ char buf[32];
|
|
|
8028fd |
+ bt_header(state->frame_number);
|
|
|
8028fd |
+ snprintf (buf, sizeof buf, "%p\n", (void*) ip);
|
|
|
8028fd |
+ estr_write (buf);
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ else
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ char addr_buf[GFC_XTOA_BUF_SIZE], func[1024], file[PATH_MAX];
|
|
|
8028fd |
+ char *p;
|
|
|
8028fd |
+ const char* addr = gfc_xtoa (ip, addr_buf, sizeof (addr_buf));
|
|
|
8028fd |
+ write (state->outfd, addr, strlen (addr));
|
|
|
8028fd |
+ write (state->outfd, "\n", 1);
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if (! fd_gets (func, sizeof(func), state->infd))
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ state->error = 1;
|
|
|
8028fd |
+ goto done;
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ if (! fd_gets (file, sizeof(file), state->infd))
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ state->error = 1;
|
|
|
8028fd |
+ goto done;
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+
|
|
|
8028fd |
+ for (p = func; *p != '\n' && *p != '\r'; p++)
|
|
|
8028fd |
+ ;
|
|
|
8028fd |
+ *p = '\0';
|
|
|
8028fd |
+
|
|
|
8028fd |
+ /* _start is a setup routine that calls main(), and main() is
|
|
|
8028fd |
+ the frontend routine that calls some setup stuff and then
|
|
|
8028fd |
+ calls MAIN__, so at this point we should stop. */
|
|
|
8028fd |
+ if (strcmp (func, "_start") == 0 || strcmp (func, "main") == 0)
|
|
|
8028fd |
+ return _URC_END_OF_STACK;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ bt_header (state->frame_number);
|
|
|
8028fd |
+ estr_write ("0x");
|
|
|
8028fd |
+ estr_write (addr);
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if (func[0] != '?' && func[1] != '?')
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ estr_write (" in ");
|
|
|
8028fd |
+ estr_write (func);
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if (strncmp (file, "??", 2) == 0)
|
|
|
8028fd |
+ estr_write ("\n");
|
|
|
8028fd |
+ else
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ estr_write (" at ");
|
|
|
8028fd |
+ estr_write (file);
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+
|
|
|
8028fd |
+ done:
|
|
|
8028fd |
+
|
|
|
8028fd |
+ state->frame_number++;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ return _URC_NO_REASON;
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+/* Display the backtrace. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+backtrace (void)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ bt_state state;
|
|
|
8028fd |
+ state.frame_number = 0;
|
|
|
8028fd |
+ state.error = 0;
|
|
|
8028fd |
+
|
|
|
8028fd |
+#if CAN_PIPE
|
|
|
8028fd |
+
|
|
|
8028fd |
+#ifndef PATH_MAX
|
|
|
8028fd |
+#define PATH_MAX 1024
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+
|
|
|
8028fd |
+#ifndef DIR_SEPARATOR
|
|
|
8028fd |
+#define DIR_SEPARATOR '/'
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+
|
|
|
8028fd |
+ char exe_path[PATH_MAX];
|
|
|
8028fd |
+
|
|
|
8028fd |
+ /* Reading the /proc/self/exe symlink is Linux-specific(?), but if
|
|
|
8028fd |
+ it works it gives the correct answer. */
|
|
|
8028fd |
+#ifdef HAVE_READLINK
|
|
|
8028fd |
+ int len;
|
|
|
8028fd |
+ if ((len = readlink ("/proc/self/exe", exe_path, sizeof (exe_path) - 1)) != -1)
|
|
|
8028fd |
+ exe_path[len] = '\0';
|
|
|
8028fd |
+ else
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+ goto fallback_noerr;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ /* We attempt to extract file and line information from addr2line. */
|
|
|
8028fd |
+ do
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ /* Local variables. */
|
|
|
8028fd |
+ int f[2], pid, inp[2];
|
|
|
8028fd |
+
|
|
|
8028fd |
+ /* Don't output an error message if something goes wrong, we'll simply
|
|
|
8028fd |
+ fall back to printing the addresses. */
|
|
|
8028fd |
+ if (pipe (f) != 0)
|
|
|
8028fd |
+ break;
|
|
|
8028fd |
+ if (pipe (inp) != 0)
|
|
|
8028fd |
+ break;
|
|
|
8028fd |
+ if ((pid = fork ()) == -1)
|
|
|
8028fd |
+ break;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if (pid == 0)
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ /* Child process. */
|
|
|
8028fd |
+#define NUM_FIXEDARGS 7
|
|
|
8028fd |
+ char *arg[NUM_FIXEDARGS];
|
|
|
8028fd |
+
|
|
|
8028fd |
+ close (f[0]);
|
|
|
8028fd |
+
|
|
|
8028fd |
+ close (inp[1]);
|
|
|
8028fd |
+ if (dup2 (inp[0], STDIN_FILENO) == -1)
|
|
|
8028fd |
+ _exit (1);
|
|
|
8028fd |
+ close (inp[0]);
|
|
|
8028fd |
+
|
|
|
8028fd |
+ close (STDERR_FILENO);
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if (dup2 (f[1], STDOUT_FILENO) == -1)
|
|
|
8028fd |
+ _exit (1);
|
|
|
8028fd |
+ close (f[1]);
|
|
|
8028fd |
+
|
|
|
8028fd |
+ arg[0] = (char *) "addr2line";
|
|
|
8028fd |
+ arg[1] = (char *) "-e";
|
|
|
8028fd |
+ arg[2] = exe_path;
|
|
|
8028fd |
+ arg[3] = (char *) "-f";
|
|
|
8028fd |
+ arg[4] = (char *) "-s";
|
|
|
8028fd |
+ arg[5] = (char *) "-C";
|
|
|
8028fd |
+ arg[6] = NULL;
|
|
|
8028fd |
+ execvp ("addr2line", arg);
|
|
|
8028fd |
+ _exit (1);
|
|
|
8028fd |
+#undef NUM_FIXEDARGS
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+
|
|
|
8028fd |
+ /* Father process. */
|
|
|
8028fd |
+ close (f[1]);
|
|
|
8028fd |
+ close (inp[0]);
|
|
|
8028fd |
+
|
|
|
8028fd |
+ state.outfd = inp[1];
|
|
|
8028fd |
+ state.infd = f[0];
|
|
|
8028fd |
+ state.direct_output = 0;
|
|
|
8028fd |
+ _Unwind_Backtrace (trace_function, &state);
|
|
|
8028fd |
+ if (state.error)
|
|
|
8028fd |
+ goto fallback;
|
|
|
8028fd |
+ close (inp[1]);
|
|
|
8028fd |
+ close (f[0]);
|
|
|
8028fd |
+ wait (NULL);
|
|
|
8028fd |
+ return;
|
|
|
8028fd |
+
|
|
|
8028fd |
+fallback:
|
|
|
8028fd |
+ estr_write ("** Something went wrong while running addr2line. **\n"
|
|
|
8028fd |
+ "** Falling back to a simpler backtrace scheme. **\n");
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ while (0);
|
|
|
8028fd |
+
|
|
|
8028fd |
+fallback_noerr:
|
|
|
8028fd |
+#endif /* CAN_PIPE */
|
|
|
8028fd |
+
|
|
|
8028fd |
+ /* Fallback to the simple backtrace without addr2line. */
|
|
|
8028fd |
+ state.direct_output = 1;
|
|
|
8028fd |
+ _Unwind_Backtrace (trace_function, &state);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+iexport(backtrace);
|
|
|
8028fd |
--- libgfortran/intrinsics/nonshared-random.c.jj 2015-07-02 14:27:54.776340212 +0200
|
|
|
8028fd |
+++ libgfortran/intrinsics/nonshared-random.c 2015-07-02 14:27:54.776340212 +0200
|
|
|
8028fd |
@@ -0,0 +1,142 @@
|
|
|
8028fd |
+/* Implementation of the RANDOM intrinsics
|
|
|
8028fd |
+ Copyright 2002-2014 Free Software Foundation, Inc.
|
|
|
8028fd |
+ Contributed by Lars Segerlund <seger@linuxmail.org>
|
|
|
8028fd |
+ and Steve Kargl.
|
|
|
8028fd |
+
|
|
|
8028fd |
+This file is part of the GNU Fortran runtime library (libgfortran).
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is free software; you can redistribute it and/or
|
|
|
8028fd |
+modify it under the terms of the GNU General Public
|
|
|
8028fd |
+License as published by the Free Software Foundation; either
|
|
|
8028fd |
+version 3 of the License, or (at your option) any later version.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Ligbfortran is distributed in the hope that it will be useful,
|
|
|
8028fd |
+but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
8028fd |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
8028fd |
+GNU General Public License for more details.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Under Section 7 of GPL version 3, you are granted additional
|
|
|
8028fd |
+permissions described in the GCC Runtime Library Exception, version
|
|
|
8028fd |
+3.1, as published by the Free Software Foundation.
|
|
|
8028fd |
+
|
|
|
8028fd |
+You should have received a copy of the GNU General Public License and
|
|
|
8028fd |
+a copy of the GCC Runtime Library Exception along with this program;
|
|
|
8028fd |
+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
|
8028fd |
+<http://www.gnu.org/licenses/>. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+#define LIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+#include "libgfortran.h"
|
|
|
8028fd |
+#include <gthr.h>
|
|
|
8028fd |
+#include <string.h>
|
|
|
8028fd |
+
|
|
|
8028fd |
+#if defined HAVE_GFC_REAL_10 && defined HAVE_GFC_REAL_16 \
|
|
|
8028fd |
+ && GFC_REAL_10_RADIX == 2 && GFC_REAL_10_DIGITS == 64
|
|
|
8028fd |
+extern void random_r10 (GFC_REAL_10 *);
|
|
|
8028fd |
+iexport_proto(random_r10);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void random_r16 (GFC_REAL_16 *);
|
|
|
8028fd |
+iexport_proto(random_r16);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void arandom_r16 (gfc_array_r16 *);
|
|
|
8028fd |
+export_proto(arandom_r16);
|
|
|
8028fd |
+
|
|
|
8028fd |
+/* For REAL(KIND=16), we only need to mask off the lower bits. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+static inline void
|
|
|
8028fd |
+rnumber_16 (GFC_REAL_16 *f, GFC_UINTEGER_8 v1, GFC_UINTEGER_8 v2)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ GFC_UINTEGER_8 mask;
|
|
|
8028fd |
+#if GFC_REAL_16_RADIX == 2
|
|
|
8028fd |
+ mask = ~ (GFC_UINTEGER_8) 0u << (128 - GFC_REAL_16_DIGITS);
|
|
|
8028fd |
+#elif GFC_REAL_16_RADIX == 16
|
|
|
8028fd |
+ mask = ~ (GFC_UINTEGER_8) 0u << ((32 - GFC_REAL_16_DIGITS) * 4);
|
|
|
8028fd |
+#else
|
|
|
8028fd |
+#error "GFC_REAL_16_RADIX has unknown value"
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+ v2 = v2 & mask;
|
|
|
8028fd |
+ *f = (GFC_REAL_16) v1 * GFC_REAL_16_LITERAL(0x1.p-64)
|
|
|
8028fd |
+ + (GFC_REAL_16) v2 * GFC_REAL_16_LITERAL(0x1.p-128);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+/* This function produces a REAL(16) value from the uniform distribution
|
|
|
8028fd |
+ with range [0,1). */
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+random_r16 (GFC_REAL_16 *x)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ GFC_UINTEGER_8 kiss1, kiss2;
|
|
|
8028fd |
+ GFC_REAL_10 num1, num2;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ random_r10 (&num1;;
|
|
|
8028fd |
+ random_r10 (&num2;;
|
|
|
8028fd |
+ num1 *= GFC_REAL_10_LITERAL(0x1.p64);
|
|
|
8028fd |
+ num2 *= GFC_REAL_10_LITERAL(0x1.p64);
|
|
|
8028fd |
+ kiss1 = num1;
|
|
|
8028fd |
+ kiss2 = num2;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ rnumber_16 (x, kiss1, kiss2);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+iexport(random_r16);
|
|
|
8028fd |
+
|
|
|
8028fd |
+/* This function fills a REAL(16) array with values from the uniform
|
|
|
8028fd |
+ distribution with range [0,1). */
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+arandom_r16 (gfc_array_r16 *x)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ index_type count[GFC_MAX_DIMENSIONS];
|
|
|
8028fd |
+ index_type extent[GFC_MAX_DIMENSIONS];
|
|
|
8028fd |
+ index_type stride[GFC_MAX_DIMENSIONS];
|
|
|
8028fd |
+ index_type stride0;
|
|
|
8028fd |
+ index_type dim;
|
|
|
8028fd |
+ GFC_REAL_16 *dest;
|
|
|
8028fd |
+ int n;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ dest = x->base_addr;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ dim = GFC_DESCRIPTOR_RANK (x);
|
|
|
8028fd |
+
|
|
|
8028fd |
+ for (n = 0; n < dim; n++)
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ count[n] = 0;
|
|
|
8028fd |
+ stride[n] = GFC_DESCRIPTOR_STRIDE(x,n);
|
|
|
8028fd |
+ extent[n] = GFC_DESCRIPTOR_EXTENT(x,n);
|
|
|
8028fd |
+ if (extent[n] <= 0)
|
|
|
8028fd |
+ return;
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+
|
|
|
8028fd |
+ stride0 = stride[0];
|
|
|
8028fd |
+
|
|
|
8028fd |
+ while (dest)
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ random_r16 (dest);
|
|
|
8028fd |
+
|
|
|
8028fd |
+ /* Advance to the next element. */
|
|
|
8028fd |
+ dest += stride0;
|
|
|
8028fd |
+ count[0]++;
|
|
|
8028fd |
+ /* Advance to the next source element. */
|
|
|
8028fd |
+ n = 0;
|
|
|
8028fd |
+ while (count[n] == extent[n])
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ /* When we get to the end of a dimension, reset it and increment
|
|
|
8028fd |
+ the next dimension. */
|
|
|
8028fd |
+ count[n] = 0;
|
|
|
8028fd |
+ /* We could precalculate these products, but this is a less
|
|
|
8028fd |
+ frequently used path so probably not worth it. */
|
|
|
8028fd |
+ dest -= stride[n] * extent[n];
|
|
|
8028fd |
+ n++;
|
|
|
8028fd |
+ if (n == dim)
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ dest = NULL;
|
|
|
8028fd |
+ break;
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ else
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ count[n]++;
|
|
|
8028fd |
+ dest += stride[n];
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
--- libgfortran/intrinsics/nonshared-selected_real_kind.F90.jj 2015-07-02 14:27:54.776340212 +0200
|
|
|
8028fd |
+++ libgfortran/intrinsics/nonshared-selected_real_kind.F90 2015-07-02 14:27:54.776340212 +0200
|
|
|
8028fd |
@@ -0,0 +1,79 @@
|
|
|
8028fd |
+! Copyright 2003-2014 Free Software Foundation, Inc.
|
|
|
8028fd |
+! Contributed by Kejia Zhao <kejia_zh@yahoo.com.cn>
|
|
|
8028fd |
+!
|
|
|
8028fd |
+!This file is part of the GNU Fortran runtime library (libgfortran).
|
|
|
8028fd |
+!
|
|
|
8028fd |
+!Libgfortran is free software; you can redistribute it and/or
|
|
|
8028fd |
+!modify it under the terms of the GNU General Public
|
|
|
8028fd |
+!License as published by the Free Software Foundation; either
|
|
|
8028fd |
+!version 3 of the License, or (at your option) any later version.
|
|
|
8028fd |
+!
|
|
|
8028fd |
+!Libgfortran is distributed in the hope that it will be useful,
|
|
|
8028fd |
+!but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
8028fd |
+!MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
8028fd |
+!GNU General Public License for more details.
|
|
|
8028fd |
+!
|
|
|
8028fd |
+!Under Section 7 of GPL version 3, you are granted additional
|
|
|
8028fd |
+!permissions described in the GCC Runtime Library Exception, version
|
|
|
8028fd |
+!3.1, as published by the Free Software Foundation.
|
|
|
8028fd |
+!
|
|
|
8028fd |
+!You should have received a copy of the GNU General Public License and
|
|
|
8028fd |
+!a copy of the GCC Runtime Library Exception along with this program;
|
|
|
8028fd |
+!see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
|
8028fd |
+!<http://www.gnu.org/licenses/>.
|
|
|
8028fd |
+
|
|
|
8028fd |
+function _gfortran_selected_real_kind2008 (p, r, rdx)
|
|
|
8028fd |
+ implicit none
|
|
|
8028fd |
+ integer, optional, intent (in) :: p, r, rdx
|
|
|
8028fd |
+ integer :: _gfortran_selected_real_kind2008
|
|
|
8028fd |
+ integer :: i, p2, r2, radix2
|
|
|
8028fd |
+ logical :: found_p, found_r, found_radix
|
|
|
8028fd |
+ ! Real kind_precision_range table
|
|
|
8028fd |
+ type :: real_info
|
|
|
8028fd |
+ integer :: kind
|
|
|
8028fd |
+ integer :: precision
|
|
|
8028fd |
+ integer :: range
|
|
|
8028fd |
+ integer :: radix
|
|
|
8028fd |
+ end type real_info
|
|
|
8028fd |
+
|
|
|
8028fd |
+ include "selected_real_kind.inc"
|
|
|
8028fd |
+
|
|
|
8028fd |
+ _gfortran_selected_real_kind2008 = 0
|
|
|
8028fd |
+ p2 = 0
|
|
|
8028fd |
+ r2 = 0
|
|
|
8028fd |
+ radix2 = 0
|
|
|
8028fd |
+ found_p = .false.
|
|
|
8028fd |
+ found_r = .false.
|
|
|
8028fd |
+ found_radix = .false.
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if (present (p)) p2 = p
|
|
|
8028fd |
+ if (present (r)) r2 = r
|
|
|
8028fd |
+ if (present (rdx)) radix2 = rdx
|
|
|
8028fd |
+
|
|
|
8028fd |
+ ! Assumes each type has a greater precision and range than previous one.
|
|
|
8028fd |
+
|
|
|
8028fd |
+ do i = 1, c
|
|
|
8028fd |
+ if (p2 <= real_infos (i) % precision) found_p = .true.
|
|
|
8028fd |
+ if (r2 <= real_infos (i) % range) found_r = .true.
|
|
|
8028fd |
+ if (radix2 <= real_infos (i) % radix) found_radix = .true.
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if (p2 <= real_infos (i) % precision &
|
|
|
8028fd |
+ .and. r2 <= real_infos (i) % range &
|
|
|
8028fd |
+ .and. radix2 <= real_infos (i) % radix) then
|
|
|
8028fd |
+ _gfortran_selected_real_kind2008 = real_infos (i) % kind
|
|
|
8028fd |
+ return
|
|
|
8028fd |
+ end if
|
|
|
8028fd |
+ end do
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if (found_radix .and. found_r .and. .not. found_p) then
|
|
|
8028fd |
+ _gfortran_selected_real_kind2008 = -1
|
|
|
8028fd |
+ elseif (found_radix .and. found_p .and. .not. found_r) then
|
|
|
8028fd |
+ _gfortran_selected_real_kind2008 = -2
|
|
|
8028fd |
+ elseif (found_radix .and. .not. found_p .and. .not. found_r) then
|
|
|
8028fd |
+ _gfortran_selected_real_kind2008 = -3
|
|
|
8028fd |
+ elseif (found_radix) then
|
|
|
8028fd |
+ _gfortran_selected_real_kind2008 = -4
|
|
|
8028fd |
+ else
|
|
|
8028fd |
+ _gfortran_selected_real_kind2008 = -5
|
|
|
8028fd |
+ end if
|
|
|
8028fd |
+end function _gfortran_selected_real_kind2008
|
|
|
8028fd |
--- libgfortran/intrinsics/nonshared-cpu_time.c.jj 2015-07-02 14:27:54.777340198 +0200
|
|
|
8028fd |
+++ libgfortran/intrinsics/nonshared-cpu_time.c 2015-07-02 14:27:54.777340198 +0200
|
|
|
8028fd |
@@ -0,0 +1,43 @@
|
|
|
8028fd |
+/* Implementation of the CPU_TIME intrinsic.
|
|
|
8028fd |
+ Copyright (C) 2003-2014 Free Software Foundation, Inc.
|
|
|
8028fd |
+
|
|
|
8028fd |
+This file is part of the GNU Fortran runtime library (libgfortran).
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is free software; you can redistribute it and/or
|
|
|
8028fd |
+modify it under the terms of the GNU General Public
|
|
|
8028fd |
+License as published by the Free Software Foundation; either
|
|
|
8028fd |
+version 3 of the License, or (at your option) any later version.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is distributed in the hope that it will be useful,
|
|
|
8028fd |
+but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
8028fd |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
8028fd |
+GNU General Public License for more details.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Under Section 7 of GPL version 3, you are granted additional
|
|
|
8028fd |
+permissions described in the GCC Runtime Library Exception, version
|
|
|
8028fd |
+3.1, as published by the Free Software Foundation.
|
|
|
8028fd |
+
|
|
|
8028fd |
+You should have received a copy of the GNU General Public License and
|
|
|
8028fd |
+a copy of the GCC Runtime Library Exception along with this program;
|
|
|
8028fd |
+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
|
8028fd |
+<http://www.gnu.org/licenses/>. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+#define LIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+#include "libgfortran.h"
|
|
|
8028fd |
+#include "time_1.h"
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+#if defined HAVE_GFC_REAL_10 && defined HAVE_GFC_REAL_16
|
|
|
8028fd |
+extern void cpu_time_10 (GFC_REAL_10 *);
|
|
|
8028fd |
+export_proto(cpu_time_10);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void cpu_time_16 (GFC_REAL_16 *);
|
|
|
8028fd |
+export_proto(cpu_time_16);
|
|
|
8028fd |
+
|
|
|
8028fd |
+void cpu_time_16 (GFC_REAL_16 *time)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ GFC_REAL_10 t;
|
|
|
8028fd |
+ cpu_time_10 (&t);
|
|
|
8028fd |
+ *time = t;
|
|
|
8028fd |
+}
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
--- libgfortran/intrinsics/nonshared-erfc_scaled.c.jj 2015-07-02 14:27:54.777340198 +0200
|
|
|
8028fd |
+++ libgfortran/intrinsics/nonshared-erfc_scaled.c 2015-07-02 14:27:54.777340198 +0200
|
|
|
8028fd |
@@ -0,0 +1,109 @@
|
|
|
8028fd |
+/* Implementation of the ERFC_SCALED intrinsic.
|
|
|
8028fd |
+ Copyright (C) 2008-2014 Free Software Foundation, Inc.
|
|
|
8028fd |
+
|
|
|
8028fd |
+This file is part of the GNU Fortran runtime library (libgfortran).
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is free software; you can redistribute it and/or
|
|
|
8028fd |
+modify it under the terms of the GNU General Public
|
|
|
8028fd |
+License as published by the Free Software Foundation; either
|
|
|
8028fd |
+version 3 of the License, or (at your option) any later version.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is distributed in the hope that it will be useful,
|
|
|
8028fd |
+but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
8028fd |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
8028fd |
+GNU General Public License for more details.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Under Section 7 of GPL version 3, you are granted additional
|
|
|
8028fd |
+permissions described in the GCC Runtime Library Exception, version
|
|
|
8028fd |
+3.1, as published by the Free Software Foundation.
|
|
|
8028fd |
+
|
|
|
8028fd |
+You should have received a copy of the GNU General Public License and
|
|
|
8028fd |
+a copy of the GCC Runtime Library Exception along with this program;
|
|
|
8028fd |
+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
|
8028fd |
+<http://www.gnu.org/licenses/>. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+#define LIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+#include "libgfortran.h"
|
|
|
8028fd |
+
|
|
|
8028fd |
+/* This implementation of ERFC_SCALED is based on the netlib algorithm
|
|
|
8028fd |
+ available at http://www.netlib.org/specfun/erf */
|
|
|
8028fd |
+
|
|
|
8028fd |
+#ifdef HAVE_GFC_REAL_16
|
|
|
8028fd |
+
|
|
|
8028fd |
+/* For quadruple-precision, netlib's implementation is
|
|
|
8028fd |
+ not accurate enough. We provide another one. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+#ifdef GFC_REAL_16_IS_FLOAT128
|
|
|
8028fd |
+
|
|
|
8028fd |
+# define _THRESH -106.566990228185312813205074546585730Q
|
|
|
8028fd |
+# define _M_2_SQRTPI M_2_SQRTPIq
|
|
|
8028fd |
+# define _INF __builtin_infq()
|
|
|
8028fd |
+# define _ERFC(x) erfcq(x)
|
|
|
8028fd |
+# define _EXP(x) expq(x)
|
|
|
8028fd |
+
|
|
|
8028fd |
+#else
|
|
|
8028fd |
+
|
|
|
8028fd |
+# define _THRESH -106.566990228185312813205074546585730L
|
|
|
8028fd |
+# ifndef M_2_SQRTPIl
|
|
|
8028fd |
+# define M_2_SQRTPIl 1.128379167095512573896158903121545172L
|
|
|
8028fd |
+# endif
|
|
|
8028fd |
+# define _M_2_SQRTPI M_2_SQRTPIl
|
|
|
8028fd |
+# define _INF __builtin_infl()
|
|
|
8028fd |
+# ifdef HAVE_ERFCL
|
|
|
8028fd |
+# define _ERFC(x) erfcl(x)
|
|
|
8028fd |
+# endif
|
|
|
8028fd |
+# ifdef HAVE_EXPL
|
|
|
8028fd |
+# define _EXP(x) expl(x)
|
|
|
8028fd |
+# endif
|
|
|
8028fd |
+
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+
|
|
|
8028fd |
+#if defined(_ERFC) && defined(_EXP)
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern GFC_REAL_16 erfc_scaled_r16 (GFC_REAL_16);
|
|
|
8028fd |
+export_proto(erfc_scaled_r16);
|
|
|
8028fd |
+
|
|
|
8028fd |
+GFC_REAL_16
|
|
|
8028fd |
+erfc_scaled_r16 (GFC_REAL_16 x)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ if (x < _THRESH)
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ return _INF;
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ if (x < 12)
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ /* Compute directly as ERFC_SCALED(x) = ERFC(x) * EXP(X**2).
|
|
|
8028fd |
+ This is not perfect, but much better than netlib. */
|
|
|
8028fd |
+ return _ERFC(x) * _EXP(x * x);
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ else
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ /* Calculate ERFC_SCALED(x) using a power series in 1/x:
|
|
|
8028fd |
+ ERFC_SCALED(x) = 1 / (x * sqrt(pi))
|
|
|
8028fd |
+ * (1 + Sum_n (-1)**n * (1 * 3 * 5 * ... * (2n-1))
|
|
|
8028fd |
+ / (2 * x**2)**n)
|
|
|
8028fd |
+ */
|
|
|
8028fd |
+ GFC_REAL_16 sum = 0, oldsum;
|
|
|
8028fd |
+ GFC_REAL_16 inv2x2 = 1 / (2 * x * x);
|
|
|
8028fd |
+ GFC_REAL_16 fac = 1;
|
|
|
8028fd |
+ int n = 1;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ while (n < 200)
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ fac *= - (2*n - 1) * inv2x2;
|
|
|
8028fd |
+ oldsum = sum;
|
|
|
8028fd |
+ sum += fac;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if (sum == oldsum)
|
|
|
8028fd |
+ break;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ n++;
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+
|
|
|
8028fd |
+ return (1 + sum) / x * (_M_2_SQRTPI / 2);
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
--- libgfortran/intrinsics/nonshared-shift.c.jj 2015-07-02 14:27:54.777340198 +0200
|
|
|
8028fd |
+++ libgfortran/intrinsics/nonshared-shift.c 2015-07-02 14:27:54.776340212 +0200
|
|
|
8028fd |
@@ -0,0 +1,118 @@
|
|
|
8028fd |
+/* Generic implementation of the CSHIFT intrinsic
|
|
|
8028fd |
+ Copyright 2003-2014 Free Software Foundation, Inc.
|
|
|
8028fd |
+ Contributed by Feng Wang <wf_cs@yahoo.com>
|
|
|
8028fd |
+
|
|
|
8028fd |
+This file is part of the GNU Fortran runtime library (libgfortran).
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is free software; you can redistribute it and/or
|
|
|
8028fd |
+modify it under the terms of the GNU General Public
|
|
|
8028fd |
+License as published by the Free Software Foundation; either
|
|
|
8028fd |
+version 3 of the License, or (at your option) any later version.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is distributed in the hope that it will be useful,
|
|
|
8028fd |
+but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
8028fd |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
8028fd |
+GNU General Public License for more details.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Under Section 7 of GPL version 3, you are granted additional
|
|
|
8028fd |
+permissions described in the GCC Runtime Library Exception, version
|
|
|
8028fd |
+3.1, as published by the Free Software Foundation.
|
|
|
8028fd |
+
|
|
|
8028fd |
+You should have received a copy of the GNU General Public License and
|
|
|
8028fd |
+a copy of the GCC Runtime Library Exception along with this program;
|
|
|
8028fd |
+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
|
8028fd |
+<http://www.gnu.org/licenses/>. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+#define LIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+#include "libgfortran.h"
|
|
|
8028fd |
+
|
|
|
8028fd |
+#ifdef HAVE_GFC_INTEGER_16
|
|
|
8028fd |
+extern void cshift0_8_char4 (gfc_array_char *, GFC_INTEGER_4,
|
|
|
8028fd |
+ const gfc_array_char *,
|
|
|
8028fd |
+ const GFC_INTEGER_8 *,
|
|
|
8028fd |
+ const GFC_INTEGER_8 *, GFC_INTEGER_4);
|
|
|
8028fd |
+export_proto(cshift0_8_char4);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void cshift0_16_char4 (gfc_array_char *, GFC_INTEGER_4,
|
|
|
8028fd |
+ const gfc_array_char *,
|
|
|
8028fd |
+ const GFC_INTEGER_16 *,
|
|
|
8028fd |
+ const GFC_INTEGER_16 *, GFC_INTEGER_4);
|
|
|
8028fd |
+export_proto(cshift0_16_char4);
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+cshift0_16_char4 (gfc_array_char *ret,
|
|
|
8028fd |
+ GFC_INTEGER_4 ret_length,
|
|
|
8028fd |
+ const gfc_array_char *array,
|
|
|
8028fd |
+ const GFC_INTEGER_16 *pshift,
|
|
|
8028fd |
+ const GFC_INTEGER_16 *pdim,
|
|
|
8028fd |
+ GFC_INTEGER_4 array_length)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ GFC_INTEGER_8 shift = *pshift;
|
|
|
8028fd |
+ GFC_INTEGER_8 dim = pdim ? *pdim : 1;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ cshift0_8_char4 (ret, ret_length, array, &shift, pdim ? &dim : NULL,
|
|
|
8028fd |
+ array_length);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void eoshift0_8_char4 (gfc_array_char *, GFC_INTEGER_4,
|
|
|
8028fd |
+ const gfc_array_char *,
|
|
|
8028fd |
+ const GFC_INTEGER_8 *,
|
|
|
8028fd |
+ const char *, const GFC_INTEGER_8 *,
|
|
|
8028fd |
+ GFC_INTEGER_4, GFC_INTEGER_4);
|
|
|
8028fd |
+export_proto(eoshift0_8_char4);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void eoshift0_16_char4 (gfc_array_char *, GFC_INTEGER_4,
|
|
|
8028fd |
+ const gfc_array_char *,
|
|
|
8028fd |
+ const GFC_INTEGER_16 *,
|
|
|
8028fd |
+ const char *, const GFC_INTEGER_16 *,
|
|
|
8028fd |
+ GFC_INTEGER_4, GFC_INTEGER_4);
|
|
|
8028fd |
+export_proto(eoshift0_16_char4);
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+eoshift0_16_char4 (gfc_array_char *ret,
|
|
|
8028fd |
+ GFC_INTEGER_4 ret_length,
|
|
|
8028fd |
+ const gfc_array_char *array,
|
|
|
8028fd |
+ const GFC_INTEGER_16 *pshift,
|
|
|
8028fd |
+ const char *pbound,
|
|
|
8028fd |
+ const GFC_INTEGER_16 *pdim,
|
|
|
8028fd |
+ GFC_INTEGER_4 array_length,
|
|
|
8028fd |
+ GFC_INTEGER_4 bound_length)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ GFC_INTEGER_8 shift = *pshift;
|
|
|
8028fd |
+ GFC_INTEGER_8 dim = pdim ? *pdim : 1;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ eoshift0_8_char4 (ret, ret_length, array, &shift, pbound,
|
|
|
8028fd |
+ pdim ? &dim : NULL, array_length, bound_length);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void eoshift2_8_char4 (gfc_array_char *, GFC_INTEGER_4,
|
|
|
8028fd |
+ const gfc_array_char *,
|
|
|
8028fd |
+ const GFC_INTEGER_8 *,
|
|
|
8028fd |
+ const gfc_array_char *, const GFC_INTEGER_8 *,
|
|
|
8028fd |
+ GFC_INTEGER_4, GFC_INTEGER_4);
|
|
|
8028fd |
+export_proto(eoshift2_8_char4);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void eoshift2_16_char4 (gfc_array_char *, GFC_INTEGER_4,
|
|
|
8028fd |
+ const gfc_array_char *,
|
|
|
8028fd |
+ const GFC_INTEGER_16 *,
|
|
|
8028fd |
+ const gfc_array_char *, const GFC_INTEGER_16 *,
|
|
|
8028fd |
+ GFC_INTEGER_4, GFC_INTEGER_4);
|
|
|
8028fd |
+export_proto(eoshift2_16_char4);
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+eoshift2_16_char4 (gfc_array_char *ret,
|
|
|
8028fd |
+ GFC_INTEGER_4 ret_length,
|
|
|
8028fd |
+ const gfc_array_char *array,
|
|
|
8028fd |
+ const GFC_INTEGER_16 *pshift,
|
|
|
8028fd |
+ const gfc_array_char *pbound,
|
|
|
8028fd |
+ const GFC_INTEGER_16 *pdim,
|
|
|
8028fd |
+ GFC_INTEGER_4 array_length,
|
|
|
8028fd |
+ GFC_INTEGER_4 bound_length)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ GFC_INTEGER_8 shift = *pshift;
|
|
|
8028fd |
+ GFC_INTEGER_8 dim = pdim ? *pdim : 1;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ eoshift2_8_char4 (ret, ret_length, array, &shift, pbound,
|
|
|
8028fd |
+ pdim ? &dim : NULL, array_length, bound_length);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
--- libgfortran/intrinsics/nonshared-execute_command_line.c.jj 2015-07-02 14:27:54.778340184 +0200
|
|
|
8028fd |
+++ libgfortran/intrinsics/nonshared-execute_command_line.c 2015-07-02 15:07:51.273047413 +0200
|
|
|
8028fd |
@@ -0,0 +1,192 @@
|
|
|
8028fd |
+/* Implementation of the EXECUTE_COMMAND_LINE intrinsic.
|
|
|
8028fd |
+ Copyright (C) 2009-2014 Free Software Foundation, Inc.
|
|
|
8028fd |
+ Contributed by François-Xavier Coudert.
|
|
|
8028fd |
+
|
|
|
8028fd |
+This file is part of the GNU Fortran runtime library (libgfortran).
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is free software; you can redistribute it and/or modify it under
|
|
|
8028fd |
+the terms of the GNU General Public License as published by the Free
|
|
|
8028fd |
+Software Foundation; either version 3, or (at your option) any later
|
|
|
8028fd |
+version.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is distributed in the hope that it will be useful, but WITHOUT
|
|
|
8028fd |
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
|
8028fd |
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
|
8028fd |
+for more details.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Under Section 7 of GPL version 3, you are granted additional
|
|
|
8028fd |
+permissions described in the GCC Runtime Library Exception, version
|
|
|
8028fd |
+3.1, as published by the Free Software Foundation.
|
|
|
8028fd |
+
|
|
|
8028fd |
+You should have received a copy of the GNU General Public License and
|
|
|
8028fd |
+a copy of the GCC Runtime Library Exception along with this program;
|
|
|
8028fd |
+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
|
8028fd |
+<http://www.gnu.org/licenses/>. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+#define LIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+#include "libgfortran.h"
|
|
|
8028fd |
+#include <string.h>
|
|
|
8028fd |
+#include <stdbool.h>
|
|
|
8028fd |
+
|
|
|
8028fd |
+#ifdef HAVE_STDLIB_H
|
|
|
8028fd |
+#include <stdlib.h>
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+#ifdef HAVE_UNISTD_H
|
|
|
8028fd |
+#include <unistd.h>
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+#ifdef HAVE_SYS_WAIT_H
|
|
|
8028fd |
+#include <sys/wait.h>
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void flush_i4 (GFC_INTEGER_4 *);
|
|
|
8028fd |
+export_proto(flush_i4);
|
|
|
8028fd |
+
|
|
|
8028fd |
+enum { EXEC_NOERROR = 0, EXEC_SYSTEMFAILED };
|
|
|
8028fd |
+static const char *cmdmsg_values[] =
|
|
|
8028fd |
+ { "", "Execution of child process impossible" };
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+static void
|
|
|
8028fd |
+set_cmdstat (int *cmdstat, int value)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ if (cmdstat)
|
|
|
8028fd |
+ *cmdstat = value;
|
|
|
8028fd |
+ else if (value != 0)
|
|
|
8028fd |
+ runtime_error ("Could not execute command line");
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+static void
|
|
|
8028fd |
+execute_command_line (const char *command, bool wait, int *exitstat,
|
|
|
8028fd |
+ int *cmdstat, char *cmdmsg,
|
|
|
8028fd |
+ gfc_charlen_type command_len,
|
|
|
8028fd |
+ gfc_charlen_type cmdmsg_len)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ /* Transform the Fortran string to a C string. */
|
|
|
8028fd |
+ char *cmd = malloc (command_len + 1);
|
|
|
8028fd |
+ if (!cmd)
|
|
|
8028fd |
+ os_error ("Memory allocation failed in fc_strdup");
|
|
|
8028fd |
+ memcpy (cmd, command, command_len);
|
|
|
8028fd |
+ cmd[command_len] = '\0';
|
|
|
8028fd |
+
|
|
|
8028fd |
+ /* Flush all I/O units before executing the command. */
|
|
|
8028fd |
+ flush_i4(NULL);
|
|
|
8028fd |
+
|
|
|
8028fd |
+#if defined(HAVE_FORK)
|
|
|
8028fd |
+ if (!wait)
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ /* Asynchronous execution. */
|
|
|
8028fd |
+ pid_t pid;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ set_cmdstat (cmdstat, 0);
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if ((pid = fork()) < 0)
|
|
|
8028fd |
+ set_cmdstat (cmdstat, EXEC_SYSTEMFAILED);
|
|
|
8028fd |
+ else if (pid == 0)
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ /* Child process. */
|
|
|
8028fd |
+ int res = system (cmd);
|
|
|
8028fd |
+ _exit (WIFEXITED(res) ? WEXITSTATUS(res) : res);
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ else
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ /* Synchronous execution. */
|
|
|
8028fd |
+ int res = system (cmd);
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if (!wait)
|
|
|
8028fd |
+ set_cmdstat (cmdstat, -2);
|
|
|
8028fd |
+ else if (res == -1)
|
|
|
8028fd |
+ set_cmdstat (cmdstat, EXEC_SYSTEMFAILED);
|
|
|
8028fd |
+ else
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ set_cmdstat (cmdstat, 0);
|
|
|
8028fd |
+#if defined(WEXITSTATUS) && defined(WIFEXITED)
|
|
|
8028fd |
+ *exitstat = WIFEXITED(res) ? WEXITSTATUS(res) : res;
|
|
|
8028fd |
+#else
|
|
|
8028fd |
+ *exitstat = res;
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+
|
|
|
8028fd |
+ free (cmd);
|
|
|
8028fd |
+
|
|
|
8028fd |
+ /* Now copy back to the Fortran string if needed. */
|
|
|
8028fd |
+ if (cmdstat && *cmdstat > 0)
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ if (cmdmsg)
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ size_t srclen = strlen (cmdmsg_values[*cmdstat]);
|
|
|
8028fd |
+ if (srclen >= (size_t) cmdmsg_len)
|
|
|
8028fd |
+ memcpy (cmdmsg, cmdmsg_values[*cmdstat], cmdmsg_len);
|
|
|
8028fd |
+ else
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ memcpy (cmdmsg, cmdmsg_values[*cmdstat], srclen);
|
|
|
8028fd |
+ memset (cmdmsg + srclen, ' ', cmdmsg_len - srclen);
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+ else
|
|
|
8028fd |
+ runtime_error ("Failure in EXECUTE_COMMAND_LINE: %s",
|
|
|
8028fd |
+ cmdmsg_values[*cmdstat]);
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void
|
|
|
8028fd |
+execute_command_line_i4 (const char *command, GFC_LOGICAL_4 *wait,
|
|
|
8028fd |
+ GFC_INTEGER_4 *exitstat, GFC_INTEGER_4 *cmdstat,
|
|
|
8028fd |
+ char *cmdmsg, gfc_charlen_type command_len,
|
|
|
8028fd |
+ gfc_charlen_type cmdmsg_len);
|
|
|
8028fd |
+export_proto(execute_command_line_i4);
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+execute_command_line_i4 (const char *command, GFC_LOGICAL_4 *wait,
|
|
|
8028fd |
+ GFC_INTEGER_4 *exitstat, GFC_INTEGER_4 *cmdstat,
|
|
|
8028fd |
+ char *cmdmsg, gfc_charlen_type command_len,
|
|
|
8028fd |
+ gfc_charlen_type cmdmsg_len)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ bool w = wait ? *wait : true;
|
|
|
8028fd |
+ int estat, estat_initial, cstat;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if (exitstat)
|
|
|
8028fd |
+ estat_initial = estat = *exitstat;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ execute_command_line (command, w, &estat, cmdstat ? &cstat : NULL,
|
|
|
8028fd |
+ cmdmsg, command_len, cmdmsg_len);
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if (exitstat && estat != estat_initial)
|
|
|
8028fd |
+ *exitstat = estat;
|
|
|
8028fd |
+ if (cmdstat)
|
|
|
8028fd |
+ *cmdstat = cstat;
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void
|
|
|
8028fd |
+execute_command_line_i8 (const char *command, GFC_LOGICAL_8 *wait,
|
|
|
8028fd |
+ GFC_INTEGER_8 *exitstat, GFC_INTEGER_8 *cmdstat,
|
|
|
8028fd |
+ char *cmdmsg, gfc_charlen_type command_len,
|
|
|
8028fd |
+ gfc_charlen_type cmdmsg_len);
|
|
|
8028fd |
+export_proto(execute_command_line_i8);
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+execute_command_line_i8 (const char *command, GFC_LOGICAL_8 *wait,
|
|
|
8028fd |
+ GFC_INTEGER_8 *exitstat, GFC_INTEGER_8 *cmdstat,
|
|
|
8028fd |
+ char *cmdmsg, gfc_charlen_type command_len,
|
|
|
8028fd |
+ gfc_charlen_type cmdmsg_len)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ bool w = wait ? *wait : true;
|
|
|
8028fd |
+ int estat, estat_initial, cstat;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if (exitstat)
|
|
|
8028fd |
+ estat_initial = estat = *exitstat;
|
|
|
8028fd |
+
|
|
|
8028fd |
+ execute_command_line (command, w, &estat, cmdstat ? &cstat : NULL,
|
|
|
8028fd |
+ cmdmsg, command_len, cmdmsg_len);
|
|
|
8028fd |
+
|
|
|
8028fd |
+ if (exitstat && estat != estat_initial)
|
|
|
8028fd |
+ *exitstat = estat;
|
|
|
8028fd |
+ if (cmdstat)
|
|
|
8028fd |
+ *cmdstat = cstat;
|
|
|
8028fd |
+}
|
|
|
8028fd |
--- libgfortran/intrinsics/nonshared-iso_c_generated_procs.c.jj 2015-07-02 14:27:54.777340198 +0200
|
|
|
8028fd |
+++ libgfortran/intrinsics/nonshared-iso_c_generated_procs.c 2015-07-02 14:27:54.777340198 +0200
|
|
|
8028fd |
@@ -0,0 +1,77 @@
|
|
|
8028fd |
+/* Implementation of the ISO_C_BINDING library helper generated functions.
|
|
|
8028fd |
+ Copyright (C) 2007-2014 Free Software Foundation, Inc.
|
|
|
8028fd |
+ Contributed by Christopher Rickett.
|
|
|
8028fd |
+
|
|
|
8028fd |
+This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is free software; you can redistribute it and/or
|
|
|
8028fd |
+modify it under the terms of the GNU General Public
|
|
|
8028fd |
+License as published by the Free Software Foundation; either
|
|
|
8028fd |
+version 3 of the License, or (at your option) any later version.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is distributed in the hope that it will be useful,
|
|
|
8028fd |
+but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
8028fd |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
8028fd |
+GNU General Public License for more details.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Under Section 7 of GPL version 3, you are granted additional
|
|
|
8028fd |
+permissions described in the GCC Runtime Library Exception, version
|
|
|
8028fd |
+3.1, as published by the Free Software Foundation.
|
|
|
8028fd |
+
|
|
|
8028fd |
+You should have received a copy of the GNU General Public License and
|
|
|
8028fd |
+a copy of the GCC Runtime Library Exception along with this program;
|
|
|
8028fd |
+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
|
8028fd |
+<http://www.gnu.org/licenses/>. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+#define LIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+#include "libgfortran.h"
|
|
|
8028fd |
+#include "iso_c_binding.h"
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+#ifdef HAVE_GFC_REAL_16
|
|
|
8028fd |
+void ISO_C_BINDING_PREFIX (c_f_pointer_r16) (void *, gfc_array_void *,
|
|
|
8028fd |
+ const array_t *);
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+
|
|
|
8028fd |
+#ifdef HAVE_GFC_COMPLEX_16
|
|
|
8028fd |
+void ISO_C_BINDING_PREFIX (c_f_pointer_c16) (void *, gfc_array_void *,
|
|
|
8028fd |
+ const array_t *);
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+
|
|
|
8028fd |
+#ifdef HAVE_GFC_REAL_16
|
|
|
8028fd |
+/* Set the given Fortran pointer, f_ptr_out, to point to the given C
|
|
|
8028fd |
+ address, c_ptr_in. The Fortran pointer is of type real and
|
|
|
8028fd |
+ kind=16. The function c_f_pointer is used to set up the pointer
|
|
|
8028fd |
+ descriptor. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+ISO_C_BINDING_PREFIX (c_f_pointer_r16) (void *c_ptr_in,
|
|
|
8028fd |
+ gfc_array_void *f_ptr_out,
|
|
|
8028fd |
+ const array_t *shape)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ /* Here we have an real(kind=16). */
|
|
|
8028fd |
+ ISO_C_BINDING_PREFIX (c_f_pointer) (c_ptr_in, f_ptr_out, shape,
|
|
|
8028fd |
+ (int) BT_REAL,
|
|
|
8028fd |
+ (int) sizeof (GFC_REAL_16));
|
|
|
8028fd |
+}
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+#ifdef HAVE_GFC_COMPLEX_16
|
|
|
8028fd |
+/* Set the given Fortran pointer, f_ptr_out, to point to the given C
|
|
|
8028fd |
+ address, c_ptr_in. The Fortran pointer is of type complex and
|
|
|
8028fd |
+ kind=16. The function c_f_pointer is used to set up the pointer
|
|
|
8028fd |
+ descriptor. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+ISO_C_BINDING_PREFIX (c_f_pointer_c16) (void *c_ptr_in,
|
|
|
8028fd |
+ gfc_array_void *f_ptr_out,
|
|
|
8028fd |
+ const array_t *shape)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ /* Here we have an complex(kind=16). */
|
|
|
8028fd |
+ ISO_C_BINDING_PREFIX (c_f_pointer) (c_ptr_in, f_ptr_out, shape,
|
|
|
8028fd |
+ (int) BT_COMPLEX,
|
|
|
8028fd |
+ (int) sizeof (GFC_COMPLEX_16));
|
|
|
8028fd |
+}
|
|
|
8028fd |
+#endif
|
|
|
8028fd |
--- libgfortran/Makefile.am.jj 2015-04-12 21:50:26.796920638 +0200
|
|
|
8028fd |
+++ libgfortran/Makefile.am 2015-07-03 12:33:06.962168587 +0200
|
|
|
8028fd |
@@ -34,6 +34,7 @@ LTLDFLAGS = $(shell $(SHELL) $(top_srcdi
|
|
|
8028fd |
$(lt_host_flags)
|
|
|
8028fd |
|
|
|
8028fd |
toolexeclib_LTLIBRARIES = libgfortran.la
|
|
|
8028fd |
+noinst_LTLIBRARIES = libgfortran_nonshared44.la libgfortran_nonshared48.la
|
|
|
8028fd |
toolexeclib_DATA = libgfortran.spec
|
|
|
8028fd |
libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS)
|
|
|
8028fd |
libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
|
|
|
8028fd |
@@ -911,6 +912,236 @@ libgfortran_la_SOURCES = $(prereq_SRC)
|
|
|
8028fd |
|
|
|
8028fd |
endif
|
|
|
8028fd |
|
|
|
8028fd |
+if LIBGFOR_BUILD_QUAD
|
|
|
8028fd |
+nonshared_generated_quad_F90_SRC = \
|
|
|
8028fd |
+nonshared-_abs_c16.F90 \
|
|
|
8028fd |
+nonshared-_abs_r16.F90 \
|
|
|
8028fd |
+nonshared-_acosh_r16.F90 \
|
|
|
8028fd |
+nonshared-_acos_r16.F90 \
|
|
|
8028fd |
+nonshared-_aimag_c16.F90 \
|
|
|
8028fd |
+nonshared-_aint_r16.F90 \
|
|
|
8028fd |
+nonshared-_anint_r16.F90 \
|
|
|
8028fd |
+nonshared-_asinh_r16.F90 \
|
|
|
8028fd |
+nonshared-_asin_r16.F90 \
|
|
|
8028fd |
+nonshared-_atan2_r16.F90 \
|
|
|
8028fd |
+nonshared-_atanh_r16.F90 \
|
|
|
8028fd |
+nonshared-_atan_r16.F90 \
|
|
|
8028fd |
+nonshared-_conjg_c16.F90 \
|
|
|
8028fd |
+nonshared-_cos_c16.F90 \
|
|
|
8028fd |
+nonshared-_cosh_r16.F90 \
|
|
|
8028fd |
+nonshared-_cos_r16.F90 \
|
|
|
8028fd |
+nonshared-_dim_r16.F90 \
|
|
|
8028fd |
+nonshared-_exp_c16.F90 \
|
|
|
8028fd |
+nonshared-_exp_r16.F90 \
|
|
|
8028fd |
+nonshared-_log10_r16.F90 \
|
|
|
8028fd |
+nonshared-_log_c16.F90 \
|
|
|
8028fd |
+nonshared-_log_r16.F90 \
|
|
|
8028fd |
+nonshared-_mod_r16.F90 \
|
|
|
8028fd |
+nonshared-_sign_r16.F90 \
|
|
|
8028fd |
+nonshared-_sin_c16.F90 \
|
|
|
8028fd |
+nonshared-_sinh_r16.F90 \
|
|
|
8028fd |
+nonshared-_sin_r16.F90 \
|
|
|
8028fd |
+nonshared-_sqrt_c16.F90 \
|
|
|
8028fd |
+nonshared-_sqrt_r16.F90 \
|
|
|
8028fd |
+nonshared-_tanh_r16.F90 \
|
|
|
8028fd |
+nonshared-_tan_r16.F90
|
|
|
8028fd |
+nonshared_generated_quad_C_SRC = \
|
|
|
8028fd |
+nonshared-exponent_r16.c \
|
|
|
8028fd |
+nonshared-fraction_r16.c \
|
|
|
8028fd |
+nonshared-matmul_c16.c \
|
|
|
8028fd |
+nonshared-matmul_r16.c \
|
|
|
8028fd |
+nonshared-maxloc0_16_r16.c \
|
|
|
8028fd |
+nonshared-maxloc0_4_r16.c \
|
|
|
8028fd |
+nonshared-maxloc0_8_r16.c \
|
|
|
8028fd |
+nonshared-maxloc1_16_r16.c \
|
|
|
8028fd |
+nonshared-maxloc1_4_r16.c \
|
|
|
8028fd |
+nonshared-maxloc1_8_r16.c \
|
|
|
8028fd |
+nonshared-maxval_r16.c \
|
|
|
8028fd |
+nonshared-minloc0_16_r16.c \
|
|
|
8028fd |
+nonshared-minloc0_4_r16.c \
|
|
|
8028fd |
+nonshared-minloc0_8_r16.c \
|
|
|
8028fd |
+nonshared-minloc1_16_r16.c \
|
|
|
8028fd |
+nonshared-minloc1_4_r16.c \
|
|
|
8028fd |
+nonshared-minloc1_8_r16.c \
|
|
|
8028fd |
+nonshared-minval_r16.c \
|
|
|
8028fd |
+nonshared-nearest_r16.c \
|
|
|
8028fd |
+nonshared-pow_c16_i16.c \
|
|
|
8028fd |
+nonshared-pow_c16_i4.c \
|
|
|
8028fd |
+nonshared-pow_c16_i8.c \
|
|
|
8028fd |
+nonshared-pow_r16_i16.c \
|
|
|
8028fd |
+nonshared-pow_r16_i4.c \
|
|
|
8028fd |
+nonshared-pow_r16_i8.c \
|
|
|
8028fd |
+nonshared-product_c16.c \
|
|
|
8028fd |
+nonshared-product_r16.c \
|
|
|
8028fd |
+nonshared-reshape_c16.c \
|
|
|
8028fd |
+nonshared-reshape_r16.c \
|
|
|
8028fd |
+nonshared-rrspacing_r16.c \
|
|
|
8028fd |
+nonshared-set_exponent_r16.c \
|
|
|
8028fd |
+nonshared-spacing_r16.c \
|
|
|
8028fd |
+nonshared-sum_c16.c \
|
|
|
8028fd |
+nonshared-sum_r16.c \
|
|
|
8028fd |
+nonshared-transpose_c16.c \
|
|
|
8028fd |
+nonshared-transpose_r16.c
|
|
|
8028fd |
+nonshared_generated_special_quad_F90_SRC = \
|
|
|
8028fd |
+nonshared-misc_specifics.F90
|
|
|
8028fd |
+nonshared_quad_SRC = \
|
|
|
8028fd |
+$(srcdir)/intrinsics/nonshared-iso_c_generated_procs.c \
|
|
|
8028fd |
+$(srcdir)/intrinsics/nonshared-cpu_time.c \
|
|
|
8028fd |
+$(srcdir)/intrinsics/nonshared-erfc_scaled.c \
|
|
|
8028fd |
+$(srcdir)/intrinsics/nonshared-random.c
|
|
|
8028fd |
+else
|
|
|
8028fd |
+nonshared_generated_quad_F90_SRC =
|
|
|
8028fd |
+nonshared_generated_quad_C_SRC =
|
|
|
8028fd |
+nonshared_generated_special_quad_F90_SRC =
|
|
|
8028fd |
+nonshared_quad_SRC =
|
|
|
8028fd |
+endif
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared_generated_F90_SRC = \
|
|
|
8028fd |
+$(nonshared_generated_quad_F90_SRC)
|
|
|
8028fd |
+nonshared_generated_special_F90_SRC = \
|
|
|
8028fd |
+$(nonshared_generated_special_quad_F90_SRC)
|
|
|
8028fd |
+nonshared_intrinsics_special_F90_SRC = \
|
|
|
8028fd |
+nonshared-selected_real_kind.F90
|
|
|
8028fd |
+nonshared_generated_C_SRC = \
|
|
|
8028fd |
+$(nonshared_generated_quad_C_SRC) \
|
|
|
8028fd |
+nonshared-bessel_r10.c \
|
|
|
8028fd |
+nonshared-bessel_r16.c \
|
|
|
8028fd |
+nonshared-bessel_r4.c \
|
|
|
8028fd |
+nonshared-bessel_r8.c \
|
|
|
8028fd |
+nonshared-iall_i1.c \
|
|
|
8028fd |
+nonshared-iall_i2.c \
|
|
|
8028fd |
+nonshared-iall_i4.c \
|
|
|
8028fd |
+nonshared-iall_i8.c \
|
|
|
8028fd |
+nonshared-iall_i16.c \
|
|
|
8028fd |
+nonshared-iany_i1.c \
|
|
|
8028fd |
+nonshared-iany_i2.c \
|
|
|
8028fd |
+nonshared-iany_i4.c \
|
|
|
8028fd |
+nonshared-iany_i8.c \
|
|
|
8028fd |
+nonshared-iany_i16.c \
|
|
|
8028fd |
+nonshared-iparity_i1.c \
|
|
|
8028fd |
+nonshared-iparity_i2.c \
|
|
|
8028fd |
+nonshared-iparity_i4.c \
|
|
|
8028fd |
+nonshared-iparity_i8.c \
|
|
|
8028fd |
+nonshared-iparity_i16.c \
|
|
|
8028fd |
+nonshared-norm2_r10.c \
|
|
|
8028fd |
+nonshared-norm2_r16.c \
|
|
|
8028fd |
+nonshared-norm2_r4.c \
|
|
|
8028fd |
+nonshared-norm2_r8.c \
|
|
|
8028fd |
+nonshared-parity_l16.c \
|
|
|
8028fd |
+nonshared-parity_l1.c \
|
|
|
8028fd |
+nonshared-parity_l2.c \
|
|
|
8028fd |
+nonshared-parity_l4.c \
|
|
|
8028fd |
+nonshared-parity_l8.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared_intrinsics_C_SRC = \
|
|
|
8028fd |
+nonshared-extends_type_of.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared_runtime_C_SRC = \
|
|
|
8028fd |
+nonshared-bounds.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared_ieee_C_SRC = \
|
|
|
8028fd |
+nonshared-ieee_helper.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared_ieee_F90_SRC = \
|
|
|
8028fd |
+nonshared-ieee_arithmetic.F90 \
|
|
|
8028fd |
+nonshared-ieee_exceptions.F90 \
|
|
|
8028fd |
+nonshared-ieee_features.F90
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.c,%.lo,$(nonshared_generated_C_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.lo: $(srcdir)/generated/%.c
|
|
|
8028fd |
+ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.c,%.o,$(nonshared_generated_C_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.o: $(srcdir)/generated/%.c
|
|
|
8028fd |
+ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.F90,%.lo,$(nonshared_generated_F90_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.lo: $(srcdir)/generated/%.F90
|
|
|
8028fd |
+ $(LTPPFCCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.F90,%.o,$(nonshared_generated_F90_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.o: $(srcdir)/generated/%.F90
|
|
|
8028fd |
+ $(PPFCCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.c,%.lo,$(nonshared_intrinsics_C_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.lo: $(srcdir)/intrinsics/%.c
|
|
|
8028fd |
+ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.c,%.o,$(nonshared_intrinsics_C_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.o: $(srcdir)/intrinsics/%.c
|
|
|
8028fd |
+ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.c,%.lo,$(nonshared_runtime_C_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.lo: $(srcdir)/runtime/%.c
|
|
|
8028fd |
+ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.c,%.o,$(nonshared_runtime_C_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.o: $(srcdir)/runtime/%.c
|
|
|
8028fd |
+ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.F90,%.lo,$(nonshared_generated_special_F90_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.lo: $(srcdir)/generated/nonshared-%.F90
|
|
|
8028fd |
+ $(LTPPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.F90,%.o,$(nonshared_generated_special_F90_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.o: $(srcdir)/generated/nonshared-%.F90
|
|
|
8028fd |
+ $(PPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.F90,%.lo,$(nonshared_intrinsics_special_F90_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.lo: $(srcdir)/intrinsics/nonshared-%.F90
|
|
|
8028fd |
+ $(LTPPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.F90,%.o,$(nonshared_intrinsics_special_F90_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.o: $(srcdir)/intrinsics/nonshared-%.F90
|
|
|
8028fd |
+ $(PPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
+# Add flags for IEEE modules
|
|
|
8028fd |
+$(patsubst %.F90,%.lo,$(notdir $(nonshared_ieee_F90_SRC))): AM_FCFLAGS += -Wno-unused-dummy-argument -Wno-c-binding-type -ffree-line-length-0 -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
+# Dependencies between IEEE_ARITHMETIC and IEEE_EXCEPTIONS
|
|
|
8028fd |
+nonshared-ieee_arithmetic.lo: $(srcdir)/ieee/ieee_arithmetic.F90 ieee_arithmetic.lo ieee_exceptions.lo
|
|
|
8028fd |
+nonshared-ieee_exceptions.lo: $(srcdir)/ieee/ieee_exceptions.F90 ieee_exceptions.lo
|
|
|
8028fd |
+nonshared-ieee_features.lo: $(srcdir)/ieee/ieee_features.F90 ieee_features.lo
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.c,%.lo,$(nonshared_ieee_C_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.lo: $(srcdir)/ieee/%.c
|
|
|
8028fd |
+ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.c,%.o,$(nonshared_ieee_C_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.o: $(srcdir)/ieee/%.c
|
|
|
8028fd |
+ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.F90,%.lo,$(nonshared_ieee_F90_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.lo: $(srcdir)/ieee/%.F90
|
|
|
8028fd |
+ $(LTPPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.F90,%.o,$(nonshared_ieee_F90_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.o: $(srcdir)/ieee/%.F90
|
|
|
8028fd |
+ $(PPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
+libgfortran_nonshared44_la_SOURCES = \
|
|
|
8028fd |
+$(nonshared_generated_F90_SRC) \
|
|
|
8028fd |
+$(nonshared_generated_C_SRC) \
|
|
|
8028fd |
+$(nonshared_intrinsics_C_SRC) \
|
|
|
8028fd |
+$(nonshared_runtime_C_SRC) \
|
|
|
8028fd |
+$(nonshared_quad_SRC) \
|
|
|
8028fd |
+$(nonshared_generated_special_F90_SRC) \
|
|
|
8028fd |
+$(nonshared_intrinsics_special_F90_SRC) \
|
|
|
8028fd |
+$(nonshared_ieee_F90_SRC) \
|
|
|
8028fd |
+$(nonshared_ieee_C_SRC) \
|
|
|
8028fd |
+$(srcdir)/intrinsics/nonshared-execute_command_line.c \
|
|
|
8028fd |
+$(srcdir)/intrinsics/nonshared-shift.c \
|
|
|
8028fd |
+$(srcdir)/io/nonshared-transfer.c \
|
|
|
8028fd |
+$(srcdir)/io/nonshared-ftell2.c \
|
|
|
8028fd |
+$(srcdir)/runtime/nonshared-backtrace.c \
|
|
|
8028fd |
+$(srcdir)/runtime/nonshared-stop.c \
|
|
|
8028fd |
+$(srcdir)/runtime/nonshared-fpu.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+libgfortran_nonshared48_la_SOURCES = \
|
|
|
8028fd |
+$(nonshared_ieee_F90_SRC) \
|
|
|
8028fd |
+$(nonshared_ieee_C_SRC) \
|
|
|
8028fd |
+$(srcdir)/runtime/nonshared-fpu.c
|
|
|
8028fd |
+
|
|
|
8028fd |
I_M4_DEPS=m4/iparm.m4
|
|
|
8028fd |
I_M4_DEPS0=$(I_M4_DEPS) m4/iforeach.m4
|
|
|
8028fd |
I_M4_DEPS1=$(I_M4_DEPS) m4/ifunction.m4
|
|
|
8028fd |
--- libgfortran/Makefile.in.jj 2015-04-12 21:50:25.492941319 +0200
|
|
|
8028fd |
+++ libgfortran/Makefile.in 2015-07-03 12:33:27.284868477 +0200
|
|
|
8028fd |
@@ -178,7 +178,7 @@ am__installdirs = "$(DESTDIR)$(cafexecli
|
|
|
8028fd |
"$(DESTDIR)$(myexeclibdir)" "$(DESTDIR)$(toolexeclibdir)" \
|
|
|
8028fd |
"$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(fincludedir)"
|
|
|
8028fd |
LTLIBRARIES = $(cafexeclib_LTLIBRARIES) $(myexeclib_LTLIBRARIES) \
|
|
|
8028fd |
- $(toolexeclib_LTLIBRARIES)
|
|
|
8028fd |
+ $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
|
|
|
8028fd |
libcaf_single_la_LIBADD =
|
|
|
8028fd |
am_libcaf_single_la_OBJECTS = single.lo
|
|
|
8028fd |
libcaf_single_la_OBJECTS = $(am_libcaf_single_la_OBJECTS)
|
|
|
8028fd |
@@ -394,6 +394,116 @@ am__objects_54 = $(am__objects_3) $(am__
|
|
|
8028fd |
@onestep_FALSE@am_libgfortran_la_OBJECTS = $(am__objects_54)
|
|
|
8028fd |
@onestep_TRUE@am_libgfortran_la_OBJECTS = libgfortran_c.lo
|
|
|
8028fd |
libgfortran_la_OBJECTS = $(am_libgfortran_la_OBJECTS)
|
|
|
8028fd |
+libgfortran_nonshared44_la_LIBADD =
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@am__objects_55 = nonshared-_abs_c16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_abs_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_acosh_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_acos_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_aimag_c16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_aint_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_anint_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_asinh_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_asin_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_atan2_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_atanh_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_atan_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_conjg_c16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_cos_c16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_cosh_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_cos_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_dim_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_exp_c16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_exp_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_log10_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_log_c16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_log_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_mod_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_sign_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_sin_c16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_sinh_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_sin_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_sqrt_c16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_sqrt_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_tanh_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-_tan_r16.lo
|
|
|
8028fd |
+am__objects_56 = $(am__objects_55)
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@am__objects_57 = nonshared-exponent_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-fraction_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-matmul_c16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-matmul_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-maxloc0_16_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-maxloc0_4_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-maxloc0_8_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-maxloc1_16_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-maxloc1_4_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-maxloc1_8_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-maxval_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-minloc0_16_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-minloc0_4_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-minloc0_8_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-minloc1_16_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-minloc1_4_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-minloc1_8_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-minval_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-nearest_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-pow_c16_i16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-pow_c16_i4.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-pow_c16_i8.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-pow_r16_i16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-pow_r16_i4.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-pow_r16_i8.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-product_c16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-product_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-reshape_c16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-reshape_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-rrspacing_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-set_exponent_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-spacing_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-sum_c16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-sum_r16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-transpose_c16.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-transpose_r16.lo
|
|
|
8028fd |
+am__objects_58 = $(am__objects_57) nonshared-bessel_r10.lo \
|
|
|
8028fd |
+ nonshared-bessel_r16.lo nonshared-bessel_r4.lo \
|
|
|
8028fd |
+ nonshared-bessel_r8.lo nonshared-iall_i1.lo \
|
|
|
8028fd |
+ nonshared-iall_i2.lo nonshared-iall_i4.lo nonshared-iall_i8.lo \
|
|
|
8028fd |
+ nonshared-iall_i16.lo nonshared-iany_i1.lo \
|
|
|
8028fd |
+ nonshared-iany_i2.lo nonshared-iany_i4.lo nonshared-iany_i8.lo \
|
|
|
8028fd |
+ nonshared-iany_i16.lo nonshared-iparity_i1.lo \
|
|
|
8028fd |
+ nonshared-iparity_i2.lo nonshared-iparity_i4.lo \
|
|
|
8028fd |
+ nonshared-iparity_i8.lo nonshared-iparity_i16.lo \
|
|
|
8028fd |
+ nonshared-norm2_r10.lo nonshared-norm2_r16.lo \
|
|
|
8028fd |
+ nonshared-norm2_r4.lo nonshared-norm2_r8.lo \
|
|
|
8028fd |
+ nonshared-parity_l16.lo nonshared-parity_l1.lo \
|
|
|
8028fd |
+ nonshared-parity_l2.lo nonshared-parity_l4.lo \
|
|
|
8028fd |
+ nonshared-parity_l8.lo
|
|
|
8028fd |
+am__objects_59 = nonshared-extends_type_of.lo
|
|
|
8028fd |
+am__objects_60 = nonshared-bounds.lo
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@am__objects_61 = \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-iso_c_generated_procs.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-cpu_time.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-erfc_scaled.lo \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@ nonshared-random.lo
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@am__objects_62 = nonshared-misc_specifics.lo
|
|
|
8028fd |
+am__objects_63 = $(am__objects_62)
|
|
|
8028fd |
+am__objects_64 = nonshared-selected_real_kind.lo
|
|
|
8028fd |
+am__objects_65 = nonshared-ieee_arithmetic.lo \
|
|
|
8028fd |
+ nonshared-ieee_exceptions.lo nonshared-ieee_features.lo
|
|
|
8028fd |
+am__objects_66 = nonshared-ieee_helper.lo
|
|
|
8028fd |
+am_libgfortran_nonshared44_la_OBJECTS = $(am__objects_56) \
|
|
|
8028fd |
+ $(am__objects_58) $(am__objects_59) $(am__objects_60) \
|
|
|
8028fd |
+ $(am__objects_61) $(am__objects_63) $(am__objects_64) \
|
|
|
8028fd |
+ $(am__objects_65) $(am__objects_66) \
|
|
|
8028fd |
+ nonshared-execute_command_line.lo nonshared-shift.lo \
|
|
|
8028fd |
+ nonshared-transfer.lo nonshared-ftell2.lo \
|
|
|
8028fd |
+ nonshared-backtrace.lo nonshared-stop.lo nonshared-fpu.lo
|
|
|
8028fd |
+libgfortran_nonshared44_la_OBJECTS = \
|
|
|
8028fd |
+ $(am_libgfortran_nonshared44_la_OBJECTS)
|
|
|
8028fd |
+libgfortran_nonshared48_la_LIBADD =
|
|
|
8028fd |
+am_libgfortran_nonshared48_la_OBJECTS = $(am__objects_65) \
|
|
|
8028fd |
+ $(am__objects_66) nonshared-fpu.lo
|
|
|
8028fd |
+libgfortran_nonshared48_la_OBJECTS = \
|
|
|
8028fd |
+ $(am_libgfortran_nonshared48_la_OBJECTS)
|
|
|
8028fd |
libgfortranbegin_la_LIBADD =
|
|
|
8028fd |
am_libgfortranbegin_la_OBJECTS = fmain.lo
|
|
|
8028fd |
libgfortranbegin_la_OBJECTS = $(am_libgfortranbegin_la_OBJECTS)
|
|
|
8028fd |
@@ -423,6 +533,8 @@ FCCOMPILE = $(FC) $(AM_FCFLAGS) $(FCFLAG
|
|
|
8028fd |
LTFCCOMPILE = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
|
|
8028fd |
--mode=compile $(FC) $(AM_FCFLAGS) $(FCFLAGS)
|
|
|
8028fd |
SOURCES = $(libcaf_single_la_SOURCES) $(libgfortran_la_SOURCES) \
|
|
|
8028fd |
+ $(libgfortran_nonshared44_la_SOURCES) \
|
|
|
8028fd |
+ $(libgfortran_nonshared48_la_SOURCES) \
|
|
|
8028fd |
$(libgfortranbegin_la_SOURCES)
|
|
|
8028fd |
MULTISRCTOP =
|
|
|
8028fd |
MULTIBUILDTOP =
|
|
|
8028fd |
@@ -600,6 +712,7 @@ LTLDFLAGS = $(shell $(SHELL) $(top_srcdi
|
|
|
8028fd |
$(lt_host_flags)
|
|
|
8028fd |
|
|
|
8028fd |
toolexeclib_LTLIBRARIES = libgfortran.la
|
|
|
8028fd |
+noinst_LTLIBRARIES = libgfortran_nonshared44.la libgfortran_nonshared48.la
|
|
|
8028fd |
toolexeclib_DATA = libgfortran.spec
|
|
|
8028fd |
libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS)
|
|
|
8028fd |
libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
|
|
|
8028fd |
@@ -1306,6 +1419,167 @@ prereq_SRC = $(gfor_src) $(gfor_built_sr
|
|
|
8028fd |
#libgfortran_F.lo:
|
|
|
8028fd |
# $(LTPPFCCOMPILE) -c -o $@ $^ -combine
|
|
|
8028fd |
@onestep_TRUE@libgfortran_la_SOURCES = libgfortran_c.c $(filter-out %.c,$(prereq_SRC))
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_FALSE@nonshared_generated_quad_F90_SRC =
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared_generated_quad_F90_SRC = \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_abs_c16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_abs_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_acosh_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_acos_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_aimag_c16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_aint_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_anint_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_asinh_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_asin_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_atan2_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_atanh_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_atan_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_conjg_c16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_cos_c16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_cosh_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_cos_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_dim_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_exp_c16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_exp_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_log10_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_log_c16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_log_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_mod_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_sign_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_sin_c16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_sinh_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_sin_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_sqrt_c16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_sqrt_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_tanh_r16.F90 \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-_tan_r16.F90
|
|
|
8028fd |
+
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_FALSE@nonshared_generated_quad_C_SRC =
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared_generated_quad_C_SRC = \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-exponent_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-fraction_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-matmul_c16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-matmul_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-maxloc0_16_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-maxloc0_4_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-maxloc0_8_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-maxloc1_16_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-maxloc1_4_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-maxloc1_8_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-maxval_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-minloc0_16_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-minloc0_4_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-minloc0_8_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-minloc1_16_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-minloc1_4_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-minloc1_8_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-minval_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-nearest_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-pow_c16_i16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-pow_c16_i4.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-pow_c16_i8.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-pow_r16_i16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-pow_r16_i4.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-pow_r16_i8.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-product_c16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-product_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-reshape_c16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-reshape_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-rrspacing_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-set_exponent_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-spacing_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-sum_c16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-sum_r16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-transpose_c16.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-transpose_r16.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_FALSE@nonshared_generated_special_quad_F90_SRC =
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared_generated_special_quad_F90_SRC = \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared-misc_specifics.F90
|
|
|
8028fd |
+
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_FALSE@nonshared_quad_SRC =
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@nonshared_quad_SRC = \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@$(srcdir)/intrinsics/nonshared-iso_c_generated_procs.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@$(srcdir)/intrinsics/nonshared-cpu_time.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@$(srcdir)/intrinsics/nonshared-erfc_scaled.c \
|
|
|
8028fd |
+@LIBGFOR_BUILD_QUAD_TRUE@$(srcdir)/intrinsics/nonshared-random.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared_generated_F90_SRC = \
|
|
|
8028fd |
+$(nonshared_generated_quad_F90_SRC)
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared_generated_special_F90_SRC = \
|
|
|
8028fd |
+$(nonshared_generated_special_quad_F90_SRC)
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared_intrinsics_special_F90_SRC = \
|
|
|
8028fd |
+nonshared-selected_real_kind.F90
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared_generated_C_SRC = \
|
|
|
8028fd |
+$(nonshared_generated_quad_C_SRC) \
|
|
|
8028fd |
+nonshared-bessel_r10.c \
|
|
|
8028fd |
+nonshared-bessel_r16.c \
|
|
|
8028fd |
+nonshared-bessel_r4.c \
|
|
|
8028fd |
+nonshared-bessel_r8.c \
|
|
|
8028fd |
+nonshared-iall_i1.c \
|
|
|
8028fd |
+nonshared-iall_i2.c \
|
|
|
8028fd |
+nonshared-iall_i4.c \
|
|
|
8028fd |
+nonshared-iall_i8.c \
|
|
|
8028fd |
+nonshared-iall_i16.c \
|
|
|
8028fd |
+nonshared-iany_i1.c \
|
|
|
8028fd |
+nonshared-iany_i2.c \
|
|
|
8028fd |
+nonshared-iany_i4.c \
|
|
|
8028fd |
+nonshared-iany_i8.c \
|
|
|
8028fd |
+nonshared-iany_i16.c \
|
|
|
8028fd |
+nonshared-iparity_i1.c \
|
|
|
8028fd |
+nonshared-iparity_i2.c \
|
|
|
8028fd |
+nonshared-iparity_i4.c \
|
|
|
8028fd |
+nonshared-iparity_i8.c \
|
|
|
8028fd |
+nonshared-iparity_i16.c \
|
|
|
8028fd |
+nonshared-norm2_r10.c \
|
|
|
8028fd |
+nonshared-norm2_r16.c \
|
|
|
8028fd |
+nonshared-norm2_r4.c \
|
|
|
8028fd |
+nonshared-norm2_r8.c \
|
|
|
8028fd |
+nonshared-parity_l16.c \
|
|
|
8028fd |
+nonshared-parity_l1.c \
|
|
|
8028fd |
+nonshared-parity_l2.c \
|
|
|
8028fd |
+nonshared-parity_l4.c \
|
|
|
8028fd |
+nonshared-parity_l8.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared_intrinsics_C_SRC = \
|
|
|
8028fd |
+nonshared-extends_type_of.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared_runtime_C_SRC = \
|
|
|
8028fd |
+nonshared-bounds.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared_ieee_C_SRC = \
|
|
|
8028fd |
+nonshared-ieee_helper.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared_ieee_F90_SRC = \
|
|
|
8028fd |
+nonshared-ieee_arithmetic.F90 \
|
|
|
8028fd |
+nonshared-ieee_exceptions.F90 \
|
|
|
8028fd |
+nonshared-ieee_features.F90
|
|
|
8028fd |
+
|
|
|
8028fd |
+libgfortran_nonshared44_la_SOURCES = \
|
|
|
8028fd |
+$(nonshared_generated_F90_SRC) \
|
|
|
8028fd |
+$(nonshared_generated_C_SRC) \
|
|
|
8028fd |
+$(nonshared_intrinsics_C_SRC) \
|
|
|
8028fd |
+$(nonshared_runtime_C_SRC) \
|
|
|
8028fd |
+$(nonshared_quad_SRC) \
|
|
|
8028fd |
+$(nonshared_generated_special_F90_SRC) \
|
|
|
8028fd |
+$(nonshared_intrinsics_special_F90_SRC) \
|
|
|
8028fd |
+$(nonshared_ieee_F90_SRC) \
|
|
|
8028fd |
+$(nonshared_ieee_C_SRC) \
|
|
|
8028fd |
+$(srcdir)/intrinsics/nonshared-execute_command_line.c \
|
|
|
8028fd |
+$(srcdir)/intrinsics/nonshared-shift.c \
|
|
|
8028fd |
+$(srcdir)/io/nonshared-transfer.c \
|
|
|
8028fd |
+$(srcdir)/io/nonshared-ftell2.c \
|
|
|
8028fd |
+$(srcdir)/runtime/nonshared-backtrace.c \
|
|
|
8028fd |
+$(srcdir)/runtime/nonshared-stop.c \
|
|
|
8028fd |
+$(srcdir)/runtime/nonshared-fpu.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+libgfortran_nonshared48_la_SOURCES = \
|
|
|
8028fd |
+$(nonshared_ieee_F90_SRC) \
|
|
|
8028fd |
+$(nonshared_ieee_C_SRC) \
|
|
|
8028fd |
+$(srcdir)/runtime/nonshared-fpu.c
|
|
|
8028fd |
+
|
|
|
8028fd |
I_M4_DEPS = m4/iparm.m4
|
|
|
8028fd |
I_M4_DEPS0 = $(I_M4_DEPS) m4/iforeach.m4
|
|
|
8028fd |
I_M4_DEPS1 = $(I_M4_DEPS) m4/ifunction.m4
|
|
|
8028fd |
@@ -1431,6 +1705,15 @@ clean-myexeclibLTLIBRARIES:
|
|
|
8028fd |
echo "rm -f \"$${dir}/so_locations\""; \
|
|
|
8028fd |
rm -f "$${dir}/so_locations"; \
|
|
|
8028fd |
done
|
|
|
8028fd |
+
|
|
|
8028fd |
+clean-noinstLTLIBRARIES:
|
|
|
8028fd |
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
|
|
|
8028fd |
+ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
|
|
|
8028fd |
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
|
|
|
8028fd |
+ test "$$dir" != "$$p" || dir=.; \
|
|
|
8028fd |
+ echo "rm -f \"$${dir}/so_locations\""; \
|
|
|
8028fd |
+ rm -f "$${dir}/so_locations"; \
|
|
|
8028fd |
+ done
|
|
|
8028fd |
install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
|
|
|
8028fd |
@$(NORMAL_INSTALL)
|
|
|
8028fd |
@list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \
|
|
|
8028fd |
@@ -1467,6 +1750,10 @@ libcaf_single.la: $(libcaf_single_la_OBJ
|
|
|
8028fd |
$(libcaf_single_la_LINK) -rpath $(cafexeclibdir) $(libcaf_single_la_OBJECTS) $(libcaf_single_la_LIBADD) $(LIBS)
|
|
|
8028fd |
libgfortran.la: $(libgfortran_la_OBJECTS) $(libgfortran_la_DEPENDENCIES) $(EXTRA_libgfortran_la_DEPENDENCIES)
|
|
|
8028fd |
$(libgfortran_la_LINK) -rpath $(toolexeclibdir) $(libgfortran_la_OBJECTS) $(libgfortran_la_LIBADD) $(LIBS)
|
|
|
8028fd |
+libgfortran_nonshared44.la: $(libgfortran_nonshared44_la_OBJECTS) $(libgfortran_nonshared44_la_DEPENDENCIES) $(EXTRA_libgfortran_nonshared44_la_DEPENDENCIES)
|
|
|
8028fd |
+ $(FCLINK) $(libgfortran_nonshared44_la_OBJECTS) $(libgfortran_nonshared44_la_LIBADD) $(LIBS)
|
|
|
8028fd |
+libgfortran_nonshared48.la: $(libgfortran_nonshared48_la_OBJECTS) $(libgfortran_nonshared48_la_DEPENDENCIES) $(EXTRA_libgfortran_nonshared48_la_DEPENDENCIES)
|
|
|
8028fd |
+ $(FCLINK) $(libgfortran_nonshared48_la_OBJECTS) $(libgfortran_nonshared48_la_LIBADD) $(LIBS)
|
|
|
8028fd |
libgfortranbegin.la: $(libgfortranbegin_la_OBJECTS) $(libgfortranbegin_la_DEPENDENCIES) $(EXTRA_libgfortranbegin_la_DEPENDENCIES)
|
|
|
8028fd |
$(libgfortranbegin_la_LINK) -rpath $(myexeclibdir) $(libgfortranbegin_la_OBJECTS) $(libgfortranbegin_la_LIBADD) $(LIBS)
|
|
|
8028fd |
|
|
|
8028fd |
@@ -1772,6 +2059,84 @@ distclean-compile:
|
|
|
8028fd |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nearest_r16.Plo@am__quote@
|
|
|
8028fd |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nearest_r4.Plo@am__quote@
|
|
|
8028fd |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nearest_r8.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-backtrace.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-bessel_r10.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-bessel_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-bessel_r4.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-bessel_r8.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-bounds.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-cpu_time.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-erfc_scaled.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-execute_command_line.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-exponent_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-extends_type_of.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-fpu.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-fraction_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-ftell2.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iall_i1.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iall_i16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iall_i2.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iall_i4.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iall_i8.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iany_i1.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iany_i16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iany_i2.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iany_i4.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iany_i8.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-ieee_helper.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iparity_i1.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iparity_i16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iparity_i2.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iparity_i4.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iparity_i8.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-iso_c_generated_procs.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-matmul_c16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-matmul_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-maxloc0_16_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-maxloc0_4_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-maxloc0_8_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-maxloc1_16_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-maxloc1_4_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-maxloc1_8_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-maxval_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-minloc0_16_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-minloc0_4_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-minloc0_8_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-minloc1_16_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-minloc1_4_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-minloc1_8_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-minval_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-nearest_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-norm2_r10.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-norm2_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-norm2_r4.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-norm2_r8.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-parity_l1.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-parity_l16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-parity_l2.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-parity_l4.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-parity_l8.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-pow_c16_i16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-pow_c16_i4.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-pow_c16_i8.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-pow_r16_i16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-pow_r16_i4.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-pow_r16_i8.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-product_c16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-product_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-random.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-reshape_c16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-reshape_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-rrspacing_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-set_exponent_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-shift.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-spacing_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-stop.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-sum_c16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-sum_r16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-transfer.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-transpose_c16.Plo@am__quote@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonshared-transpose_r16.Plo@am__quote@
|
|
|
8028fd |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r10.Plo@am__quote@
|
|
|
8028fd |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r16.Plo@am__quote@
|
|
|
8028fd |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r4.Plo@am__quote@
|
|
|
8028fd |
@@ -5689,6 +6054,83 @@ ieee_helper.lo: ieee/ieee_helper.c
|
|
|
8028fd |
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
8028fd |
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ieee_helper.lo `test -f 'ieee/ieee_helper.c' || echo '$(srcdir)/'`ieee/ieee_helper.c
|
|
|
8028fd |
|
|
|
8028fd |
+nonshared-iso_c_generated_procs.lo: $(srcdir)/intrinsics/nonshared-iso_c_generated_procs.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-iso_c_generated_procs.lo -MD -MP -MF $(DEPDIR)/nonshared-iso_c_generated_procs.Tpo -c -o nonshared-iso_c_generated_procs.lo `test -f '$(srcdir)/intrinsics/nonshared-iso_c_generated_procs.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-iso_c_generated_procs.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-iso_c_generated_procs.Tpo $(DEPDIR)/nonshared-iso_c_generated_procs.Plo
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/intrinsics/nonshared-iso_c_generated_procs.c' object='nonshared-iso_c_generated_procs.lo' libtool=yes @AMDEPBACKSLASH@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
8028fd |
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-iso_c_generated_procs.lo `test -f '$(srcdir)/intrinsics/nonshared-iso_c_generated_procs.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-iso_c_generated_procs.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared-cpu_time.lo: $(srcdir)/intrinsics/nonshared-cpu_time.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-cpu_time.lo -MD -MP -MF $(DEPDIR)/nonshared-cpu_time.Tpo -c -o nonshared-cpu_time.lo `test -f '$(srcdir)/intrinsics/nonshared-cpu_time.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-cpu_time.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-cpu_time.Tpo $(DEPDIR)/nonshared-cpu_time.Plo
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/intrinsics/nonshared-cpu_time.c' object='nonshared-cpu_time.lo' libtool=yes @AMDEPBACKSLASH@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
8028fd |
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-cpu_time.lo `test -f '$(srcdir)/intrinsics/nonshared-cpu_time.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-cpu_time.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared-erfc_scaled.lo: $(srcdir)/intrinsics/nonshared-erfc_scaled.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-erfc_scaled.lo -MD -MP -MF $(DEPDIR)/nonshared-erfc_scaled.Tpo -c -o nonshared-erfc_scaled.lo `test -f '$(srcdir)/intrinsics/nonshared-erfc_scaled.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-erfc_scaled.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-erfc_scaled.Tpo $(DEPDIR)/nonshared-erfc_scaled.Plo
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/intrinsics/nonshared-erfc_scaled.c' object='nonshared-erfc_scaled.lo' libtool=yes @AMDEPBACKSLASH@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
8028fd |
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-erfc_scaled.lo `test -f '$(srcdir)/intrinsics/nonshared-erfc_scaled.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-erfc_scaled.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared-random.lo: $(srcdir)/intrinsics/nonshared-random.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-random.lo -MD -MP -MF $(DEPDIR)/nonshared-random.Tpo -c -o nonshared-random.lo `test -f '$(srcdir)/intrinsics/nonshared-random.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-random.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-random.Tpo $(DEPDIR)/nonshared-random.Plo
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/intrinsics/nonshared-random.c' object='nonshared-random.lo' libtool=yes @AMDEPBACKSLASH@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
8028fd |
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-random.lo `test -f '$(srcdir)/intrinsics/nonshared-random.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-random.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared-execute_command_line.lo: $(srcdir)/intrinsics/nonshared-execute_command_line.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-execute_command_line.lo -MD -MP -MF $(DEPDIR)/nonshared-execute_command_line.Tpo -c -o nonshared-execute_command_line.lo `test -f '$(srcdir)/intrinsics/nonshared-execute_command_line.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-execute_command_line.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-execute_command_line.Tpo $(DEPDIR)/nonshared-execute_command_line.Plo
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/intrinsics/nonshared-execute_command_line.c' object='nonshared-execute_command_line.lo' libtool=yes @AMDEPBACKSLASH@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
8028fd |
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-execute_command_line.lo `test -f '$(srcdir)/intrinsics/nonshared-execute_command_line.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-execute_command_line.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared-shift.lo: $(srcdir)/intrinsics/nonshared-shift.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-shift.lo -MD -MP -MF $(DEPDIR)/nonshared-shift.Tpo -c -o nonshared-shift.lo `test -f '$(srcdir)/intrinsics/nonshared-shift.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-shift.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-shift.Tpo $(DEPDIR)/nonshared-shift.Plo
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/intrinsics/nonshared-shift.c' object='nonshared-shift.lo' libtool=yes @AMDEPBACKSLASH@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
8028fd |
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-shift.lo `test -f '$(srcdir)/intrinsics/nonshared-shift.c' || echo '$(srcdir)/'`$(srcdir)/intrinsics/nonshared-shift.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared-transfer.lo: $(srcdir)/io/nonshared-transfer.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-transfer.lo -MD -MP -MF $(DEPDIR)/nonshared-transfer.Tpo -c -o nonshared-transfer.lo `test -f '$(srcdir)/io/nonshared-transfer.c' || echo '$(srcdir)/'`$(srcdir)/io/nonshared-transfer.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-transfer.Tpo $(DEPDIR)/nonshared-transfer.Plo
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/io/nonshared-transfer.c' object='nonshared-transfer.lo' libtool=yes @AMDEPBACKSLASH@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
8028fd |
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-transfer.lo `test -f '$(srcdir)/io/nonshared-transfer.c' || echo '$(srcdir)/'`$(srcdir)/io/nonshared-transfer.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared-ftell2.lo: $(srcdir)/io/nonshared-ftell2.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-ftell2.lo -MD -MP -MF $(DEPDIR)/nonshared-ftell2.Tpo -c -o nonshared-ftell2.lo `test -f '$(srcdir)/io/nonshared-ftell2.c' || echo '$(srcdir)/'`$(srcdir)/io/nonshared-ftell2.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-ftell2.Tpo $(DEPDIR)/nonshared-ftell2.Plo
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/io/nonshared-ftell2.c' object='nonshared-ftell2.lo' libtool=yes @AMDEPBACKSLASH@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
8028fd |
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-ftell2.lo `test -f '$(srcdir)/io/nonshared-ftell2.c' || echo '$(srcdir)/'`$(srcdir)/io/nonshared-ftell2.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared-backtrace.lo: $(srcdir)/runtime/nonshared-backtrace.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-backtrace.lo -MD -MP -MF $(DEPDIR)/nonshared-backtrace.Tpo -c -o nonshared-backtrace.lo `test -f '$(srcdir)/runtime/nonshared-backtrace.c' || echo '$(srcdir)/'`$(srcdir)/runtime/nonshared-backtrace.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-backtrace.Tpo $(DEPDIR)/nonshared-backtrace.Plo
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/runtime/nonshared-backtrace.c' object='nonshared-backtrace.lo' libtool=yes @AMDEPBACKSLASH@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
8028fd |
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-backtrace.lo `test -f '$(srcdir)/runtime/nonshared-backtrace.c' || echo '$(srcdir)/'`$(srcdir)/runtime/nonshared-backtrace.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared-stop.lo: $(srcdir)/runtime/nonshared-stop.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-stop.lo -MD -MP -MF $(DEPDIR)/nonshared-stop.Tpo -c -o nonshared-stop.lo `test -f '$(srcdir)/runtime/nonshared-stop.c' || echo '$(srcdir)/'`$(srcdir)/runtime/nonshared-stop.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-stop.Tpo $(DEPDIR)/nonshared-stop.Plo
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/runtime/nonshared-stop.c' object='nonshared-stop.lo' libtool=yes @AMDEPBACKSLASH@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
8028fd |
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-stop.lo `test -f '$(srcdir)/runtime/nonshared-stop.c' || echo '$(srcdir)/'`$(srcdir)/runtime/nonshared-stop.c
|
|
|
8028fd |
+
|
|
|
8028fd |
+nonshared-fpu.lo: $(srcdir)/runtime/nonshared-fpu.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonshared-fpu.lo -MD -MP -MF $(DEPDIR)/nonshared-fpu.Tpo -c -o nonshared-fpu.lo `test -f '$(srcdir)/runtime/nonshared-fpu.c' || echo '$(srcdir)/'`$(srcdir)/runtime/nonshared-fpu.c
|
|
|
8028fd |
+@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/nonshared-fpu.Tpo $(DEPDIR)/nonshared-fpu.Plo
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/runtime/nonshared-fpu.c' object='nonshared-fpu.lo' libtool=yes @AMDEPBACKSLASH@
|
|
|
8028fd |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
8028fd |
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonshared-fpu.lo `test -f '$(srcdir)/runtime/nonshared-fpu.c' || echo '$(srcdir)/'`$(srcdir)/runtime/nonshared-fpu.c
|
|
|
8028fd |
+
|
|
|
8028fd |
.f90.o:
|
|
|
8028fd |
$(FCCOMPILE) -c -o $@ $<
|
|
|
8028fd |
|
|
|
8028fd |
@@ -5869,8 +6311,8 @@ maintainer-clean-generic:
|
|
|
8028fd |
clean: clean-am clean-multi
|
|
|
8028fd |
|
|
|
8028fd |
clean-am: clean-cafexeclibLTLIBRARIES clean-generic clean-libtool \
|
|
|
8028fd |
- clean-myexeclibLTLIBRARIES clean-toolexeclibLTLIBRARIES \
|
|
|
8028fd |
- mostlyclean-am
|
|
|
8028fd |
+ clean-myexeclibLTLIBRARIES clean-noinstLTLIBRARIES \
|
|
|
8028fd |
+ clean-toolexeclibLTLIBRARIES mostlyclean-am
|
|
|
8028fd |
|
|
|
8028fd |
distclean: distclean-am distclean-multi
|
|
|
8028fd |
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
|
|
8028fd |
@@ -5952,7 +6394,7 @@ uninstall-am: uninstall-cafexeclibLTLIBR
|
|
|
8028fd |
|
|
|
8028fd |
.PHONY: CTAGS GTAGS all all-am all-multi am--refresh check check-am \
|
|
|
8028fd |
clean clean-cafexeclibLTLIBRARIES clean-generic clean-libtool \
|
|
|
8028fd |
- clean-multi clean-myexeclibLTLIBRARIES \
|
|
|
8028fd |
+ clean-multi clean-myexeclibLTLIBRARIES clean-noinstLTLIBRARIES \
|
|
|
8028fd |
clean-toolexeclibLTLIBRARIES ctags distclean distclean-compile \
|
|
|
8028fd |
distclean-generic distclean-hdr distclean-libtool \
|
|
|
8028fd |
distclean-multi distclean-tags dvi dvi-am html html-am info \
|
|
|
8028fd |
@@ -6013,6 +6455,78 @@ ieee_arithmetic.mod: ieee_arithmetic.lo
|
|
|
8028fd |
@onestep_TRUE@libgfortran_c.lo: $(filter %.c,$(prereq_SRC))
|
|
|
8028fd |
@onestep_TRUE@ $(LTCOMPILE) -c -o $@ $^ -combine
|
|
|
8028fd |
|
|
|
8028fd |
+$(patsubst %.c,%.lo,$(nonshared_generated_C_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.lo: $(srcdir)/generated/%.c
|
|
|
8028fd |
+ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.c,%.o,$(nonshared_generated_C_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.o: $(srcdir)/generated/%.c
|
|
|
8028fd |
+ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.F90,%.lo,$(nonshared_generated_F90_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.lo: $(srcdir)/generated/%.F90
|
|
|
8028fd |
+ $(LTPPFCCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.F90,%.o,$(nonshared_generated_F90_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.o: $(srcdir)/generated/%.F90
|
|
|
8028fd |
+ $(PPFCCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.c,%.lo,$(nonshared_intrinsics_C_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.lo: $(srcdir)/intrinsics/%.c
|
|
|
8028fd |
+ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.c,%.o,$(nonshared_intrinsics_C_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.o: $(srcdir)/intrinsics/%.c
|
|
|
8028fd |
+ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.c,%.lo,$(nonshared_runtime_C_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.lo: $(srcdir)/runtime/%.c
|
|
|
8028fd |
+ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.c,%.o,$(nonshared_runtime_C_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.o: $(srcdir)/runtime/%.c
|
|
|
8028fd |
+ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.F90,%.lo,$(nonshared_generated_special_F90_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.lo: $(srcdir)/generated/nonshared-%.F90
|
|
|
8028fd |
+ $(LTPPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.F90,%.o,$(nonshared_generated_special_F90_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.o: $(srcdir)/generated/nonshared-%.F90
|
|
|
8028fd |
+ $(PPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.F90,%.lo,$(nonshared_intrinsics_special_F90_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.lo: $(srcdir)/intrinsics/nonshared-%.F90
|
|
|
8028fd |
+ $(LTPPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.F90,%.o,$(nonshared_intrinsics_special_F90_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.o: $(srcdir)/intrinsics/nonshared-%.F90
|
|
|
8028fd |
+ $(PPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
+# Add flags for IEEE modules
|
|
|
8028fd |
+$(patsubst %.F90,%.lo,$(notdir $(nonshared_ieee_F90_SRC))): AM_FCFLAGS += -Wno-unused-dummy-argument -Wno-c-binding-type -ffree-line-length-0 -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
+# Dependencies between IEEE_ARITHMETIC and IEEE_EXCEPTIONS
|
|
|
8028fd |
+nonshared-ieee_arithmetic.lo: $(srcdir)/ieee/ieee_arithmetic.F90 ieee_arithmetic.lo ieee_exceptions.lo
|
|
|
8028fd |
+nonshared-ieee_exceptions.lo: $(srcdir)/ieee/ieee_exceptions.F90 ieee_exceptions.lo
|
|
|
8028fd |
+nonshared-ieee_features.lo: $(srcdir)/ieee/ieee_features.F90 ieee_features.lo
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.c,%.lo,$(nonshared_ieee_C_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.lo: $(srcdir)/ieee/%.c
|
|
|
8028fd |
+ $(LTCOMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.c,%.o,$(nonshared_ieee_C_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.o: $(srcdir)/ieee/%.c
|
|
|
8028fd |
+ $(COMPILE) -c -o $@ $< -DLIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.F90,%.lo,$(nonshared_ieee_F90_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.lo: $(srcdir)/ieee/%.F90
|
|
|
8028fd |
+ $(LTPPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
+$(patsubst %.F90,%.o,$(nonshared_ieee_F90_SRC) $(nonshared)): \
|
|
|
8028fd |
+nonshared-%.o: $(srcdir)/ieee/%.F90
|
|
|
8028fd |
+ $(PPFCCOMPILE) -c -o $@ $< -fallow-leading-underscore
|
|
|
8028fd |
+
|
|
|
8028fd |
kinds.h: $(srcdir)/mk-kinds-h.sh
|
|
|
8028fd |
$(SHELL) $(srcdir)/mk-kinds-h.sh '$(FCCOMPILE)' > $@ || rm $@
|
|
|
8028fd |
|
|
|
8028fd |
--- libgfortran/io/nonshared-ftell2.c.jj 2015-07-02 14:27:54.776340212 +0200
|
|
|
8028fd |
+++ libgfortran/io/nonshared-ftell2.c 2015-07-02 14:27:54.776340212 +0200
|
|
|
8028fd |
@@ -0,0 +1,58 @@
|
|
|
8028fd |
+/* Implementation of the FTELL intrinsic.
|
|
|
8028fd |
+ Copyright (C) 2005-2014 Free Software Foundation, Inc.
|
|
|
8028fd |
+
|
|
|
8028fd |
+This file is part of the GNU Fortran runtime library (libgfortran).
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is free software; you can redistribute it and/or
|
|
|
8028fd |
+modify it under the terms of the GNU General Public
|
|
|
8028fd |
+License as published by the Free Software Foundation; either
|
|
|
8028fd |
+version 3 of the License, or (at your option) any later version.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is distributed in the hope that it will be useful,
|
|
|
8028fd |
+but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
8028fd |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
8028fd |
+GNU General Public License for more details.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Under Section 7 of GPL version 3, you are granted additional
|
|
|
8028fd |
+permissions described in the GCC Runtime Library Exception, version
|
|
|
8028fd |
+3.1, as published by the Free Software Foundation.
|
|
|
8028fd |
+
|
|
|
8028fd |
+You should have received a copy of the GNU General Public License and
|
|
|
8028fd |
+a copy of the GCC Runtime Library Exception along with this program;
|
|
|
8028fd |
+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
|
8028fd |
+<http://www.gnu.org/licenses/>. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+#include "io.h"
|
|
|
8028fd |
+#include "fbuf.h"
|
|
|
8028fd |
+#include "unix.h"
|
|
|
8028fd |
+#include <stdlib.h>
|
|
|
8028fd |
+#include <string.h>
|
|
|
8028fd |
+#include <dlfcn.h>
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+/* Here is the ftell function with an incorrect return type; retained
|
|
|
8028fd |
+ due to ABI compatibility. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern size_t PREFIX(ftell) (int *);
|
|
|
8028fd |
+
|
|
|
8028fd |
+/* Here is the ftell function with the correct return type, ensuring
|
|
|
8028fd |
+ that large files can be supported as long as the target supports
|
|
|
8028fd |
+ large integers; as of 4.8 the FTELL intrinsic function will call
|
|
|
8028fd |
+ this one instead of the old ftell above. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern GFC_IO_INT PREFIX(ftell2) (int *);
|
|
|
8028fd |
+
|
|
|
8028fd |
+GFC_IO_INT
|
|
|
8028fd |
+PREFIX(ftell2) (int * unit)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ if (sizeof (GFC_IO_INT) == sizeof (size_t))
|
|
|
8028fd |
+ return PREFIX(ftell) (unit);
|
|
|
8028fd |
+ else
|
|
|
8028fd |
+ {
|
|
|
8028fd |
+ GFC_IO_INT (*fn) (int *)
|
|
|
8028fd |
+ = (GFC_IO_INT (*) (int *)) dlsym (RTLD_NEXT, "_gfortran_ftell2");
|
|
|
8028fd |
+ if (fn)
|
|
|
8028fd |
+ return fn (unit);
|
|
|
8028fd |
+ return PREFIX(ftell) (unit);
|
|
|
8028fd |
+ }
|
|
|
8028fd |
+}
|
|
|
8028fd |
--- libgfortran/io/nonshared-transfer.c.jj 2015-07-02 14:27:54.776340212 +0200
|
|
|
8028fd |
+++ libgfortran/io/nonshared-transfer.c 2015-07-02 14:27:54.775340227 +0200
|
|
|
8028fd |
@@ -0,0 +1,117 @@
|
|
|
8028fd |
+/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
|
|
|
8028fd |
+ Contributed by Andy Vaught
|
|
|
8028fd |
+ Namelist transfer functions contributed by Paul Thomas
|
|
|
8028fd |
+ F2003 I/O support contributed by Jerry DeLisle
|
|
|
8028fd |
+
|
|
|
8028fd |
+This file is part of the GNU Fortran runtime library (libgfortran).
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is free software; you can redistribute it and/or modify
|
|
|
8028fd |
+it under the terms of the GNU General Public License as published by
|
|
|
8028fd |
+the Free Software Foundation; either version 3, or (at your option)
|
|
|
8028fd |
+any later version.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Libgfortran is distributed in the hope that it will be useful,
|
|
|
8028fd |
+but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
8028fd |
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
8028fd |
+GNU General Public License for more details.
|
|
|
8028fd |
+
|
|
|
8028fd |
+Under Section 7 of GPL version 3, you are granted additional
|
|
|
8028fd |
+permissions described in the GCC Runtime Library Exception, version
|
|
|
8028fd |
+3.1, as published by the Free Software Foundation.
|
|
|
8028fd |
+
|
|
|
8028fd |
+You should have received a copy of the GNU General Public License and
|
|
|
8028fd |
+a copy of the GCC Runtime Library Exception along with this program;
|
|
|
8028fd |
+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
|
8028fd |
+<http://www.gnu.org/licenses/>. */
|
|
|
8028fd |
+
|
|
|
8028fd |
+
|
|
|
8028fd |
+#define LIBGFORTRAN_NONSHARED
|
|
|
8028fd |
+#include "io.h"
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void transfer_integer (st_parameter_dt *, void *, int);
|
|
|
8028fd |
+export_proto(transfer_integer);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void transfer_integer_write (st_parameter_dt *, void *, int);
|
|
|
8028fd |
+export_proto(transfer_integer_write);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void transfer_real (st_parameter_dt *, void *, int);
|
|
|
8028fd |
+export_proto(transfer_real);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void transfer_real_write (st_parameter_dt *, void *, int);
|
|
|
8028fd |
+export_proto(transfer_real_write);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void transfer_logical (st_parameter_dt *, void *, int);
|
|
|
8028fd |
+export_proto(transfer_logical);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void transfer_logical_write (st_parameter_dt *, void *, int);
|
|
|
8028fd |
+export_proto(transfer_logical_write);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void transfer_character (st_parameter_dt *, void *, int);
|
|
|
8028fd |
+export_proto(transfer_character);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void transfer_character_write (st_parameter_dt *, void *, int);
|
|
|
8028fd |
+export_proto(transfer_character_write);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void transfer_character_wide (st_parameter_dt *, void *, int, int);
|
|
|
8028fd |
+export_proto(transfer_character_wide);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void transfer_character_wide_write (st_parameter_dt *,
|
|
|
8028fd |
+ void *, int, int);
|
|
|
8028fd |
+export_proto(transfer_character_wide_write);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void transfer_complex (st_parameter_dt *, void *, int);
|
|
|
8028fd |
+export_proto(transfer_complex);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void transfer_complex_write (st_parameter_dt *, void *, int);
|
|
|
8028fd |
+export_proto(transfer_complex_write);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void transfer_array (st_parameter_dt *, gfc_array_char *, int,
|
|
|
8028fd |
+ gfc_charlen_type);
|
|
|
8028fd |
+export_proto(transfer_array);
|
|
|
8028fd |
+
|
|
|
8028fd |
+extern void transfer_array_write (st_parameter_dt *, gfc_array_char *, int,
|
|
|
8028fd |
+ gfc_charlen_type);
|
|
|
8028fd |
+export_proto(transfer_array_write);
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+transfer_integer_write (st_parameter_dt *dtp, void *p, int kind)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ transfer_integer (dtp, p, kind);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+transfer_real_write (st_parameter_dt *dtp, void *p, int kind)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ transfer_real (dtp, p, kind);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+transfer_logical_write (st_parameter_dt *dtp, void *p, int kind)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ transfer_logical (dtp, p, kind);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+transfer_character_write (st_parameter_dt *dtp, void *p, int len)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ transfer_character (dtp, p, len);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+transfer_character_wide_write (st_parameter_dt *dtp, void *p, int len, int kind)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ transfer_character_wide (dtp, p, len, kind);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+transfer_complex_write (st_parameter_dt *dtp, void *p, int kind)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ transfer_complex (dtp, p, kind);
|
|
|
8028fd |
+}
|
|
|
8028fd |
+
|
|
|
8028fd |
+void
|
|
|
8028fd |
+transfer_array_write (st_parameter_dt *dtp, gfc_array_char *desc, int kind,
|
|
|
8028fd |
+ gfc_charlen_type charlen)
|
|
|
8028fd |
+{
|
|
|
8028fd |
+ transfer_array (dtp, desc, kind, charlen);
|
|
|
8028fd |
+}
|