Blame SOURCES/gcc5-libgfortran-compat.patch

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