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