From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19620 invoked by alias); 19 Dec 2016 14:32:02 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 19595 invoked by uid 89); 19 Dec 2016 14:32:01 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:474, H*m:ABEF, H*MI:ABEF, H*c:HpplH X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-wj0-f174.google.com Received: from mail-wj0-f174.google.com (HELO mail-wj0-f174.google.com) (209.85.210.174) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 19 Dec 2016 14:31:51 +0000 Received: by mail-wj0-f174.google.com with SMTP id xy5so150424991wjc.0; Mon, 19 Dec 2016 06:31:50 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:mime-version:subject:message-id:date:cc:to; bh=t746dNRtjgSjacg8wlorm5x4/FWl88RLobo2Kp61Vf4=; b=fzIbtjlTDWQR3q2jW/AJE09VjN79AbdSBwmoKmf57xftW/kmt74CBK1dl45LbUiq1I z5i7n337FM0qrZJaT8rh4YQLiiPPlXQUuM9qrBoTMDTUENa4t24bSi34waxCBBwGcD8G ZeagzdTKQkwqziu97a/dIssmpIeDqV2M7R1+TocVM/CzkmxpvYyO3ABWqVwdChcWPwU8 o4q+wFi4wRAuGl2dWpbdZLEbFs2qpLsn2jhNQnfyuD4FY+nwO8ox8Y5yeiBV/51txT13 h2CDynT7y4+Lo0O4QIMyuD17TI8iDPTofpdxkJtUoa/onVX5dE0FIgbFujdyHdqXMs4n cIkQ== X-Gm-Message-State: AKaTC01h9qA8OgKGyC8j6zNzpuhuO4AVfE31pPLlVkbQ71rjJ2st7idO7mLKaKjKNyw7VA== X-Received: by 10.194.246.131 with SMTP id xw3mr13542473wjc.217.1482157908365; Mon, 19 Dec 2016 06:31:48 -0800 (PST) Received: from [192.168.100.5] (chp127.enscp.fr. [193.51.253.127]) by smtp.gmail.com with ESMTPSA id bf2sm20786349wjc.48.2016.12.19.06.31.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Dec 2016 06:31:47 -0800 (PST) From: FX Content-Type: multipart/mixed; boundary="Apple-Mail=_160D6A12-245F-4EEE-BAA1-0E251F48694D" Mime-Version: 1.0 (Mac OS X Mail 10.2 \(3259\)) Subject: [libgfortran, patch] Remove runtime TRANSPOSE support functions Message-Id: <055F35E8-6803-4AC1-ABEF-B230AADE5A1C@gmail.com> Date: Mon, 19 Dec 2016 14:32:00 -0000 Cc: gcc-patches To: GCC-Fortran-ML X-SW-Source: 2016-12/txt/msg01594.txt.bz2 --Apple-Mail=_160D6A12-245F-4EEE-BAA1-0E251F48694D Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Content-length: 418 Since 2010, gfortran does not rely on library support functions to handle T= RANSPOSE, but instead emits code directly in the front-end (https://gcc.gnu= .org/ml/fortran/2010-09/msg00109.html). We have since kept the various _gfo= rtran_transpose_* functions in libgfortran for ABI compatbility, but we can= now remove them. Attached patch bootstrapped and regtested on x86_64-apple-darwin16.3.0. OK to commit? FX --Apple-Mail=_160D6A12-245F-4EEE-BAA1-0E251F48694D Content-Disposition: attachment; filename=transpose.ChangeLog Content-Type: application/octet-stream; x-unix-mode=0644; name="transpose.ChangeLog" Content-Transfer-Encoding: 7bit Content-length: 721 2016-12-19 Francois-Xavier Coudert * Makefile.am: Remove intrinsics/transpose_generic.c, generated/transpose_*.c and m4/transpose.m4. * Makefile.in: Regenerate. * gfortran.map: Remove _gfortran_transpose*. * intrinsics/transpose_generic.c: Remove. * m4/transpose.m4: Remove. * generated/transpose_c10.c: Remove. * generated/transpose_c16.c: Remove. * generated/transpose_c4.c: Remove. * generated/transpose_c8.c: Remove. * generated/transpose_i16.c: Remove. * generated/transpose_i4.c: Remove. * generated/transpose_i8.c: Remove. * generated/transpose_r10.c: Remove. * generated/transpose_r16.c: Remove. * generated/transpose_r4.c: Remove. * generated/transpose_r8.c: Remove. --Apple-Mail=_160D6A12-245F-4EEE-BAA1-0E251F48694D Content-Disposition: attachment; filename=transpose.diff Content-Type: application/octet-stream; x-unix-mode=0644; name="transpose.diff" Content-Transfer-Encoding: quoted-printable Content-length: 65079 Index: Makefile.am=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= --- Makefile.am (revision 243794)=0A= +++ Makefile.am (working copy)=0A= @@ -139,7 +137,6 @@ intrinsics/reshape_generic.c \=0A= intrinsics/reshape_packed.c \=0A= intrinsics/selected_int_kind.f90 \=0A= intrinsics/selected_real_kind.f90 \=0A= -intrinsics/transpose_generic.c \=0A= intrinsics/unpack_generic.c \=0A= runtime/in_pack_generic.c \=0A= runtime/in_unpack_generic.c=0A= @@ -470,19 +467,6 @@ $(srcdir)/generated/matmul_l4.c \=0A= $(srcdir)/generated/matmul_l8.c \=0A= $(srcdir)/generated/matmul_l16.c=0A= =20=0A= -i_transpose_c=3D \=0A= -$(srcdir)/generated/transpose_i4.c \=0A= -$(srcdir)/generated/transpose_i8.c \=0A= -$(srcdir)/generated/transpose_i16.c \=0A= -$(srcdir)/generated/transpose_r4.c \=0A= -$(srcdir)/generated/transpose_r8.c \=0A= -$(srcdir)/generated/transpose_r10.c \=0A= -$(srcdir)/generated/transpose_r16.c \=0A= -$(srcdir)/generated/transpose_c4.c \=0A= -$(srcdir)/generated/transpose_c8.c \=0A= -$(srcdir)/generated/transpose_c10.c \=0A= -$(srcdir)/generated/transpose_c16.c=0A= -=0A= i_shape_c=3D \=0A= $(srcdir)/generated/shape_i1.c \=0A= $(srcdir)/generated/shape_i2.c \=0A= @@ -683,7 +667,7 @@ m4_files=3D m4/iparm.m4 m4/ifunction.m4 m4=0A= m4/matmul.m4 m4/matmull.m4 m4/ifunction_logical.m4 \=0A= m4/ctrig.m4 m4/cexp.m4 m4/chyp.m4 m4/mtype.m4 \=0A= m4/specific.m4 m4/specific2.m4 m4/head.m4 m4/shape.m4 m4/reshape.m4 \= =0A= - m4/transpose.m4 m4/eoshift1.m4 m4/eoshift3.m4 m4/exponent.m4 \=0A= + m4/eoshift1.m4 m4/eoshift3.m4 m4/exponent.m4 \=0A= m4/fraction.m4 m4/nearest.m4 m4/set_exponent.m4 m4/pow.m4 \=0A= m4/misc_specifics.m4 m4/rrspacing.m4 m4/spacing.m4 m4/pack.m4 \=0A= m4/unpack.m4 m4/spread.m4 m4/bessel.m4 m4/norm2.m4 m4/parity.m4 \=0A= @@ -693,7 +677,7 @@ gfor_built_src=3D $(i_all_c) $(i_any_c) $(=0A= $(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_= c) \=0A= $(i_product_c) $(i_sum_c) $(i_bessel_c) $(i_iall_c) $(i_iany_c) \=0A= $(i_iparity_c) $(i_norm2_c) $(i_parity_c) \=0A= - $(i_matmul_c) $(i_matmull_c) $(i_transpose_c) $(i_shape_c) $(i_eoshift= 1_c) \=0A= + $(i_matmul_c) $(i_matmull_c) $(i_shape_c) $(i_eoshift1_c) \=0A= $(i_eoshift3_c) $(i_cshift1_c) $(i_reshape_c) $(in_pack_c) $(in_unpack= _c) \=0A= $(i_exponent_c) $(i_fraction_c) $(i_nearest_c) $(i_set_exponent_c) \= =0A= $(i_pow_c) $(i_rrspacing_c) $(i_spacing_c) $(i_pack_c) $(i_unpack_c) \= =0A= @@ -1000,9 +984,6 @@ $(i_norm2_c): m4/norm2.m4 $(I_M4_DEPS1)=0A= $(i_parity_c): m4/parity.m4 $(I_M4_DEPS1)=0A= $(M4) -Dfile=3D$@ -I$(srcdir)/m4 parity.m4 > $@=0A= =20=0A= -$(i_transpose_c): m4/transpose.m4 $(I_M4_DEPS)=0A= - $(M4) -Dfile=3D$@ -I$(srcdir)/m4 transpose.m4 > $@=0A= -=0A= $(i_shape_c): m4/shape.m4 $(I_M4_DEPS)=0A= $(M4) -Dfile=3D$@ -I$(srcdir)/m4 shape.m4 > $@=0A= =20=0A= Index: gfortran.map=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= --- gfortran.map (revision 243794)=0A= +++ gfortran.map (working copy)=0A= @@ -980,19 +980,6 @@ GFORTRAN_1.0 {=0A= _gfortran_transfer_integer;=0A= _gfortran_transfer_logical;=0A= _gfortran_transfer_real;=0A= - _gfortran_transpose;=0A= - _gfortran_transpose_c10;=0A= - _gfortran_transpose_c16;=0A= - _gfortran_transpose_c4;=0A= - _gfortran_transpose_c8;=0A= - _gfortran_transpose_char;=0A= - _gfortran_transpose_i16;=0A= - _gfortran_transpose_i4;=0A= - _gfortran_transpose_i8;=0A= - _gfortran_transpose_r10;=0A= - _gfortran_transpose_r16;=0A= - _gfortran_transpose_r4;=0A= - _gfortran_transpose_r8;=0A= _gfortran_ttynam;=0A= _gfortran_ttynam_sub;=0A= _gfortran_umask_i4;=0A= @@ -1088,7 +1054,6 @@ GFORTRAN_1.1 {=0A= _gfortran_string_verify_char4;=0A= _gfortran_st_wait;=0A= _gfortran_transfer_character_wide;=0A= - _gfortran_transpose_char4;=0A= _gfortran_unpack0_char4;=0A= _gfortran_unpack1_char4;=0A= } GFORTRAN_1.0;=0A= Index: intrinsics/transpose_generic.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= --- intrinsics/transpose_generic.c (revision 243794)=0A= +++ intrinsics/transpose_generic.c (nonexistent)=0A= @@ -1,151 +0,0 @@=0A= -/* Implementation of the TRANSPOSE intrinsic=0A= - Copyright (C) 2003-2016 Free Software Foundation, Inc.=0A= - Contributed by Tobias Schl=FCter=0A= -=0A= -This file is part of the GNU Fortran runtime library (libgfortran).=0A= -=0A= -Libgfortran is free software; you can redistribute it and/or=0A= -modify it under the terms of the GNU General Public=0A= -License as published by the Free Software Foundation; either=0A= -version 3 of the License, or (at your option) any later version.=0A= -=0A= -Libgfortran is distributed in the hope that it will be useful,=0A= -but WITHOUT ANY WARRANTY; without even the implied warranty of=0A= -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=0A= -GNU General Public License for more details.=0A= -=0A= -Under Section 7 of GPL version 3, you are granted additional=0A= -permissions described in the GCC Runtime Library Exception, version=0A= -3.1, as published by the Free Software Foundation.=0A= -=0A= -You should have received a copy of the GNU General Public License and=0A= -a copy of the GCC Runtime Library Exception along with this program;=0A= -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see=0A= -. */=0A= -=0A= -#include "libgfortran.h"=0A= -#include =0A= -#include =0A= -#include =0A= -=0A= -extern void transpose (gfc_array_char *, gfc_array_char *);=0A= -export_proto(transpose);=0A= -=0A= -static void=0A= -transpose_internal (gfc_array_char *ret, gfc_array_char *source)=0A= -{=0A= - /* r.* indicates the return array. */=0A= - index_type rxstride, rystride;=0A= - char *rptr;=0A= - /* s.* indicates the source array. */=0A= - index_type sxstride, systride;=0A= - const char *sptr;=0A= -=0A= - index_type xcount, ycount;=0A= - index_type x, y;=0A= - index_type size;=0A= -=0A= - assert (GFC_DESCRIPTOR_RANK (source) =3D=3D 2=0A= - && GFC_DESCRIPTOR_RANK (ret) =3D=3D 2);=0A= -=0A= - size =3D GFC_DESCRIPTOR_SIZE(ret);=0A= -=0A= - if (ret->base_addr =3D=3D NULL)=0A= - {=0A= - assert (ret->dtype =3D=3D source->dtype);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[0], 0, GFC_DESCRIPTOR_EXTENT(source,1) - = 1,=0A= - 1);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[1], 0, GFC_DESCRIPTOR_EXTENT(source,0) - = 1,=0A= - GFC_DESCRIPTOR_EXTENT(source, 1));=0A= -=0A= - ret->base_addr =3D xmallocarray (size0 ((array_t*)ret), size);=0A= - ret->offset =3D 0;=0A= - }=0A= - else if (unlikely (compile_options.bounds_check))=0A= - {=0A= - index_type ret_extent, src_extent;=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,0);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 1: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,1);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 2: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - }=0A= -=0A= - sxstride =3D GFC_DESCRIPTOR_STRIDE_BYTES(source,0);=0A= - systride =3D GFC_DESCRIPTOR_STRIDE_BYTES(source,1);=0A= - xcount =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= - ycount =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - rxstride =3D GFC_DESCRIPTOR_STRIDE_BYTES(ret,0);=0A= - rystride =3D GFC_DESCRIPTOR_STRIDE_BYTES(ret,1);=0A= -=0A= - rptr =3D ret->base_addr;=0A= - sptr =3D source->base_addr;=0A= -=0A= - for (y =3D 0; y < ycount; y++)=0A= - {=0A= - for (x =3D 0; x < xcount; x++)=0A= - {=0A= - memcpy (rptr, sptr, size);=0A= -=0A= - sptr +=3D sxstride;=0A= - rptr +=3D rystride;=0A= - }=0A= - sptr +=3D systride - (sxstride * xcount);=0A= - rptr +=3D rxstride - (rystride * xcount);=0A= - }=0A= -}=0A= -=0A= -=0A= -extern void transpose (gfc_array_char *, gfc_array_char *);=0A= -export_proto(transpose);=0A= -=0A= -void=0A= -transpose (gfc_array_char *ret, gfc_array_char *source)=0A= -{=0A= - transpose_internal (ret, source);=0A= -}=0A= -=0A= -=0A= -extern void transpose_char (gfc_array_char *, GFC_INTEGER_4,=0A= - gfc_array_char *, GFC_INTEGER_4);=0A= -export_proto(transpose_char);=0A= -=0A= -void=0A= -transpose_char (gfc_array_char *ret,=0A= - GFC_INTEGER_4 ret_length __attribute__((unused)),=0A= - gfc_array_char *source,=0A= - GFC_INTEGER_4 source_length __attribute__((unused)))=0A= -{=0A= - transpose_internal (ret, source);=0A= -}=0A= -=0A= -=0A= -extern void transpose_char4 (gfc_array_char *, GFC_INTEGER_4,=0A= - gfc_array_char *, GFC_INTEGER_4);=0A= -export_proto(transpose_char4);=0A= -=0A= -void=0A= -transpose_char4 (gfc_array_char *ret,=0A= - GFC_INTEGER_4 ret_length __attribute__((unused)),=0A= - gfc_array_char *source,=0A= - GFC_INTEGER_4 source_length __attribute__((unused)))=0A= -{=0A= - transpose_internal (ret, source);=0A= -}=0A= Index: m4/transpose.m4=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= --- m4/transpose.m4 (revision 243794)=0A= +++ m4/transpose.m4 (nonexistent)=0A= @@ -1,116 +0,0 @@=0A= -`/* Implementation of the TRANSPOSE intrinsic=0A= - Copyright (C) 2003-2016 Free Software Foundation, Inc.=0A= - Contributed by Tobias Schl=FCter=0A= -=0A= -This file is part of the GNU Fortran runtime library (libgfortran).=0A= -=0A= -Libgfortran is free software; you can redistribute it and/or=0A= -modify it under the terms of the GNU General Public=0A= -License as published by the Free Software Foundation; either=0A= -version 3 of the License, or (at your option) any later version.=0A= -=0A= -Libgfortran is distributed in the hope that it will be useful,=0A= -but WITHOUT ANY WARRANTY; without even the implied warranty of=0A= -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=0A= -GNU General Public License for more details.=0A= -=0A= -Under Section 7 of GPL version 3, you are granted additional=0A= -permissions described in the GCC Runtime Library Exception, version=0A= -3.1, as published by the Free Software Foundation.=0A= -=0A= -You should have received a copy of the GNU General Public License and=0A= -a copy of the GCC Runtime Library Exception along with this program;=0A= -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see=0A= -. */=0A= -=0A= -#include "libgfortran.h"=0A= -#include '=0A= -=0A= -include(iparm.m4)dnl=0A= -=0A= -`#if defined (HAVE_'rtype_name`)=0A= -=0A= -extern void transpose_'rtype_code` ('rtype` * const restrict ret,=20=0A= - 'rtype` * const restrict source);=0A= -export_proto(transpose_'rtype_code`);=0A= -=0A= -void=0A= -transpose_'rtype_code` ('rtype` * const restrict ret,=20=0A= - 'rtype` * const restrict source)=0A= -{=0A= - /* r.* indicates the return array. */=0A= - index_type rxstride, rystride;=0A= - 'rtype_name` * restrict rptr;=0A= - /* s.* indicates the source array. */=0A= - index_type sxstride, systride;=0A= - const 'rtype_name` *sptr;=0A= -=0A= - index_type xcount, ycount;=0A= - index_type x, y;=0A= -=0A= - assert (GFC_DESCRIPTOR_RANK (source) =3D=3D 2);=0A= -=0A= - if (ret->base_addr =3D=3D NULL)=0A= - {=0A= - assert (GFC_DESCRIPTOR_RANK (ret) =3D=3D 2);=0A= - assert (ret->dtype =3D=3D source->dtype);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[0], 0, GFC_DESCRIPTOR_EXTENT(source,1) - = 1,=0A= - 1);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[1], 0, GFC_DESCRIPTOR_EXTENT(source,0) - = 1,=0A= - GFC_DESCRIPTOR_EXTENT(source, 1));=0A= -=0A= - ret->base_addr =3D xmallocarray (size0 ((array_t *) ret),=20=0A= - sizeof ('rtype_name`));=0A= - ret->offset =3D 0;=0A= - } else if (unlikely (compile_options.bounds_check))=0A= - {=0A= - index_type ret_extent, src_extent;=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,0);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 1: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,1);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 2: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - }=0A= -=0A= - sxstride =3D GFC_DESCRIPTOR_STRIDE(source,0);=0A= - systride =3D GFC_DESCRIPTOR_STRIDE(source,1);=0A= - xcount =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= - ycount =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - rxstride =3D GFC_DESCRIPTOR_STRIDE(ret,0);=0A= - rystride =3D GFC_DESCRIPTOR_STRIDE(ret,1);=0A= -=0A= - rptr =3D ret->base_addr;=0A= - sptr =3D source->base_addr;=0A= -=0A= - for (y=3D0; y < ycount; y++)=0A= - {=0A= - for (x=3D0; x < xcount; x++)=0A= - {=0A= - *rptr =3D *sptr;=0A= -=0A= - sptr +=3D sxstride;=0A= - rptr +=3D rystride;=0A= - }=0A= - sptr +=3D systride - (sxstride * xcount);=0A= - rptr +=3D rxstride - (rystride * xcount);=0A= - }=0A= -}=0A= -=0A= -#endif'=0A= Index: generated/transpose_c10.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= --- generated/transpose_c10.c (revision 243794)=0A= +++ generated/transpose_c10.c (nonexistent)=0A= @@ -1,115 +0,0 @@=0A= -/* Implementation of the TRANSPOSE intrinsic=0A= - Copyright (C) 2003-2016 Free Software Foundation, Inc.=0A= - Contributed by Tobias Schl=FCter=0A= -=0A= -This file is part of the GNU Fortran runtime library (libgfortran).=0A= -=0A= -Libgfortran is free software; you can redistribute it and/or=0A= -modify it under the terms of the GNU General Public=0A= -License as published by the Free Software Foundation; either=0A= -version 3 of the License, or (at your option) any later version.=0A= -=0A= -Libgfortran is distributed in the hope that it will be useful,=0A= -but WITHOUT ANY WARRANTY; without even the implied warranty of=0A= -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=0A= -GNU General Public License for more details.=0A= -=0A= -Under Section 7 of GPL version 3, you are granted additional=0A= -permissions described in the GCC Runtime Library Exception, version=0A= -3.1, as published by the Free Software Foundation.=0A= -=0A= -You should have received a copy of the GNU General Public License and=0A= -a copy of the GCC Runtime Library Exception along with this program;=0A= -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see=0A= -. */=0A= -=0A= -#include "libgfortran.h"=0A= -#include =0A= -=0A= -=0A= -#if defined (HAVE_GFC_COMPLEX_10)=0A= -=0A= -extern void transpose_c10 (gfc_array_c10 * const restrict ret,=20=0A= - gfc_array_c10 * const restrict source);=0A= -export_proto(transpose_c10);=0A= -=0A= -void=0A= -transpose_c10 (gfc_array_c10 * const restrict ret,=20=0A= - gfc_array_c10 * const restrict source)=0A= -{=0A= - /* r.* indicates the return array. */=0A= - index_type rxstride, rystride;=0A= - GFC_COMPLEX_10 * restrict rptr;=0A= - /* s.* indicates the source array. */=0A= - index_type sxstride, systride;=0A= - const GFC_COMPLEX_10 *sptr;=0A= -=0A= - index_type xcount, ycount;=0A= - index_type x, y;=0A= -=0A= - assert (GFC_DESCRIPTOR_RANK (source) =3D=3D 2);=0A= -=0A= - if (ret->base_addr =3D=3D NULL)=0A= - {=0A= - assert (GFC_DESCRIPTOR_RANK (ret) =3D=3D 2);=0A= - assert (ret->dtype =3D=3D source->dtype);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[0], 0, GFC_DESCRIPTOR_EXTENT(source,1) - = 1,=0A= - 1);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[1], 0, GFC_DESCRIPTOR_EXTENT(source,0) - = 1,=0A= - GFC_DESCRIPTOR_EXTENT(source, 1));=0A= -=0A= - ret->base_addr =3D xmallocarray (size0 ((array_t *) ret),=20=0A= - sizeof (GFC_COMPLEX_10));=0A= - ret->offset =3D 0;=0A= - } else if (unlikely (compile_options.bounds_check))=0A= - {=0A= - index_type ret_extent, src_extent;=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,0);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 1: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,1);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 2: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - }=0A= -=0A= - sxstride =3D GFC_DESCRIPTOR_STRIDE(source,0);=0A= - systride =3D GFC_DESCRIPTOR_STRIDE(source,1);=0A= - xcount =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= - ycount =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - rxstride =3D GFC_DESCRIPTOR_STRIDE(ret,0);=0A= - rystride =3D GFC_DESCRIPTOR_STRIDE(ret,1);=0A= -=0A= - rptr =3D ret->base_addr;=0A= - sptr =3D source->base_addr;=0A= -=0A= - for (y=3D0; y < ycount; y++)=0A= - {=0A= - for (x=3D0; x < xcount; x++)=0A= - {=0A= - *rptr =3D *sptr;=0A= -=0A= - sptr +=3D sxstride;=0A= - rptr +=3D rystride;=0A= - }=0A= - sptr +=3D systride - (sxstride * xcount);=0A= - rptr +=3D rxstride - (rystride * xcount);=0A= - }=0A= -}=0A= -=0A= -#endif=0A= Index: generated/transpose_c16.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= --- generated/transpose_c16.c (revision 243794)=0A= +++ generated/transpose_c16.c (nonexistent)=0A= @@ -1,115 +0,0 @@=0A= -/* Implementation of the TRANSPOSE intrinsic=0A= - Copyright (C) 2003-2016 Free Software Foundation, Inc.=0A= - Contributed by Tobias Schl=FCter=0A= -=0A= -This file is part of the GNU Fortran runtime library (libgfortran).=0A= -=0A= -Libgfortran is free software; you can redistribute it and/or=0A= -modify it under the terms of the GNU General Public=0A= -License as published by the Free Software Foundation; either=0A= -version 3 of the License, or (at your option) any later version.=0A= -=0A= -Libgfortran is distributed in the hope that it will be useful,=0A= -but WITHOUT ANY WARRANTY; without even the implied warranty of=0A= -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=0A= -GNU General Public License for more details.=0A= -=0A= -Under Section 7 of GPL version 3, you are granted additional=0A= -permissions described in the GCC Runtime Library Exception, version=0A= -3.1, as published by the Free Software Foundation.=0A= -=0A= -You should have received a copy of the GNU General Public License and=0A= -a copy of the GCC Runtime Library Exception along with this program;=0A= -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see=0A= -. */=0A= -=0A= -#include "libgfortran.h"=0A= -#include =0A= -=0A= -=0A= -#if defined (HAVE_GFC_COMPLEX_16)=0A= -=0A= -extern void transpose_c16 (gfc_array_c16 * const restrict ret,=20=0A= - gfc_array_c16 * const restrict source);=0A= -export_proto(transpose_c16);=0A= -=0A= -void=0A= -transpose_c16 (gfc_array_c16 * const restrict ret,=20=0A= - gfc_array_c16 * const restrict source)=0A= -{=0A= - /* r.* indicates the return array. */=0A= - index_type rxstride, rystride;=0A= - GFC_COMPLEX_16 * restrict rptr;=0A= - /* s.* indicates the source array. */=0A= - index_type sxstride, systride;=0A= - const GFC_COMPLEX_16 *sptr;=0A= -=0A= - index_type xcount, ycount;=0A= - index_type x, y;=0A= -=0A= - assert (GFC_DESCRIPTOR_RANK (source) =3D=3D 2);=0A= -=0A= - if (ret->base_addr =3D=3D NULL)=0A= - {=0A= - assert (GFC_DESCRIPTOR_RANK (ret) =3D=3D 2);=0A= - assert (ret->dtype =3D=3D source->dtype);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[0], 0, GFC_DESCRIPTOR_EXTENT(source,1) - = 1,=0A= - 1);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[1], 0, GFC_DESCRIPTOR_EXTENT(source,0) - = 1,=0A= - GFC_DESCRIPTOR_EXTENT(source, 1));=0A= -=0A= - ret->base_addr =3D xmallocarray (size0 ((array_t *) ret),=20=0A= - sizeof (GFC_COMPLEX_16));=0A= - ret->offset =3D 0;=0A= - } else if (unlikely (compile_options.bounds_check))=0A= - {=0A= - index_type ret_extent, src_extent;=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,0);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 1: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,1);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 2: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - }=0A= -=0A= - sxstride =3D GFC_DESCRIPTOR_STRIDE(source,0);=0A= - systride =3D GFC_DESCRIPTOR_STRIDE(source,1);=0A= - xcount =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= - ycount =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - rxstride =3D GFC_DESCRIPTOR_STRIDE(ret,0);=0A= - rystride =3D GFC_DESCRIPTOR_STRIDE(ret,1);=0A= -=0A= - rptr =3D ret->base_addr;=0A= - sptr =3D source->base_addr;=0A= -=0A= - for (y=3D0; y < ycount; y++)=0A= - {=0A= - for (x=3D0; x < xcount; x++)=0A= - {=0A= - *rptr =3D *sptr;=0A= -=0A= - sptr +=3D sxstride;=0A= - rptr +=3D rystride;=0A= - }=0A= - sptr +=3D systride - (sxstride * xcount);=0A= - rptr +=3D rxstride - (rystride * xcount);=0A= - }=0A= -}=0A= -=0A= -#endif=0A= Index: generated/transpose_c4.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= --- generated/transpose_c4.c (revision 243794)=0A= +++ generated/transpose_c4.c (nonexistent)=0A= @@ -1,115 +0,0 @@=0A= -/* Implementation of the TRANSPOSE intrinsic=0A= - Copyright (C) 2003-2016 Free Software Foundation, Inc.=0A= - Contributed by Tobias Schl=FCter=0A= -=0A= -This file is part of the GNU Fortran runtime library (libgfortran).=0A= -=0A= -Libgfortran is free software; you can redistribute it and/or=0A= -modify it under the terms of the GNU General Public=0A= -License as published by the Free Software Foundation; either=0A= -version 3 of the License, or (at your option) any later version.=0A= -=0A= -Libgfortran is distributed in the hope that it will be useful,=0A= -but WITHOUT ANY WARRANTY; without even the implied warranty of=0A= -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=0A= -GNU General Public License for more details.=0A= -=0A= -Under Section 7 of GPL version 3, you are granted additional=0A= -permissions described in the GCC Runtime Library Exception, version=0A= -3.1, as published by the Free Software Foundation.=0A= -=0A= -You should have received a copy of the GNU General Public License and=0A= -a copy of the GCC Runtime Library Exception along with this program;=0A= -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see=0A= -. */=0A= -=0A= -#include "libgfortran.h"=0A= -#include =0A= -=0A= -=0A= -#if defined (HAVE_GFC_COMPLEX_4)=0A= -=0A= -extern void transpose_c4 (gfc_array_c4 * const restrict ret,=20=0A= - gfc_array_c4 * const restrict source);=0A= -export_proto(transpose_c4);=0A= -=0A= -void=0A= -transpose_c4 (gfc_array_c4 * const restrict ret,=20=0A= - gfc_array_c4 * const restrict source)=0A= -{=0A= - /* r.* indicates the return array. */=0A= - index_type rxstride, rystride;=0A= - GFC_COMPLEX_4 * restrict rptr;=0A= - /* s.* indicates the source array. */=0A= - index_type sxstride, systride;=0A= - const GFC_COMPLEX_4 *sptr;=0A= -=0A= - index_type xcount, ycount;=0A= - index_type x, y;=0A= -=0A= - assert (GFC_DESCRIPTOR_RANK (source) =3D=3D 2);=0A= -=0A= - if (ret->base_addr =3D=3D NULL)=0A= - {=0A= - assert (GFC_DESCRIPTOR_RANK (ret) =3D=3D 2);=0A= - assert (ret->dtype =3D=3D source->dtype);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[0], 0, GFC_DESCRIPTOR_EXTENT(source,1) - = 1,=0A= - 1);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[1], 0, GFC_DESCRIPTOR_EXTENT(source,0) - = 1,=0A= - GFC_DESCRIPTOR_EXTENT(source, 1));=0A= -=0A= - ret->base_addr =3D xmallocarray (size0 ((array_t *) ret),=20=0A= - sizeof (GFC_COMPLEX_4));=0A= - ret->offset =3D 0;=0A= - } else if (unlikely (compile_options.bounds_check))=0A= - {=0A= - index_type ret_extent, src_extent;=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,0);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 1: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,1);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 2: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - }=0A= -=0A= - sxstride =3D GFC_DESCRIPTOR_STRIDE(source,0);=0A= - systride =3D GFC_DESCRIPTOR_STRIDE(source,1);=0A= - xcount =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= - ycount =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - rxstride =3D GFC_DESCRIPTOR_STRIDE(ret,0);=0A= - rystride =3D GFC_DESCRIPTOR_STRIDE(ret,1);=0A= -=0A= - rptr =3D ret->base_addr;=0A= - sptr =3D source->base_addr;=0A= -=0A= - for (y=3D0; y < ycount; y++)=0A= - {=0A= - for (x=3D0; x < xcount; x++)=0A= - {=0A= - *rptr =3D *sptr;=0A= -=0A= - sptr +=3D sxstride;=0A= - rptr +=3D rystride;=0A= - }=0A= - sptr +=3D systride - (sxstride * xcount);=0A= - rptr +=3D rxstride - (rystride * xcount);=0A= - }=0A= -}=0A= -=0A= -#endif=0A= Index: generated/transpose_c8.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= --- generated/transpose_c8.c (revision 243794)=0A= +++ generated/transpose_c8.c (nonexistent)=0A= @@ -1,115 +0,0 @@=0A= -/* Implementation of the TRANSPOSE intrinsic=0A= - Copyright (C) 2003-2016 Free Software Foundation, Inc.=0A= - Contributed by Tobias Schl=FCter=0A= -=0A= -This file is part of the GNU Fortran runtime library (libgfortran).=0A= -=0A= -Libgfortran is free software; you can redistribute it and/or=0A= -modify it under the terms of the GNU General Public=0A= -License as published by the Free Software Foundation; either=0A= -version 3 of the License, or (at your option) any later version.=0A= -=0A= -Libgfortran is distributed in the hope that it will be useful,=0A= -but WITHOUT ANY WARRANTY; without even the implied warranty of=0A= -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=0A= -GNU General Public License for more details.=0A= -=0A= -Under Section 7 of GPL version 3, you are granted additional=0A= -permissions described in the GCC Runtime Library Exception, version=0A= -3.1, as published by the Free Software Foundation.=0A= -=0A= -You should have received a copy of the GNU General Public License and=0A= -a copy of the GCC Runtime Library Exception along with this program;=0A= -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see=0A= -. */=0A= -=0A= -#include "libgfortran.h"=0A= -#include =0A= -=0A= -=0A= -#if defined (HAVE_GFC_COMPLEX_8)=0A= -=0A= -extern void transpose_c8 (gfc_array_c8 * const restrict ret,=20=0A= - gfc_array_c8 * const restrict source);=0A= -export_proto(transpose_c8);=0A= -=0A= -void=0A= -transpose_c8 (gfc_array_c8 * const restrict ret,=20=0A= - gfc_array_c8 * const restrict source)=0A= -{=0A= - /* r.* indicates the return array. */=0A= - index_type rxstride, rystride;=0A= - GFC_COMPLEX_8 * restrict rptr;=0A= - /* s.* indicates the source array. */=0A= - index_type sxstride, systride;=0A= - const GFC_COMPLEX_8 *sptr;=0A= -=0A= - index_type xcount, ycount;=0A= - index_type x, y;=0A= -=0A= - assert (GFC_DESCRIPTOR_RANK (source) =3D=3D 2);=0A= -=0A= - if (ret->base_addr =3D=3D NULL)=0A= - {=0A= - assert (GFC_DESCRIPTOR_RANK (ret) =3D=3D 2);=0A= - assert (ret->dtype =3D=3D source->dtype);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[0], 0, GFC_DESCRIPTOR_EXTENT(source,1) - = 1,=0A= - 1);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[1], 0, GFC_DESCRIPTOR_EXTENT(source,0) - = 1,=0A= - GFC_DESCRIPTOR_EXTENT(source, 1));=0A= -=0A= - ret->base_addr =3D xmallocarray (size0 ((array_t *) ret),=20=0A= - sizeof (GFC_COMPLEX_8));=0A= - ret->offset =3D 0;=0A= - } else if (unlikely (compile_options.bounds_check))=0A= - {=0A= - index_type ret_extent, src_extent;=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,0);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 1: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,1);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 2: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - }=0A= -=0A= - sxstride =3D GFC_DESCRIPTOR_STRIDE(source,0);=0A= - systride =3D GFC_DESCRIPTOR_STRIDE(source,1);=0A= - xcount =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= - ycount =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - rxstride =3D GFC_DESCRIPTOR_STRIDE(ret,0);=0A= - rystride =3D GFC_DESCRIPTOR_STRIDE(ret,1);=0A= -=0A= - rptr =3D ret->base_addr;=0A= - sptr =3D source->base_addr;=0A= -=0A= - for (y=3D0; y < ycount; y++)=0A= - {=0A= - for (x=3D0; x < xcount; x++)=0A= - {=0A= - *rptr =3D *sptr;=0A= -=0A= - sptr +=3D sxstride;=0A= - rptr +=3D rystride;=0A= - }=0A= - sptr +=3D systride - (sxstride * xcount);=0A= - rptr +=3D rxstride - (rystride * xcount);=0A= - }=0A= -}=0A= -=0A= -#endif=0A= Index: generated/transpose_i16.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= --- generated/transpose_i16.c (revision 243794)=0A= +++ generated/transpose_i16.c (nonexistent)=0A= @@ -1,115 +0,0 @@=0A= -/* Implementation of the TRANSPOSE intrinsic=0A= - Copyright (C) 2003-2016 Free Software Foundation, Inc.=0A= - Contributed by Tobias Schl=FCter=0A= -=0A= -This file is part of the GNU Fortran runtime library (libgfortran).=0A= -=0A= -Libgfortran is free software; you can redistribute it and/or=0A= -modify it under the terms of the GNU General Public=0A= -License as published by the Free Software Foundation; either=0A= -version 3 of the License, or (at your option) any later version.=0A= -=0A= -Libgfortran is distributed in the hope that it will be useful,=0A= -but WITHOUT ANY WARRANTY; without even the implied warranty of=0A= -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=0A= -GNU General Public License for more details.=0A= -=0A= -Under Section 7 of GPL version 3, you are granted additional=0A= -permissions described in the GCC Runtime Library Exception, version=0A= -3.1, as published by the Free Software Foundation.=0A= -=0A= -You should have received a copy of the GNU General Public License and=0A= -a copy of the GCC Runtime Library Exception along with this program;=0A= -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see=0A= -. */=0A= -=0A= -#include "libgfortran.h"=0A= -#include =0A= -=0A= -=0A= -#if defined (HAVE_GFC_INTEGER_16)=0A= -=0A= -extern void transpose_i16 (gfc_array_i16 * const restrict ret,=20=0A= - gfc_array_i16 * const restrict source);=0A= -export_proto(transpose_i16);=0A= -=0A= -void=0A= -transpose_i16 (gfc_array_i16 * const restrict ret,=20=0A= - gfc_array_i16 * const restrict source)=0A= -{=0A= - /* r.* indicates the return array. */=0A= - index_type rxstride, rystride;=0A= - GFC_INTEGER_16 * restrict rptr;=0A= - /* s.* indicates the source array. */=0A= - index_type sxstride, systride;=0A= - const GFC_INTEGER_16 *sptr;=0A= -=0A= - index_type xcount, ycount;=0A= - index_type x, y;=0A= -=0A= - assert (GFC_DESCRIPTOR_RANK (source) =3D=3D 2);=0A= -=0A= - if (ret->base_addr =3D=3D NULL)=0A= - {=0A= - assert (GFC_DESCRIPTOR_RANK (ret) =3D=3D 2);=0A= - assert (ret->dtype =3D=3D source->dtype);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[0], 0, GFC_DESCRIPTOR_EXTENT(source,1) - = 1,=0A= - 1);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[1], 0, GFC_DESCRIPTOR_EXTENT(source,0) - = 1,=0A= - GFC_DESCRIPTOR_EXTENT(source, 1));=0A= -=0A= - ret->base_addr =3D xmallocarray (size0 ((array_t *) ret),=20=0A= - sizeof (GFC_INTEGER_16));=0A= - ret->offset =3D 0;=0A= - } else if (unlikely (compile_options.bounds_check))=0A= - {=0A= - index_type ret_extent, src_extent;=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,0);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 1: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,1);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 2: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - }=0A= -=0A= - sxstride =3D GFC_DESCRIPTOR_STRIDE(source,0);=0A= - systride =3D GFC_DESCRIPTOR_STRIDE(source,1);=0A= - xcount =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= - ycount =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - rxstride =3D GFC_DESCRIPTOR_STRIDE(ret,0);=0A= - rystride =3D GFC_DESCRIPTOR_STRIDE(ret,1);=0A= -=0A= - rptr =3D ret->base_addr;=0A= - sptr =3D source->base_addr;=0A= -=0A= - for (y=3D0; y < ycount; y++)=0A= - {=0A= - for (x=3D0; x < xcount; x++)=0A= - {=0A= - *rptr =3D *sptr;=0A= -=0A= - sptr +=3D sxstride;=0A= - rptr +=3D rystride;=0A= - }=0A= - sptr +=3D systride - (sxstride * xcount);=0A= - rptr +=3D rxstride - (rystride * xcount);=0A= - }=0A= -}=0A= -=0A= -#endif=0A= Index: generated/transpose_i4.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= --- generated/transpose_i4.c (revision 243794)=0A= +++ generated/transpose_i4.c (nonexistent)=0A= @@ -1,115 +0,0 @@=0A= -/* Implementation of the TRANSPOSE intrinsic=0A= - Copyright (C) 2003-2016 Free Software Foundation, Inc.=0A= - Contributed by Tobias Schl=FCter=0A= -=0A= -This file is part of the GNU Fortran runtime library (libgfortran).=0A= -=0A= -Libgfortran is free software; you can redistribute it and/or=0A= -modify it under the terms of the GNU General Public=0A= -License as published by the Free Software Foundation; either=0A= -version 3 of the License, or (at your option) any later version.=0A= -=0A= -Libgfortran is distributed in the hope that it will be useful,=0A= -but WITHOUT ANY WARRANTY; without even the implied warranty of=0A= -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=0A= -GNU General Public License for more details.=0A= -=0A= -Under Section 7 of GPL version 3, you are granted additional=0A= -permissions described in the GCC Runtime Library Exception, version=0A= -3.1, as published by the Free Software Foundation.=0A= -=0A= -You should have received a copy of the GNU General Public License and=0A= -a copy of the GCC Runtime Library Exception along with this program;=0A= -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see=0A= -. */=0A= -=0A= -#include "libgfortran.h"=0A= -#include =0A= -=0A= -=0A= -#if defined (HAVE_GFC_INTEGER_4)=0A= -=0A= -extern void transpose_i4 (gfc_array_i4 * const restrict ret,=20=0A= - gfc_array_i4 * const restrict source);=0A= -export_proto(transpose_i4);=0A= -=0A= -void=0A= -transpose_i4 (gfc_array_i4 * const restrict ret,=20=0A= - gfc_array_i4 * const restrict source)=0A= -{=0A= - /* r.* indicates the return array. */=0A= - index_type rxstride, rystride;=0A= - GFC_INTEGER_4 * restrict rptr;=0A= - /* s.* indicates the source array. */=0A= - index_type sxstride, systride;=0A= - const GFC_INTEGER_4 *sptr;=0A= -=0A= - index_type xcount, ycount;=0A= - index_type x, y;=0A= -=0A= - assert (GFC_DESCRIPTOR_RANK (source) =3D=3D 2);=0A= -=0A= - if (ret->base_addr =3D=3D NULL)=0A= - {=0A= - assert (GFC_DESCRIPTOR_RANK (ret) =3D=3D 2);=0A= - assert (ret->dtype =3D=3D source->dtype);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[0], 0, GFC_DESCRIPTOR_EXTENT(source,1) - = 1,=0A= - 1);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[1], 0, GFC_DESCRIPTOR_EXTENT(source,0) - = 1,=0A= - GFC_DESCRIPTOR_EXTENT(source, 1));=0A= -=0A= - ret->base_addr =3D xmallocarray (size0 ((array_t *) ret),=20=0A= - sizeof (GFC_INTEGER_4));=0A= - ret->offset =3D 0;=0A= - } else if (unlikely (compile_options.bounds_check))=0A= - {=0A= - index_type ret_extent, src_extent;=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,0);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 1: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,1);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 2: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - }=0A= -=0A= - sxstride =3D GFC_DESCRIPTOR_STRIDE(source,0);=0A= - systride =3D GFC_DESCRIPTOR_STRIDE(source,1);=0A= - xcount =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= - ycount =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - rxstride =3D GFC_DESCRIPTOR_STRIDE(ret,0);=0A= - rystride =3D GFC_DESCRIPTOR_STRIDE(ret,1);=0A= -=0A= - rptr =3D ret->base_addr;=0A= - sptr =3D source->base_addr;=0A= -=0A= - for (y=3D0; y < ycount; y++)=0A= - {=0A= - for (x=3D0; x < xcount; x++)=0A= - {=0A= - *rptr =3D *sptr;=0A= -=0A= - sptr +=3D sxstride;=0A= - rptr +=3D rystride;=0A= - }=0A= - sptr +=3D systride - (sxstride * xcount);=0A= - rptr +=3D rxstride - (rystride * xcount);=0A= - }=0A= -}=0A= -=0A= -#endif=0A= Index: generated/transpose_i8.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= --- generated/transpose_i8.c (revision 243794)=0A= +++ generated/transpose_i8.c (nonexistent)=0A= @@ -1,115 +0,0 @@=0A= -/* Implementation of the TRANSPOSE intrinsic=0A= - Copyright (C) 2003-2016 Free Software Foundation, Inc.=0A= - Contributed by Tobias Schl=FCter=0A= -=0A= -This file is part of the GNU Fortran runtime library (libgfortran).=0A= -=0A= -Libgfortran is free software; you can redistribute it and/or=0A= -modify it under the terms of the GNU General Public=0A= -License as published by the Free Software Foundation; either=0A= -version 3 of the License, or (at your option) any later version.=0A= -=0A= -Libgfortran is distributed in the hope that it will be useful,=0A= -but WITHOUT ANY WARRANTY; without even the implied warranty of=0A= -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=0A= -GNU General Public License for more details.=0A= -=0A= -Under Section 7 of GPL version 3, you are granted additional=0A= -permissions described in the GCC Runtime Library Exception, version=0A= -3.1, as published by the Free Software Foundation.=0A= -=0A= -You should have received a copy of the GNU General Public License and=0A= -a copy of the GCC Runtime Library Exception along with this program;=0A= -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see=0A= -. */=0A= -=0A= -#include "libgfortran.h"=0A= -#include =0A= -=0A= -=0A= -#if defined (HAVE_GFC_INTEGER_8)=0A= -=0A= -extern void transpose_i8 (gfc_array_i8 * const restrict ret,=20=0A= - gfc_array_i8 * const restrict source);=0A= -export_proto(transpose_i8);=0A= -=0A= -void=0A= -transpose_i8 (gfc_array_i8 * const restrict ret,=20=0A= - gfc_array_i8 * const restrict source)=0A= -{=0A= - /* r.* indicates the return array. */=0A= - index_type rxstride, rystride;=0A= - GFC_INTEGER_8 * restrict rptr;=0A= - /* s.* indicates the source array. */=0A= - index_type sxstride, systride;=0A= - const GFC_INTEGER_8 *sptr;=0A= -=0A= - index_type xcount, ycount;=0A= - index_type x, y;=0A= -=0A= - assert (GFC_DESCRIPTOR_RANK (source) =3D=3D 2);=0A= -=0A= - if (ret->base_addr =3D=3D NULL)=0A= - {=0A= - assert (GFC_DESCRIPTOR_RANK (ret) =3D=3D 2);=0A= - assert (ret->dtype =3D=3D source->dtype);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[0], 0, GFC_DESCRIPTOR_EXTENT(source,1) - = 1,=0A= - 1);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[1], 0, GFC_DESCRIPTOR_EXTENT(source,0) - = 1,=0A= - GFC_DESCRIPTOR_EXTENT(source, 1));=0A= -=0A= - ret->base_addr =3D xmallocarray (size0 ((array_t *) ret),=20=0A= - sizeof (GFC_INTEGER_8));=0A= - ret->offset =3D 0;=0A= - } else if (unlikely (compile_options.bounds_check))=0A= - {=0A= - index_type ret_extent, src_extent;=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,0);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 1: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,1);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 2: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - }=0A= -=0A= - sxstride =3D GFC_DESCRIPTOR_STRIDE(source,0);=0A= - systride =3D GFC_DESCRIPTOR_STRIDE(source,1);=0A= - xcount =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= - ycount =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - rxstride =3D GFC_DESCRIPTOR_STRIDE(ret,0);=0A= - rystride =3D GFC_DESCRIPTOR_STRIDE(ret,1);=0A= -=0A= - rptr =3D ret->base_addr;=0A= - sptr =3D source->base_addr;=0A= -=0A= - for (y=3D0; y < ycount; y++)=0A= - {=0A= - for (x=3D0; x < xcount; x++)=0A= - {=0A= - *rptr =3D *sptr;=0A= -=0A= - sptr +=3D sxstride;=0A= - rptr +=3D rystride;=0A= - }=0A= - sptr +=3D systride - (sxstride * xcount);=0A= - rptr +=3D rxstride - (rystride * xcount);=0A= - }=0A= -}=0A= -=0A= -#endif=0A= Index: generated/transpose_r10.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= --- generated/transpose_r10.c (revision 243794)=0A= +++ generated/transpose_r10.c (nonexistent)=0A= @@ -1,115 +0,0 @@=0A= -/* Implementation of the TRANSPOSE intrinsic=0A= - Copyright (C) 2003-2016 Free Software Foundation, Inc.=0A= - Contributed by Tobias Schl=FCter=0A= -=0A= -This file is part of the GNU Fortran runtime library (libgfortran).=0A= -=0A= -Libgfortran is free software; you can redistribute it and/or=0A= -modify it under the terms of the GNU General Public=0A= -License as published by the Free Software Foundation; either=0A= -version 3 of the License, or (at your option) any later version.=0A= -=0A= -Libgfortran is distributed in the hope that it will be useful,=0A= -but WITHOUT ANY WARRANTY; without even the implied warranty of=0A= -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=0A= -GNU General Public License for more details.=0A= -=0A= -Under Section 7 of GPL version 3, you are granted additional=0A= -permissions described in the GCC Runtime Library Exception, version=0A= -3.1, as published by the Free Software Foundation.=0A= -=0A= -You should have received a copy of the GNU General Public License and=0A= -a copy of the GCC Runtime Library Exception along with this program;=0A= -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see=0A= -. */=0A= -=0A= -#include "libgfortran.h"=0A= -#include =0A= -=0A= -=0A= -#if defined (HAVE_GFC_REAL_10)=0A= -=0A= -extern void transpose_r10 (gfc_array_r10 * const restrict ret,=20=0A= - gfc_array_r10 * const restrict source);=0A= -export_proto(transpose_r10);=0A= -=0A= -void=0A= -transpose_r10 (gfc_array_r10 * const restrict ret,=20=0A= - gfc_array_r10 * const restrict source)=0A= -{=0A= - /* r.* indicates the return array. */=0A= - index_type rxstride, rystride;=0A= - GFC_REAL_10 * restrict rptr;=0A= - /* s.* indicates the source array. */=0A= - index_type sxstride, systride;=0A= - const GFC_REAL_10 *sptr;=0A= -=0A= - index_type xcount, ycount;=0A= - index_type x, y;=0A= -=0A= - assert (GFC_DESCRIPTOR_RANK (source) =3D=3D 2);=0A= -=0A= - if (ret->base_addr =3D=3D NULL)=0A= - {=0A= - assert (GFC_DESCRIPTOR_RANK (ret) =3D=3D 2);=0A= - assert (ret->dtype =3D=3D source->dtype);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[0], 0, GFC_DESCRIPTOR_EXTENT(source,1) - = 1,=0A= - 1);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[1], 0, GFC_DESCRIPTOR_EXTENT(source,0) - = 1,=0A= - GFC_DESCRIPTOR_EXTENT(source, 1));=0A= -=0A= - ret->base_addr =3D xmallocarray (size0 ((array_t *) ret),=20=0A= - sizeof (GFC_REAL_10));=0A= - ret->offset =3D 0;=0A= - } else if (unlikely (compile_options.bounds_check))=0A= - {=0A= - index_type ret_extent, src_extent;=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,0);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 1: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,1);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 2: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - }=0A= -=0A= - sxstride =3D GFC_DESCRIPTOR_STRIDE(source,0);=0A= - systride =3D GFC_DESCRIPTOR_STRIDE(source,1);=0A= - xcount =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= - ycount =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - rxstride =3D GFC_DESCRIPTOR_STRIDE(ret,0);=0A= - rystride =3D GFC_DESCRIPTOR_STRIDE(ret,1);=0A= -=0A= - rptr =3D ret->base_addr;=0A= - sptr =3D source->base_addr;=0A= -=0A= - for (y=3D0; y < ycount; y++)=0A= - {=0A= - for (x=3D0; x < xcount; x++)=0A= - {=0A= - *rptr =3D *sptr;=0A= -=0A= - sptr +=3D sxstride;=0A= - rptr +=3D rystride;=0A= - }=0A= - sptr +=3D systride - (sxstride * xcount);=0A= - rptr +=3D rxstride - (rystride * xcount);=0A= - }=0A= -}=0A= -=0A= -#endif=0A= Index: generated/transpose_r16.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= --- generated/transpose_r16.c (revision 243794)=0A= +++ generated/transpose_r16.c (nonexistent)=0A= @@ -1,115 +0,0 @@=0A= -/* Implementation of the TRANSPOSE intrinsic=0A= - Copyright (C) 2003-2016 Free Software Foundation, Inc.=0A= - Contributed by Tobias Schl=FCter=0A= -=0A= -This file is part of the GNU Fortran runtime library (libgfortran).=0A= -=0A= -Libgfortran is free software; you can redistribute it and/or=0A= -modify it under the terms of the GNU General Public=0A= -License as published by the Free Software Foundation; either=0A= -version 3 of the License, or (at your option) any later version.=0A= -=0A= -Libgfortran is distributed in the hope that it will be useful,=0A= -but WITHOUT ANY WARRANTY; without even the implied warranty of=0A= -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=0A= -GNU General Public License for more details.=0A= -=0A= -Under Section 7 of GPL version 3, you are granted additional=0A= -permissions described in the GCC Runtime Library Exception, version=0A= -3.1, as published by the Free Software Foundation.=0A= -=0A= -You should have received a copy of the GNU General Public License and=0A= -a copy of the GCC Runtime Library Exception along with this program;=0A= -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see=0A= -. */=0A= -=0A= -#include "libgfortran.h"=0A= -#include =0A= -=0A= -=0A= -#if defined (HAVE_GFC_REAL_16)=0A= -=0A= -extern void transpose_r16 (gfc_array_r16 * const restrict ret,=20=0A= - gfc_array_r16 * const restrict source);=0A= -export_proto(transpose_r16);=0A= -=0A= -void=0A= -transpose_r16 (gfc_array_r16 * const restrict ret,=20=0A= - gfc_array_r16 * const restrict source)=0A= -{=0A= - /* r.* indicates the return array. */=0A= - index_type rxstride, rystride;=0A= - GFC_REAL_16 * restrict rptr;=0A= - /* s.* indicates the source array. */=0A= - index_type sxstride, systride;=0A= - const GFC_REAL_16 *sptr;=0A= -=0A= - index_type xcount, ycount;=0A= - index_type x, y;=0A= -=0A= - assert (GFC_DESCRIPTOR_RANK (source) =3D=3D 2);=0A= -=0A= - if (ret->base_addr =3D=3D NULL)=0A= - {=0A= - assert (GFC_DESCRIPTOR_RANK (ret) =3D=3D 2);=0A= - assert (ret->dtype =3D=3D source->dtype);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[0], 0, GFC_DESCRIPTOR_EXTENT(source,1) - = 1,=0A= - 1);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[1], 0, GFC_DESCRIPTOR_EXTENT(source,0) - = 1,=0A= - GFC_DESCRIPTOR_EXTENT(source, 1));=0A= -=0A= - ret->base_addr =3D xmallocarray (size0 ((array_t *) ret),=20=0A= - sizeof (GFC_REAL_16));=0A= - ret->offset =3D 0;=0A= - } else if (unlikely (compile_options.bounds_check))=0A= - {=0A= - index_type ret_extent, src_extent;=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,0);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 1: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,1);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 2: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - }=0A= -=0A= - sxstride =3D GFC_DESCRIPTOR_STRIDE(source,0);=0A= - systride =3D GFC_DESCRIPTOR_STRIDE(source,1);=0A= - xcount =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= - ycount =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - rxstride =3D GFC_DESCRIPTOR_STRIDE(ret,0);=0A= - rystride =3D GFC_DESCRIPTOR_STRIDE(ret,1);=0A= -=0A= - rptr =3D ret->base_addr;=0A= - sptr =3D source->base_addr;=0A= -=0A= - for (y=3D0; y < ycount; y++)=0A= - {=0A= - for (x=3D0; x < xcount; x++)=0A= - {=0A= - *rptr =3D *sptr;=0A= -=0A= - sptr +=3D sxstride;=0A= - rptr +=3D rystride;=0A= - }=0A= - sptr +=3D systride - (sxstride * xcount);=0A= - rptr +=3D rxstride - (rystride * xcount);=0A= - }=0A= -}=0A= -=0A= -#endif=0A= Index: generated/transpose_r4.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= --- generated/transpose_r4.c (revision 243794)=0A= +++ generated/transpose_r4.c (nonexistent)=0A= @@ -1,115 +0,0 @@=0A= -/* Implementation of the TRANSPOSE intrinsic=0A= - Copyright (C) 2003-2016 Free Software Foundation, Inc.=0A= - Contributed by Tobias Schl=FCter=0A= -=0A= -This file is part of the GNU Fortran runtime library (libgfortran).=0A= -=0A= -Libgfortran is free software; you can redistribute it and/or=0A= -modify it under the terms of the GNU General Public=0A= -License as published by the Free Software Foundation; either=0A= -version 3 of the License, or (at your option) any later version.=0A= -=0A= -Libgfortran is distributed in the hope that it will be useful,=0A= -but WITHOUT ANY WARRANTY; without even the implied warranty of=0A= -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=0A= -GNU General Public License for more details.=0A= -=0A= -Under Section 7 of GPL version 3, you are granted additional=0A= -permissions described in the GCC Runtime Library Exception, version=0A= -3.1, as published by the Free Software Foundation.=0A= -=0A= -You should have received a copy of the GNU General Public License and=0A= -a copy of the GCC Runtime Library Exception along with this program;=0A= -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see=0A= -. */=0A= -=0A= -#include "libgfortran.h"=0A= -#include =0A= -=0A= -=0A= -#if defined (HAVE_GFC_REAL_4)=0A= -=0A= -extern void transpose_r4 (gfc_array_r4 * const restrict ret,=20=0A= - gfc_array_r4 * const restrict source);=0A= -export_proto(transpose_r4);=0A= -=0A= -void=0A= -transpose_r4 (gfc_array_r4 * const restrict ret,=20=0A= - gfc_array_r4 * const restrict source)=0A= -{=0A= - /* r.* indicates the return array. */=0A= - index_type rxstride, rystride;=0A= - GFC_REAL_4 * restrict rptr;=0A= - /* s.* indicates the source array. */=0A= - index_type sxstride, systride;=0A= - const GFC_REAL_4 *sptr;=0A= -=0A= - index_type xcount, ycount;=0A= - index_type x, y;=0A= -=0A= - assert (GFC_DESCRIPTOR_RANK (source) =3D=3D 2);=0A= -=0A= - if (ret->base_addr =3D=3D NULL)=0A= - {=0A= - assert (GFC_DESCRIPTOR_RANK (ret) =3D=3D 2);=0A= - assert (ret->dtype =3D=3D source->dtype);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[0], 0, GFC_DESCRIPTOR_EXTENT(source,1) - = 1,=0A= - 1);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[1], 0, GFC_DESCRIPTOR_EXTENT(source,0) - = 1,=0A= - GFC_DESCRIPTOR_EXTENT(source, 1));=0A= -=0A= - ret->base_addr =3D xmallocarray (size0 ((array_t *) ret),=20=0A= - sizeof (GFC_REAL_4));=0A= - ret->offset =3D 0;=0A= - } else if (unlikely (compile_options.bounds_check))=0A= - {=0A= - index_type ret_extent, src_extent;=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,0);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 1: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,1);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 2: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - }=0A= -=0A= - sxstride =3D GFC_DESCRIPTOR_STRIDE(source,0);=0A= - systride =3D GFC_DESCRIPTOR_STRIDE(source,1);=0A= - xcount =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= - ycount =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - rxstride =3D GFC_DESCRIPTOR_STRIDE(ret,0);=0A= - rystride =3D GFC_DESCRIPTOR_STRIDE(ret,1);=0A= -=0A= - rptr =3D ret->base_addr;=0A= - sptr =3D source->base_addr;=0A= -=0A= - for (y=3D0; y < ycount; y++)=0A= - {=0A= - for (x=3D0; x < xcount; x++)=0A= - {=0A= - *rptr =3D *sptr;=0A= -=0A= - sptr +=3D sxstride;=0A= - rptr +=3D rystride;=0A= - }=0A= - sptr +=3D systride - (sxstride * xcount);=0A= - rptr +=3D rxstride - (rystride * xcount);=0A= - }=0A= -}=0A= -=0A= -#endif=0A= Index: generated/transpose_r8.c=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= --- generated/transpose_r8.c (revision 243794)=0A= +++ generated/transpose_r8.c (nonexistent)=0A= @@ -1,115 +0,0 @@=0A= -/* Implementation of the TRANSPOSE intrinsic=0A= - Copyright (C) 2003-2016 Free Software Foundation, Inc.=0A= - Contributed by Tobias Schl=FCter=0A= -=0A= -This file is part of the GNU Fortran runtime library (libgfortran).=0A= -=0A= -Libgfortran is free software; you can redistribute it and/or=0A= -modify it under the terms of the GNU General Public=0A= -License as published by the Free Software Foundation; either=0A= -version 3 of the License, or (at your option) any later version.=0A= -=0A= -Libgfortran is distributed in the hope that it will be useful,=0A= -but WITHOUT ANY WARRANTY; without even the implied warranty of=0A= -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the=0A= -GNU General Public License for more details.=0A= -=0A= -Under Section 7 of GPL version 3, you are granted additional=0A= -permissions described in the GCC Runtime Library Exception, version=0A= -3.1, as published by the Free Software Foundation.=0A= -=0A= -You should have received a copy of the GNU General Public License and=0A= -a copy of the GCC Runtime Library Exception along with this program;=0A= -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see=0A= -. */=0A= -=0A= -#include "libgfortran.h"=0A= -#include =0A= -=0A= -=0A= -#if defined (HAVE_GFC_REAL_8)=0A= -=0A= -extern void transpose_r8 (gfc_array_r8 * const restrict ret,=20=0A= - gfc_array_r8 * const restrict source);=0A= -export_proto(transpose_r8);=0A= -=0A= -void=0A= -transpose_r8 (gfc_array_r8 * const restrict ret,=20=0A= - gfc_array_r8 * const restrict source)=0A= -{=0A= - /* r.* indicates the return array. */=0A= - index_type rxstride, rystride;=0A= - GFC_REAL_8 * restrict rptr;=0A= - /* s.* indicates the source array. */=0A= - index_type sxstride, systride;=0A= - const GFC_REAL_8 *sptr;=0A= -=0A= - index_type xcount, ycount;=0A= - index_type x, y;=0A= -=0A= - assert (GFC_DESCRIPTOR_RANK (source) =3D=3D 2);=0A= -=0A= - if (ret->base_addr =3D=3D NULL)=0A= - {=0A= - assert (GFC_DESCRIPTOR_RANK (ret) =3D=3D 2);=0A= - assert (ret->dtype =3D=3D source->dtype);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[0], 0, GFC_DESCRIPTOR_EXTENT(source,1) - = 1,=0A= - 1);=0A= -=0A= - GFC_DIMENSION_SET(ret->dim[1], 0, GFC_DESCRIPTOR_EXTENT(source,0) - = 1,=0A= - GFC_DESCRIPTOR_EXTENT(source, 1));=0A= -=0A= - ret->base_addr =3D xmallocarray (size0 ((array_t *) ret),=20=0A= - sizeof (GFC_REAL_8));=0A= - ret->offset =3D 0;=0A= - } else if (unlikely (compile_options.bounds_check))=0A= - {=0A= - index_type ret_extent, src_extent;=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,0);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 1: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - ret_extent =3D GFC_DESCRIPTOR_EXTENT(ret,1);=0A= - src_extent =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= -=0A= - if (src_extent !=3D ret_extent)=0A= - runtime_error ("Incorrect extent in return value of TRANSPOSE"=0A= - " intrinsic in dimension 2: is %ld,"=0A= - " should be %ld", (long int) src_extent,=0A= - (long int) ret_extent);=0A= -=0A= - }=0A= -=0A= - sxstride =3D GFC_DESCRIPTOR_STRIDE(source,0);=0A= - systride =3D GFC_DESCRIPTOR_STRIDE(source,1);=0A= - xcount =3D GFC_DESCRIPTOR_EXTENT(source,0);=0A= - ycount =3D GFC_DESCRIPTOR_EXTENT(source,1);=0A= -=0A= - rxstride =3D GFC_DESCRIPTOR_STRIDE(ret,0);=0A= - rystride =3D GFC_DESCRIPTOR_STRIDE(ret,1);=0A= -=0A= - rptr =3D ret->base_addr;=0A= - sptr =3D source->base_addr;=0A= -=0A= - for (y=3D0; y < ycount; y++)=0A= - {=0A= - for (x=3D0; x < xcount; x++)=0A= - {=0A= - *rptr =3D *sptr;=0A= -=0A= - sptr +=3D sxstride;=0A= - rptr +=3D rystride;=0A= - }=0A= - sptr +=3D systride - (sxstride * xcount);=0A= - rptr +=3D rxstride - (rystride * xcount);=0A= - }=0A= -}=0A= -=0A= -#endif=0A= --Apple-Mail=_160D6A12-245F-4EEE-BAA1-0E251F48694D--