Blame SOURCES/gcc49-libgfortran-compat.patch

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