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