* Makefile.am: Remove references to types.m4.
* m4/iparm.m4: Merge with types.m4.
* m4/types.m4: Remove.
* m4/cshift1.m4, m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4,
m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4, m4/ifunction.m4,
m4/in_pack.m4, m4/in_unpack.m4, m4/iparm.m4, m4/matmul.m4,
m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4, m4/maxval.m4,
m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/reshape.m4,
m4/shape.m4, m4/specific.m4, m4/specific2.m4, m4/transpose.m4):
Update to use new iparm.m4.
* generated/*.c: Regenerate.
From-SVN: r82003
+2004-05-18 Paul Brook <paul@codesourcery.com>
+
+ * Makefile.am: Remove references to types.m4.
+ * m4/iparm.m4: Merge with types.m4.
+ * m4/types.m4: Remove.
+ * m4/cshift1.m4, m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4,
+ m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4, m4/ifunction.m4,
+ m4/in_pack.m4, m4/in_unpack.m4, m4/iparm.m4, m4/matmul.m4,
+ m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4, m4/maxval.m4,
+ m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/reshape.m4,
+ m4/shape.m4, m4/specific.m4, m4/specific2.m4, m4/transpose.m4):
+ Update to use new iparm.m4.
+ * generated/*.c: Regenerate.
+
2004-05-18 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/15235
generated/set_exponent_r4.c \
generated/set_exponent_r8.c
-m4_files= m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/types.m4 m4/all.m4 \
+m4_files= m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
m4/any.m4 m4/count.m4 m4/maxloc0.m4 m4/maxloc1.m4 m4/maxval.m4 \
m4/minloc0.m4 m4/minloc1.m4 m4/minval.m4 m4/product.m4 m4/sum.m4 \
m4/dotprod.m4 m4/dotprodl.m4 m4/dotprodc.m4 m4/matmul.m4 m4/matmull.m4 \
libgfortran_la_LIBADD = @MATH_OBJ@
libgfortran_la_DEPENDENCIES = @MATH_OBJ@
-I_M4_DEPS=m4/iparm.m4 m4/types.m4
+I_M4_DEPS=m4/iparm.m4
I_M4_DEPS0=$(I_M4_DEPS) m4/iforeach.m4
I_M4_DEPS1=$(I_M4_DEPS) m4/ifunction.m4
-# Makefile.in generated by automake 1.8.2 from Makefile.am.
+# Makefile.in generated by automake 1.8.5 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
-am__installdirs = $(DESTDIR)$(libdir)
+am__installdirs = "$(DESTDIR)$(libdir)"
libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
am__objects_1 = environ.lo error.lo main.lo memory.lo pause.lo stop.lo \
generated/set_exponent_r4.c \
generated/set_exponent_r8.c
-m4_files = m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/types.m4 m4/all.m4 \
+m4_files = m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
m4/any.m4 m4/count.m4 m4/maxloc0.m4 m4/maxloc1.m4 m4/maxval.m4 \
m4/minloc0.m4 m4/minloc1.m4 m4/minval.m4 m4/product.m4 m4/sum.m4 \
m4/dotprod.m4 m4/dotprodl.m4 m4/dotprodc.m4 m4/matmul.m4 m4/matmull.m4 \
EXTRA_libgfortran_la_SOURCES = $(gfor_cmath_src)
libgfortran_la_LIBADD = @MATH_OBJ@
libgfortran_la_DEPENDENCIES = @MATH_OBJ@
-I_M4_DEPS = m4/iparm.m4 m4/types.m4
+I_M4_DEPS = m4/iparm.m4
I_M4_DEPS0 = $(I_M4_DEPS) m4/iforeach.m4
I_M4_DEPS1 = $(I_M4_DEPS) m4/ifunction.m4
EXTRA_DIST = $(m4_files)
-rm -f config.h stamp-h1
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- $(mkdir_p) $(DESTDIR)$(libdir)
+ test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f"; \
- $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f; \
+ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
else :; fi; \
done
@$(NORMAL_UNINSTALL)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p="`echo $$p | sed -e 's|^.*/||'`"; \
- echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p"; \
- $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
+ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
done
clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" = "$$p" && dir=.; \
+ test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\
*.shar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | unshar ;;\
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
- (cd ../.. && $(mkdir_p) "$$dc_destdir") \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
$(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile $(LTLIBRARIES) config.h
installdirs:
- $(mkdir_p) $(DESTDIR)$(libdir)
+ for dir in "$(DESTDIR)$(libdir)"; do \
+ test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ done
install: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) install-am
install-exec: install-exec-am
-# generated automatically by aclocal 1.8.2 -*- Autoconf -*-
+# generated automatically by aclocal 1.8.5 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
# Free Software Foundation, Inc.
# Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
- [AM_AUTOMAKE_VERSION([1.8.2])])
+ [AM_AUTOMAKE_VERSION([1.8.5])])
# AM_AUX_DIR_EXPAND
Usually this means the macro was only invoked conditionally.])
fi])])
-# serial 6 -*- Autoconf -*-
+# serial 7 -*- Autoconf -*-
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
# Free Software Foundation, Inc.
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
- : > sub/conftst$i.h
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
- # (even with -Werror). So we grep stderr for any message
- # that says an option was ignored.
- if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
am_cv_$1_dependencies_compiler_type=$depmode
break
fi
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
# Extract the definition of DEP_FILES from the Makefile without
# running `make'.
- DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
# When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n -e '/^U = / s///p' < "$mf"`
+ U=`sed -n 's/^U = //p' < "$mf"`
test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
# We invoke sed twice because it is the simplest approach to
# changing $(DEPDIR) to its actual value in the expansion.
- for file in `sed -n -e '
+ for file in `sed -n '
/^DEP_FILES = .*\\\\$/ {
s/^DEP_FILES = //
:loop
#
# Do not use -m 0755 and let people choose whatever they expect by
# setting umask.
+#
+# We cannot accept any implementation of `mkdir' that recognizes `-p'.
+# Some implementations (such as Solaris 8's) are not thread-safe: if a
+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
+# concurrently, both version can detect that a/ is missing, but only
+# one can create it and the other will error out. Consequently we
+# restrict ourselves to GNU make (using the --version option ensures
+# this.)
AC_DEFUN([AM_PROG_MKDIR_P],
-[if mkdir -p -- . 2>/dev/null; then
+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
# Keeping the `.' argument allows $(mkdir_p) to be used without
# argument. Indeed, we sometimes output rules like
# $(mkdir_p) $(somedir)
# recognize any option. It will interpret all options as
# directories to create, and then abort because `.' already
# exists.
- for d in ./-p ./--;
+ for d in ./-p ./--version;
do
test -d $d && rmdir $d
done
echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi
-if mkdir -p -- . 2>/dev/null; then
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
# Keeping the `.' argument allows $(mkdir_p) to be used without
# argument. Indeed, we sometimes output rules like
# $(mkdir_p) $(somedir)
# recognize any option. It will interpret all options as
# directories to create, and then abort because `.' already
# exists.
- for d in ./-p ./--;
+ for d in ./-p ./--version;
do
test -d $d && rmdir $d
done
: > sub/conftest.c
for i in 1 2 3 4 5 6; do
echo '#include "conftst'$i'.h"' >> sub/conftest.c
- : > sub/conftst$i.h
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings
- # (even with -Werror). So we grep stderr for any message
- # that says an option was ignored.
- if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
am_cv_CC_dependencies_compiler_type=$depmode
break
fi
# Provide some information about the compiler.
-echo "$as_me:2983:" \
+echo "$as_me:2990:" \
"checking for Fortran 77 compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
lt_cv_deplibs_check_method=pass_all
;;
-freebsd* )
+freebsd* | kfreebsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
;;
-netbsd*)
+netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
else
case $host in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 6309 "configure"' > conftest.$ac_ext
+ echo '#line 6316 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
# Extract the definition of DEP_FILES from the Makefile without
# running `make'.
- DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
test -z "$DEPDIR" && continue
# When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n -e '/^U = / s///p' < "$mf"`
+ U=`sed -n 's/^U = //p' < "$mf"`
test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
# We invoke sed twice because it is the simplest approach to
# changing $(DEPDIR) to its actual value in the expansion.
- for file in `sed -n -e '
+ for file in `sed -n '
/^DEP_FILES = .*\\\\$/ {
s/^DEP_FILES = //
:loop
#include <assert.h>
#include "libgfortran.h"
-
void
__all_l4 (gfc_array_l4 * retarray, gfc_array_l4 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__all_l8 (gfc_array_l8 * retarray, gfc_array_l8 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__any_l4 (gfc_array_l4 * retarray, gfc_array_l4 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__any_l8 (gfc_array_l8 * retarray, gfc_array_l8 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__count_4_l4 (gfc_array_i4 * retarray, gfc_array_l4 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__count_4_l8 (gfc_array_i4 * retarray, gfc_array_l8 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__count_8_l4 (gfc_array_i8 * retarray, gfc_array_l4 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__count_8_l8 (gfc_array_i8 * retarray, gfc_array_l8 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
/* Allocates a block of memory with internal_malloc if the array needs
repacking. */
#include <assert.h>
#include "libgfortran.h"
-
/* Allocates a block of memory with internal_malloc if the array needs
repacking. */
#include "libgfortran.h"
-
void
__maxloc0_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array)
{
#include "libgfortran.h"
-
void
__maxloc0_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array)
{
#include "libgfortran.h"
-
void
__maxloc0_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array)
{
#include "libgfortran.h"
-
void
__maxloc0_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array)
{
#include "libgfortran.h"
-
void
__maxloc0_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array)
{
#include "libgfortran.h"
-
void
__maxloc0_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array)
{
#include "libgfortran.h"
-
void
__maxloc0_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array)
{
#include "libgfortran.h"
-
void
__maxloc0_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array)
{
#include <limits.h>
#include "libgfortran.h"
-
void
__maxloc1_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim)
{
#include <limits.h>
#include "libgfortran.h"
-
void
__maxloc1_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array, index_type *pdim)
{
#include <limits.h>
#include "libgfortran.h"
-
void
__maxloc1_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array, index_type *pdim)
{
#include <limits.h>
#include "libgfortran.h"
-
void
__maxloc1_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array, index_type *pdim)
{
#include <limits.h>
#include "libgfortran.h"
-
void
__maxloc1_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array, index_type *pdim)
{
#include <limits.h>
#include "libgfortran.h"
-
void
__maxloc1_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim)
{
#include <limits.h>
#include "libgfortran.h"
-
void
__maxloc1_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array, index_type *pdim)
{
#include <limits.h>
#include "libgfortran.h"
-
void
__maxloc1_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array, index_type *pdim)
{
#include <float.h>
#include "libgfortran.h"
-
void
__maxval_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim)
{
#include <float.h>
#include "libgfortran.h"
-
void
__maxval_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim)
{
#include <float.h>
#include "libgfortran.h"
-
void
__maxval_r4 (gfc_array_r4 * retarray, gfc_array_r4 *array, index_type *pdim)
{
#include <float.h>
#include "libgfortran.h"
-
void
__maxval_r8 (gfc_array_r8 * retarray, gfc_array_r8 *array, index_type *pdim)
{
#include "libgfortran.h"
-
void
__minloc0_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array)
{
#include "libgfortran.h"
-
void
__minloc0_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array)
{
#include "libgfortran.h"
-
void
__minloc0_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array)
{
#include "libgfortran.h"
-
void
__minloc0_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array)
{
#include "libgfortran.h"
-
void
__minloc0_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array)
{
#include "libgfortran.h"
-
void
__minloc0_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array)
{
#include "libgfortran.h"
-
void
__minloc0_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array)
{
#include "libgfortran.h"
-
void
__minloc0_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array)
{
#include <limits.h>
#include "libgfortran.h"
-
void
__minloc1_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim)
{
#include <limits.h>
#include "libgfortran.h"
-
void
__minloc1_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array, index_type *pdim)
{
#include <limits.h>
#include "libgfortran.h"
-
void
__minloc1_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array, index_type *pdim)
{
#include <limits.h>
#include "libgfortran.h"
-
void
__minloc1_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array, index_type *pdim)
{
#include <limits.h>
#include "libgfortran.h"
-
void
__minloc1_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array, index_type *pdim)
{
#include <limits.h>
#include "libgfortran.h"
-
void
__minloc1_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim)
{
#include <limits.h>
#include "libgfortran.h"
-
void
__minloc1_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array, index_type *pdim)
{
#include <limits.h>
#include "libgfortran.h"
-
void
__minloc1_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array, index_type *pdim)
{
#include <float.h>
#include "libgfortran.h"
-
void
__minval_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim)
{
#include <float.h>
#include "libgfortran.h"
-
void
__minval_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim)
{
#include <float.h>
#include "libgfortran.h"
-
void
__minval_r4 (gfc_array_r4 * retarray, gfc_array_r4 *array, index_type *pdim)
{
#include <float.h>
#include "libgfortran.h"
-
void
__minval_r8 (gfc_array_r8 * retarray, gfc_array_r8 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__product_c4 (gfc_array_c4 * retarray, gfc_array_c4 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__product_c8 (gfc_array_c8 * retarray, gfc_array_c8 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__product_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__product_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__product_r4 (gfc_array_r4 * retarray, gfc_array_r4 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__product_r8 (gfc_array_r8 * retarray, gfc_array_r8 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__sum_c4 (gfc_array_c4 * retarray, gfc_array_c4 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__sum_c8 (gfc_array_c8 * retarray, gfc_array_c8 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__sum_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__sum_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__sum_r4 (gfc_array_r4 * retarray, gfc_array_r4 *array, index_type *pdim)
{
#include <assert.h>
#include "libgfortran.h"
-
void
__sum_r8 (gfc_array_r8 * retarray, gfc_array_r8 *array, index_type *pdim)
{
#include <assert.h>
#include <string.h>
#include "libgfortran.h"'
-include(types.m4)dnl
-define(htype_kind, regexp(file, `_\([0-9]+\)\.', `\1'))dnl
-define(htype_code,`i'rtype_name)dnl
-define(htype,get_arraytype(i,htype_kind))dnl
-define(htype_name, get_typename(i,htype_kind))dnl
+include(iparm.m4)dnl
void
-`__cshift1_'htype_kind (const gfc_array_char * ret, const gfc_array_char * array,
- const htype * h, const htype_name * pwhich)
+`__cshift1_'atype_kind (const gfc_array_char * ret, const gfc_array_char * array,
+ const atype * h, const atype_name * pwhich)
{
/* r.* indicates the return array. */
index_type rstride[GFC_MAX_DIMENSIONS - 1];
` /* h.* indicates the shift array. */'
index_type hstride[GFC_MAX_DIMENSIONS - 1];
index_type hstride0;
- const htype_name *hptr;
+ const atype_name *hptr;
index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1];
index_type len;
index_type n;
int which;
- htype_name sh;
+ atype_name sh;
if (pwhich)
which = *pwhich - 1;
#include <stdlib.h>
#include <assert.h>
#include "libgfortran.h"'
-include(types.m4)dnl
-define(rtype_code, regexp(file, `_\([ir][0-9]+\)\.', `\1'))dnl
-define(rtype_letter,substr(rtype_code, 0, 1))dnl
-define(rtype_kind, substr(rtype_code, 1))dnl
-define(rtype,get_arraytype(rtype_letter,rtype_kind))dnl
-define(rtype_name, get_typename(rtype_letter, rtype_kind))dnl
+include(iparm.m4)dnl
typedef GFC_ARRAY_DESCRIPTOR(GFC_MAX_DIMENSIONS, char) char_array;
#include <stdlib.h>
#include <assert.h>
#include "libgfortran.h"'
-include(types.m4)dnl
-define(rtype_code, regexp(file, `_\(c[0-9]+\)\.', `\1'))dnl
-define(rtype_letter,substr(rtype_code, 0, 1))dnl
-define(rtype_kind, substr(rtype_code, 1))dnl
-define(rtype,get_arraytype(rtype_letter,rtype_kind))dnl
-define(rtype_name, get_typename(rtype_letter, rtype_kind))dnl
+include(iparm.m4)dnl
typedef GFC_ARRAY_DESCRIPTOR(GFC_MAX_DIMENSIONS, char) char_array;
#include <stdlib.h>
#include <assert.h>
#include "libgfortran.h"'
-include(types.m4)dnl
-define(rtype_kind, regexp(file, `_l\([0-9]+\)\.', `\1'))dnl
-define(rtype_code,`l'rtype_kind)dnl
-define(rtype,get_arraytype(l,rtype_kind))dnl
-define(rtype_name, get_typename(l, rtype_kind))dnl
+include(iparm.m4)dnl
rtype_name
`__dot_product_'rtype_code (gfc_array_l4 * a, gfc_array_l4 * b)
#include <assert.h>
#include <string.h>
#include "libgfortran.h"'
-include(types.m4)dnl
-define(htype_kind, regexp(file, `_\([0-9]+\)\.', `\1'))dnl
-define(htype_code,`i'rtype_name)dnl
-define(htype,get_arraytype(i,htype_kind))dnl
-define(htype_name, get_typename(i,htype_kind))dnl
+include(iparm.m4)dnl
static const char zeros[16] =
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
void
-`__eoshift1_'htype_kind (const gfc_array_char * ret, const gfc_array_char * array,
- const htype * h, const char * pbound, const htype_name * pwhich)
+`__eoshift1_'atype_kind (const gfc_array_char * ret, const gfc_array_char * array,
+ const atype * h, const char * pbound, const atype_name * pwhich)
{
/* r.* indicates the return array. */
index_type rstride[GFC_MAX_DIMENSIONS - 1];
` /* h.* indicates the shift array. */'
index_type hstride[GFC_MAX_DIMENSIONS - 1];
index_type hstride0;
- const htype_name *hptr;
+ const atype_name *hptr;
index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1];
index_type len;
index_type n;
int which;
- htype_name sh;
- htype_name delta;
+ atype_name sh;
+ atype_name delta;
if (pwhich)
which = *pwhich - 1;
#include <assert.h>
#include <string.h>
#include "libgfortran.h"'
-include(types.m4)dnl
-define(htype_kind, regexp(file, `_\([0-9]+\)\.', `\1'))dnl
-define(htype_code,`i'rtype_name)dnl
-define(htype,get_arraytype(i,htype_kind))dnl
-define(htype_name, get_typename(i,htype_kind))dnl
+include(iparm.m4)dnl
static const char zeros[16] =
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
void
-`__eoshift3_'htype_kind (gfc_array_char * ret, gfc_array_char * array,
- htype * h, const gfc_array_char * bound, htype_name * pwhich)
+`__eoshift3_'atype_kind (gfc_array_char * ret, gfc_array_char * array,
+ atype * h, const gfc_array_char * bound, atype_name * pwhich)
{
/* r.* indicates the return array. */
index_type rstride[GFC_MAX_DIMENSIONS - 1];
` /* h.* indicates the shift array. */'
index_type hstride[GFC_MAX_DIMENSIONS - 1];
index_type hstride0;
- const htype_name *hptr;
+ const atype_name *hptr;
/* b.* indicates the bound array. */
index_type bstride[GFC_MAX_DIMENSIONS - 1];
index_type bstride0;
index_type len;
index_type n;
int which;
- htype_name sh;
- htype_name delta;
+ atype_name sh;
+ atype_name delta;
if (pwhich)
which = *pwhich - 1;
dnl Distributed under the GNU LGPL. See COPYING for details.
define(START_FOREACH_FUNCTION,
`void
-`__'name`'rtype_qual`_'type_code (rtype * retarray, atype *array)
+`__'name`'rtype_qual`_'atype_code (rtype * retarray, atype *array)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride;
- type_name *base;
+ atype_name *base;
rtype_name *dest;
index_type rank;
index_type n;
}')dnl
define(START_MASKED_FOREACH_FUNCTION,
`void
-`__m'name`'rtype_qual`_'type_code (rtype * retarray, atype *array, gfc_array_l4 * mask)
+`__m'name`'rtype_qual`_'atype_code (rtype * retarray, atype *array, gfc_array_l4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type mstride[GFC_MAX_DIMENSIONS];
index_type dstride;
rtype_name *dest;
- type_name *base;
+ atype_name *base;
GFC_LOGICAL_4 *mbase;
int rank;
index_type n;
dnl The variable n is declared as index_type and may be used.
dnl Other variable declarations may be placed at the start of the code,
dnl The types of the array parameter and the return value are
-dnl type_name and rtype_name respectively.
+dnl atype_name and rtype_name respectively.
dnl Execution should be allowed to continue to the end of the block.
dnl You should not return or break from the inner loop of the implementation.
dnl Care should also be taken to avoid using the names defined in iparm.m4
define(START_ARRAY_FUNCTION,
`void
-`__'name`'rtype_qual`_'type_code (rtype * retarray, atype *array, index_type *pdim)
+`__'name`'rtype_qual`_'atype_code (rtype * retarray, atype *array, index_type *pdim)
{
index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1];
index_type sstride[GFC_MAX_DIMENSIONS - 1];
index_type dstride[GFC_MAX_DIMENSIONS - 1];
- type_name *base;
+ atype_name *base;
rtype_name *dest;
index_type rank;
index_type n;
while (base)
{
- type_name *src;
+ atype_name *src;
rtype_name result;
src = base;
{
}')dnl
define(START_MASKED_ARRAY_FUNCTION,
`void
-`__m'name`'rtype_qual`_'type_code (rtype * retarray, atype * array, index_type *pdim, gfc_array_l4 * mask)
+`__m'name`'rtype_qual`_'atype_code (rtype * retarray, atype * array, index_type *pdim, gfc_array_l4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1];
index_type dstride[GFC_MAX_DIMENSIONS - 1];
index_type mstride[GFC_MAX_DIMENSIONS - 1];
rtype_name *dest;
- type_name *base;
+ atype_name *base;
GFC_LOGICAL_4 *mbase;
int rank;
int dim;
while (base)
{
- type_name *src;
+ atype_name *src;
GFC_LOGICAL_4 *msrc;
rtype_name result;
src = base;
#include <stdlib.h>
#include <assert.h>
#include "libgfortran.h"'
-include(types.m4)dnl
-define(rtype_kind, regexp(file, `_.\([0-9]+\)\.', `\1'))dnl
-define(rtype_letter, regexp(file, `_\(.\)[0-9]+\.', `\1'))dnl
-define(rtype_code,rtype_letter`'rtype_name)dnl
-define(rtype,get_arraytype(rtype_letter,rtype_kind))dnl
-define(rtype_name, get_typename(rtype_letter, rtype_kind))dnl
-
+include(iparm.m4)dnl
/* Allocates a block of memory with internal_malloc if the array needs
repacking. */
#include <assert.h>
#include <string.h>
#include "libgfortran.h"'
-include(types.m4)dnl
-define(rtype_kind, regexp(file, `_.\([0-9]+\)\.', `\1'))dnl
-define(rtype_letter, regexp(file, `_\(.\)[0-9]+\.', `\1'))dnl
-define(rtype_code,rtype_letter`'rtype_name)dnl
-define(rtype,get_arraytype(rtype_letter,rtype_kind))dnl
-define(rtype_name, get_typename(rtype_letter, rtype_kind))dnl
+include(iparm.m4)dnl
dnl Only the kind (ie size) is used to name the function.
void
dnl This file is part of the GNU Fortran 95 Runtime Library (libgfortran)
dnl Distributed under the GNU LGPL. See COPYING for details.
dnl M4 macro file to get type names from filenames
-include(`types.m4')
-define(type_letter, regexp(file, `_\([irlc]\)[^_]*$', \1))dnl
-define(type_kind, regexp(file, `_[irlc]\([0-9]*\)[^_]*$', \1))dnl
-define(rtype_kind, regexp(file, `_\([0-9]*\)_[irlc][0-9]*[^_]*$', `\1'))dnl
-define(type_code, type_letter`'type_kind)dnl
-define(type_name, get_typename(type_letter,type_kind))dnl
-define(atype, get_arraytype(type_letter,type_kind))dnl
-ifelse(rtype_kind,,
-`define(rtype_letter,type_letter)dnl
-define(rtype_name, type_name)dnl
-define(rtype_code, type_code)dnl
-define(rtype, atype)dnl
+define(get_typename2, `GFC_$1_$2')dnl
+define(get_typename, `get_typename2(ifelse($1,i,INTEGER,ifelse($1,r,REAL,ifelse($1,l,LOGICAL,ifelse($1,c,COMPLEX,unknown)))),`$2')')dnl
+define(get_arraytype, `gfc_array_$1$2')dnl
+define(define_type, `dnl
+ifelse(regexp($2,`^[0-9]'),-1,`dnl
+define($1_letter, substr($2, 0, 1))dnl
+define($1_kind, substr($2, 1))dnl
+',`dnl
+define($1_letter,i)dnl
+define($1_kind,$2)dnl
+')dnl
+define($1_code,$1_letter`'$1_kind)dnl
+define($1,get_arraytype($1_letter,$1_kind))dnl
+define($1_name, get_typename($1_letter, $1_kind))')dnl
+dnl
+define_type(atype, regexp(file, `_\(.?[0-9]*\)\.c$', `\1'))dnl
+define(rtype_tmp, regexp(file, `_\(.?[0-9]*\)_[^_]*\.c$', `\1'))dnl
+ifelse(rtype_tmp,,`dnl
+define_type(rtype, atype_code)dnl
define(rtype_qual,`')dnl
-',
-`define(rtype_letter,i)dnl
-define(rtype_name, get_typename(rtype_letter,rtype_kind))dnl
-define(rtype, get_arraytype(rtype_letter,rtype_kind))dnl
+',`dnl
+define_type(rtype, rtype_tmp)dnl
define(rtype_qual,`_'rtype_kind)dnl
')dnl
-define(type_max, type_name`_HUGE')dnl
-define(type_min, `-'type_max)dnl
+define(atype_max, atype_name`_HUGE')dnl
+define(atype_min, `-'atype_max)dnl
+define(name, regexp(regexp(file, `[^/]*$', `\&'), `^\([^_]*\)_', `\1'))dnl
#include <stdlib.h>
#include <assert.h>
#include "libgfortran.h"'
-include(types.m4)dnl
-define(rtype_code, regexp(file, `_\([irc][0-9]+\)\.', `\1'))dnl
-define(rtype_letter,substr(rtype_code, 0, 1))dnl
-define(rtype_kind, substr(rtype_code, 1))dnl
-define(rtype,get_arraytype(rtype_letter,rtype_kind))dnl
-define(rtype_name, get_typename(rtype_letter, rtype_kind))dnl
+include(iparm.m4)dnl
/* Dimensions: retarray(x,y) a(x, count) b(count,y).
Either a or b can be rank 1. In this case x or y is 1. */
#include <stdlib.h>
#include <assert.h>
#include "libgfortran.h"'
-include(types.m4)dnl
-define(rtype_kind, regexp(file, `_l\([0-9]+\)\.', `\1'))dnl
-define(rtype_code,`l'rtype_kind)dnl
-define(rtype,get_arraytype(l,rtype_kind))dnl
-define(rtype_name, get_typename(l, rtype_kind))dnl
+include(iparm.m4)dnl
/* Dimensions: retarray(x,y) a(x, count) b(count,y).
Either a or b can be rank 1. In this case x or y is 1. */
include(iforeach.m4)dnl
FOREACH_FUNCTION(
-` type_name maxval;
+` atype_name maxval;
- maxval = type_min;'
+ maxval = atype_min;'
,
` if (*base > maxval)
{
}')
MASKED_FOREACH_FUNCTION(
-` type_name maxval;
+` atype_name maxval;
- maxval = type_min;'
+ maxval = atype_min;'
,
` if (*mbase && *base > maxval)
{
include(iparm.m4)dnl
include(ifunction.m4)dnl
ARRAY_FUNCTION(0,
-` type_name maxval;
- maxval = type_min;
+` atype_name maxval;
+ maxval = atype_min;
result = 1;',
` if (*src > maxval)
{
}')
MASKED_ARRAY_FUNCTION(0,
-` type_name maxval;
- maxval = type_min;
+` atype_name maxval;
+ maxval = atype_min;
result = 1;',
` if (*msrc && *src > maxval)
{
include(iparm.m4)dnl
include(ifunction.m4)dnl
-ARRAY_FUNCTION(type_min,
-` result = type_min;',
+ARRAY_FUNCTION(atype_min,
+` result = atype_min;',
` if (*src > result)
result = *src;')
-MASKED_ARRAY_FUNCTION(type_min,
-` result = type_min;',
+MASKED_ARRAY_FUNCTION(atype_min,
+` result = atype_min;',
` if (*msrc && *src > result)
result = *src;')
include(iforeach.m4)dnl
FOREACH_FUNCTION(
-` type_name minval;
+` atype_name minval;
- minval = type_max;'
+ minval = atype_max;'
,
` if (*base < minval)
{
}')
MASKED_FOREACH_FUNCTION(
-` type_name minval;
+` atype_name minval;
- minval = type_max;'
+ minval = atype_max;'
,
` if (*mbase && *base < minval)
{
include(iparm.m4)dnl
include(ifunction.m4)dnl
ARRAY_FUNCTION(0,
-` type_name minval;
- minval = type_max;
+` atype_name minval;
+ minval = atype_max;
result = 1;',
` if (*src < minval)
{
}')
MASKED_ARRAY_FUNCTION(0,
-` type_name minval;
- minval = type_max;
+` atype_name minval;
+ minval = atype_max;
result = 1;',
` if (*msrc && *src < minval)
{
include(iparm.m4)dnl
include(ifunction.m4)dnl
-ARRAY_FUNCTION(type_max,
-` result = type_max;',
+ARRAY_FUNCTION(atype_max,
+` result = atype_max;',
` if (*src < result)
result = *src;')
-MASKED_ARRAY_FUNCTION(type_max,
-` result = type_max;',
+MASKED_ARRAY_FUNCTION(atype_max,
+` result = atype_max;',
` if (*msrc && *src < result)
result = *src;')
#include <stdlib.h>
#include <assert.h>
#include "libgfortran.h"'
-include(types.m4)dnl
-define(rtype_kind, regexp(file, `_.\([0-9]+\)\.', `\1'))dnl
-define(rtype_letter, regexp(file, `_\(.\)[0-9]+\.', `\1'))dnl
-define(rtype_code,rtype_letter`'rtype_name)dnl
-define(rtype,get_arraytype(rtype_letter,rtype_kind))dnl
-define(rtype_name, get_typename(rtype_letter, rtype_kind))dnl
+include(iparm.m4)dnl
typedef GFC_ARRAY_DESCRIPTOR(1, index_type) shape_type;
#include <stdlib.h>
#include <assert.h>
#include "libgfortran.h"'
-include(types.m4)dnl
-define(rtype_kind, regexp(file, `_i\([0-9]+\)\.', `\1'))dnl
-define(rtype_code,`i'rtype_name)dnl
-define(rtype,get_arraytype(i,rtype_kind))dnl
-define(rtype_name, get_typename(i, rtype_kind))dnl
+include(iparm.m4)dnl
void
`__shape_'rtype_kind (rtype * ret, const rtype * array)
include(head.m4)
-define(type_code,regexp(file,`_\([ircl][0-9]+\).f90',`\1'))dnl
-define(type_letter,substr(type_code, 0, 1))dnl
-define(type_kind,substr(type_code, 1))dnl
+define(atype_code,regexp(file,`_\([ircl][0-9]+\).f90',`\1'))dnl
+define(atype_letter,substr(atype_code, 0, 1))dnl
+define(atype_kind,substr(atype_code, 1))dnl
define(get_typename2, `$1 (kind=$2)')dnl
define(get_typename, `get_typename2(ifelse($1,i,integer,ifelse($1,r,real,ifelse($1,l,logical,ifelse($1,c,complex,unknown)))),`$2')')dnl
-define(type_name, get_typename(type_letter,type_kind))dnl
+define(atype_name, get_typename(atype_letter,atype_kind))dnl
define(name, regexp(regexp(file, `[^/]*$', `\&'), `^_\([^_]*\)_', `\1'))dnl
-define(function_name,`specific__'name`_'type_code)dnl
+define(function_name,`specific__'name`_'atype_code)dnl
elemental function function_name (parm)
- type_name, intent (in) :: parm
- type_name :: function_name
+ atype_name, intent (in) :: parm
+ atype_name :: function_name
function_name = name (parm)
end function
include(head.m4)
-define(type_code,regexp(file,`_\([ircl][0-9]+\).f90',`\1'))dnl
-define(type_letter,substr(type_code, 0, 1))dnl
-define(type_kind,substr(type_code, 1))dnl
+define(atype_code,regexp(file,`_\([ircl][0-9]+\).f90',`\1'))dnl
+define(atype_letter,substr(atype_code, 0, 1))dnl
+define(atype_kind,substr(atype_code, 1))dnl
define(get_typename2, `$1 (kind=$2)')dnl
define(get_typename, `get_typename2(ifelse($1,i,integer,ifelse($1,r,real,ifelse($1,l,logical,ifelse($1,c,complex,unknown)))),`$2')')dnl
-define(type_name, get_typename(type_letter,type_kind))dnl
+define(atype_name, get_typename(atype_letter,atype_kind))dnl
define(name, regexp(regexp(file, `[^/]*$', `\&'), `^_\([^_]*\)_', `\1'))dnl
-define(function_name,`specific__'name`_'type_code)dnl
+define(function_name,`specific__'name`_'atype_code)dnl
elemental function function_name (p1, p2)
- type_name, intent (in) :: p1, p2
- type_name :: function_name
+ atype_name, intent (in) :: p1, p2
+ atype_name :: function_name
function_name = name (p1, p2)
end function
#include "config.h"
#include <assert.h>
#include "libgfortran.h"'
-include(types.m4)dnl
-define(rtype_kind, regexp(file, `_.\([0-9]+\)\.', `\1'))dnl
-define(rtype_letter, regexp(file, `_\(.\)[0-9]+\.', `\1'))dnl
-define(rtype_code,rtype_letter`'rtype_name)dnl
-define(rtype,get_arraytype(rtype_letter,rtype_kind))dnl
-define(rtype_name, get_typename(rtype_letter, rtype_kind))dnl
+include(iparm.m4)dnl
void
`__transpose_'rtype_kind (rtype * ret, rtype * source)