summaryrefslogtreecommitdiff
path: root/lang/pgcc
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2002-03-14 14:54:48 +0000
committerwiz <wiz@pkgsrc.org>2002-03-14 14:54:48 +0000
commit36b7c5af00e8f78d987a6c8856219c938ad2bd97 (patch)
tree9526c9c995df2a938bc9c107e051d88b14f0cdb6 /lang/pgcc
parent83f7b565796aa4bdad69c5586e1a9548d1837c4e (diff)
downloadpkgsrc-36b7c5af00e8f78d987a6c8856219c938ad2bd97.tar.gz
Pull over gcc package files from before the 2.95.3 update.
Compiles and installs/deinstalls cleanly on 1.5ZA/i386, otherwise untested, but that's better than a BROKEN package. Some cleanup.
Diffstat (limited to 'lang/pgcc')
-rw-r--r--lang/pgcc/INSTALL37
-rw-r--r--lang/pgcc/MESSAGE8
-rw-r--r--lang/pgcc/MESSAGE.SunOS7
-rw-r--r--lang/pgcc/Makefile26
-rw-r--r--lang/pgcc/PLIST320
-rw-r--r--lang/pgcc/PLIST.NetBSD-sparc5
-rw-r--r--lang/pgcc/PLIST.SunOS320
-rw-r--r--lang/pgcc/distinfo3
-rw-r--r--lang/pgcc/files/gcc.mk9
-rw-r--r--lang/pgcc/files/netbsd.ml8
-rw-r--r--lang/pgcc/files/netbsdelf.ml10
-rw-r--r--lang/pgcc/patches/patch-aa10935
-rw-r--r--lang/pgcc/patches/patch-ab169
-rw-r--r--lang/pgcc/patches/patch-ac28
-rw-r--r--lang/pgcc/patches/patch-ad74
-rw-r--r--lang/pgcc/patches/patch-ae50
-rw-r--r--lang/pgcc/patches/patch-af177
-rw-r--r--lang/pgcc/patches/patch-ag16
-rw-r--r--lang/pgcc/patches/patch-ah34
-rw-r--r--lang/pgcc/patches/patch-ai9
-rw-r--r--lang/pgcc/patches/patch-aj9
-rw-r--r--lang/pgcc/patches/patch-ak49
-rw-r--r--lang/pgcc/patches/patch-al113
-rw-r--r--lang/pgcc/patches/patch-am37
-rw-r--r--lang/pgcc/patches/patch-an11
-rw-r--r--lang/pgcc/patches/patch-ao18
-rw-r--r--lang/pgcc/patches/patch-ap12
-rw-r--r--lang/pgcc/patches/patch-aq64
-rw-r--r--lang/pgcc/patches/patch-ar832
-rw-r--r--lang/pgcc/patches/patch-as20
-rw-r--r--lang/pgcc/patches/patch-at43
-rw-r--r--lang/pgcc/patches/patch-au63
-rw-r--r--lang/pgcc/patches/patch-av14
-rw-r--r--lang/pgcc/patches/patch-aw13
-rw-r--r--lang/pgcc/patches/patch-ax11
-rw-r--r--lang/pgcc/patches/patch-ay11
-rw-r--r--lang/pgcc/patches/patch-az13
-rw-r--r--lang/pgcc/patches/patch-ba18
38 files changed, 13573 insertions, 23 deletions
diff --git a/lang/pgcc/INSTALL b/lang/pgcc/INSTALL
new file mode 100644
index 00000000000..b17dfc6eefe
--- /dev/null
+++ b/lang/pgcc/INSTALL
@@ -0,0 +1,37 @@
+#!/bin/sh
+#
+# Prior versions of the "gcc" package would install a corrupted
+# info entry for "chill", which would foil subsequent installations.
+# This script attempts to clean up that entry.
+
+if [ $# -ne 2 -o ! -d "${PKG_PREFIX}" -o ! -w "${PKG_PREFIX}/info/dir" ]
+# Script was called improperly.
+then
+ exit 1
+fi
+
+if [ "$2" != "PRE-INSTALL" ]
+# No problem
+then
+ exit 0
+fi
+
+if [ ! -x /bin/ed ]
+# Who knows? Give up.
+then
+ exit 0
+fi
+
+echo Fixing up infodir from previous installation\.\.\.
+/bin/ed "${PKG_PREFIX}/info/dir" 2> /dev/null << END
+/^* Chill/d
+w
+q
+END
+if [ $? -eq 0 ]
+then
+ \.\.\.fixed\.
+ exit 0
+fi
+echo \.\.\.nothing to fix\.
+exit 0
diff --git a/lang/pgcc/MESSAGE b/lang/pgcc/MESSAGE
new file mode 100644
index 00000000000..bc22d468360
--- /dev/null
+++ b/lang/pgcc/MESSAGE
@@ -0,0 +1,8 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2002/03/14 14:54:48 wiz Exp $
+
+To use ${PKGNAME} invoke "${MAKE}" like this:
+
+${MAKE} MAKECONF=${PREFIX}/etc/${PKGNAME}.mk [...]
+
+===========================================================================
diff --git a/lang/pgcc/MESSAGE.SunOS b/lang/pgcc/MESSAGE.SunOS
new file mode 100644
index 00000000000..c12dd14926d
--- /dev/null
+++ b/lang/pgcc/MESSAGE.SunOS
@@ -0,0 +1,7 @@
+===========================================================================
+$NetBSD: MESSAGE.SunOS,v 1.1 2002/03/14 14:54:48 wiz Exp $
+
+To avoid conflicts with e.g. Sun WorkShop the GNU C compiler can only be
+invoked as "gcc" but not as "cc".
+
+===========================================================================
diff --git a/lang/pgcc/Makefile b/lang/pgcc/Makefile
index 677a267daec..46b838881eb 100644
--- a/lang/pgcc/Makefile
+++ b/lang/pgcc/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.17 2002/02/18 15:14:27 seb Exp $
+# $NetBSD: Makefile,v 1.18 2002/03/14 14:54:48 wiz Exp $
DISTNAME= gcc-2.95.2
PKGNAME= pgcc-2.95.2.1
@@ -15,30 +15,14 @@ COMMENT= Pentium GNU Compiler Collection
BUILD_DEPENDS+= bison-[0-9]*:../../devel/bison
-BROKEN= "Has not been updated to gcc-2.95.3 yet."
-
# 'Pentium GCC' is optimized for the Intel Pentium processor, but should
# work on all platforms on which GCC works.
ONLY_FOR_PLATFORM= NetBSD-*-arm32 NetBSD-*-i386 NetBSD-*-m68k \
NetBSD-*-sparc SunOS-*-*
-.include "../../mk/bsd.prefs.mk"
-
-FILESDIR= ${.CURDIR}/../../lang/gcc/files
-PATCHDIR= ${.CURDIR}/../../lang/gcc/patches
-PKGDIR= ${.CURDIR}/../../lang/gcc
-
-DESCR_SRC= ${.CURDIR}/DESCR
-
-.if (${OPSYS} == "NetBSD") && (${OBJECT_FMT} == "ELF")
-MACHINE_GCC_PLATFORM= ${MACHINE_GNU_PLATFORM}elf
-.else
-MACHINE_GCC_PLATFORM= ${MACHINE_GNU_PLATFORM}
-.endif
-
USE_GMAKE= YES
HAS_CONFIGURE= YES
-CONFIGURE_ARGS= --host=${MACHINE_GCC_PLATFORM} \
+CONFIGURE_ARGS= --host=${MACHINE_GNU_PLATFORM} \
--prefix=${GCC_PREFIX} \
--enable-shared
CONFIGURE_SCRIPT= ${SRCDIR}/configure
@@ -51,8 +35,7 @@ INFO_FILES= chill.info cpp.info g77.info gcc.info
PGCC_VERSION= ${PKGNAME:C/.*-//}
GCC_VERSION= ${PKGNAME}
MESSAGE_SUBST+= MAKE=${MAKE}
-PLIST_SUBST+= GCC_VERSION=${GCC_VERSION} \
- MACHINE_GCC_PLATFORM=${MACHINE_GCC_PLATFORM}
+PLIST_SUBST+= GCC_VERSION=${GCC_VERSION}
SRCDIR= ${WRKDIR}/${DISTNAME}
WRKSRC= ${WRKDIR}/objdir
@@ -95,9 +78,8 @@ post-build:
.if (${OPSYS} != SunOS)
post-install:
- ${RM} -f ${GCC_PREFIX}/lib/gcc-lib/${MACHINE_GCC_PLATFORM}/${GCC_VERSION}/include/curses.h ${PREFIX}/${PKGNAME}/bin/cc
+ ${RM} -f ${GCC_PREFIX}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/curses.h ${PREFIX}/${PKGNAME}/bin/cc
${LN} -s gcc ${PREFIX}/${PKGNAME}/bin/cc
- ${RM} -f ${GCC_PREFIX}/lib/gcc-lib/${MACHINE_GCC_PLATFORM}/${GCC_VERSION}/include/curses.h
${INSTALL_DATA} ${WRKDIR}/gcc.mk ${PREFIX}/etc/${PKGNAME}.mk
.endif
diff --git a/lang/pgcc/PLIST b/lang/pgcc/PLIST
new file mode 100644
index 00000000000..da822116ae9
--- /dev/null
+++ b/lang/pgcc/PLIST
@@ -0,0 +1,320 @@
+@comment $NetBSD: PLIST,v 1.1 2002/03/14 14:54:48 wiz Exp $
+${PKGNAME}/${MACHINE_GNU_PLATFORM}/include/_G_config.h
+${PKGNAME}/bin/${MACHINE_GNU_PLATFORM}-gcc
+${PKGNAME}/bin/c++
+${PKGNAME}/bin/c++filt
+${PKGNAME}/bin/cc
+${PKGNAME}/bin/chill
+${PKGNAME}/bin/cpp
+${PKGNAME}/bin/g++
+${PKGNAME}/bin/g77
+${PKGNAME}/bin/gcc
+${PKGNAME}/bin/gcj
+${PKGNAME}/bin/gcjh
+${PKGNAME}/bin/gcov
+${PKGNAME}/bin/jcf-dump
+${PKGNAME}/bin/jv-scan
+${PKGNAME}/bin/protoize
+${PKGNAME}/bin/unprotoize
+${PKGNAME}/include/g++-3/PlotFile.h
+${PKGNAME}/include/g++-3/SFile.h
+${PKGNAME}/include/g++-3/algo.h
+${PKGNAME}/include/g++-3/algobase.h
+${PKGNAME}/include/g++-3/algorithm
+${PKGNAME}/include/g++-3/alloc.h
+${PKGNAME}/include/g++-3/bitset
+${PKGNAME}/include/g++-3/builtinbuf.h
+${PKGNAME}/include/g++-3/bvector.h
+${PKGNAME}/include/g++-3/cassert
+${PKGNAME}/include/g++-3/cctype
+${PKGNAME}/include/g++-3/cerrno
+${PKGNAME}/include/g++-3/cfloat
+${PKGNAME}/include/g++-3/ciso646
+${PKGNAME}/include/g++-3/climits
+${PKGNAME}/include/g++-3/clocale
+${PKGNAME}/include/g++-3/cmath
+${PKGNAME}/include/g++-3/complex
+${PKGNAME}/include/g++-3/complex.h
+${PKGNAME}/include/g++-3/csetjmp
+${PKGNAME}/include/g++-3/csignal
+${PKGNAME}/include/g++-3/cstdarg
+${PKGNAME}/include/g++-3/cstddef
+${PKGNAME}/include/g++-3/cstdio
+${PKGNAME}/include/g++-3/cstdlib
+${PKGNAME}/include/g++-3/cstring
+${PKGNAME}/include/g++-3/ctime
+${PKGNAME}/include/g++-3/cwchar
+${PKGNAME}/include/g++-3/cwctype
+${PKGNAME}/include/g++-3/defalloc.h
+${PKGNAME}/include/g++-3/deque
+${PKGNAME}/include/g++-3/deque.h
+${PKGNAME}/include/g++-3/editbuf.h
+${PKGNAME}/include/g++-3/floatio.h
+${PKGNAME}/include/g++-3/fstream
+${PKGNAME}/include/g++-3/fstream.h
+${PKGNAME}/include/g++-3/function.h
+${PKGNAME}/include/g++-3/functional
+${PKGNAME}/include/g++-3/hash_map
+${PKGNAME}/include/g++-3/hash_map.h
+${PKGNAME}/include/g++-3/hash_set
+${PKGNAME}/include/g++-3/hash_set.h
+${PKGNAME}/include/g++-3/hashtable.h
+${PKGNAME}/include/g++-3/heap.h
+${PKGNAME}/include/g++-3/indstream.h
+${PKGNAME}/include/g++-3/iolibio.h
+${PKGNAME}/include/g++-3/iomanip
+${PKGNAME}/include/g++-3/iomanip.h
+${PKGNAME}/include/g++-3/iosfwd
+${PKGNAME}/include/g++-3/iostdio.h
+${PKGNAME}/include/g++-3/iostream
+${PKGNAME}/include/g++-3/iostream.h
+${PKGNAME}/include/g++-3/iostreamP.h
+${PKGNAME}/include/g++-3/istream.h
+${PKGNAME}/include/g++-3/iterator
+${PKGNAME}/include/g++-3/iterator.h
+${PKGNAME}/include/g++-3/libio.h
+${PKGNAME}/include/g++-3/libioP.h
+${PKGNAME}/include/g++-3/list
+${PKGNAME}/include/g++-3/list.h
+${PKGNAME}/include/g++-3/map
+${PKGNAME}/include/g++-3/map.h
+${PKGNAME}/include/g++-3/memory
+${PKGNAME}/include/g++-3/multimap.h
+${PKGNAME}/include/g++-3/multiset.h
+${PKGNAME}/include/g++-3/numeric
+${PKGNAME}/include/g++-3/ostream.h
+${PKGNAME}/include/g++-3/pair.h
+${PKGNAME}/include/g++-3/parsestream.h
+${PKGNAME}/include/g++-3/pfstream.h
+${PKGNAME}/include/g++-3/procbuf.h
+${PKGNAME}/include/g++-3/pthread_alloc
+${PKGNAME}/include/g++-3/pthread_alloc.h
+${PKGNAME}/include/g++-3/queue
+${PKGNAME}/include/g++-3/rope
+${PKGNAME}/include/g++-3/rope.h
+${PKGNAME}/include/g++-3/ropeimpl.h
+${PKGNAME}/include/g++-3/set
+${PKGNAME}/include/g++-3/set.h
+${PKGNAME}/include/g++-3/slist
+${PKGNAME}/include/g++-3/slist.h
+${PKGNAME}/include/g++-3/stack
+${PKGNAME}/include/g++-3/stack.h
+${PKGNAME}/include/g++-3/std/bastring.cc
+${PKGNAME}/include/g++-3/std/bastring.h
+${PKGNAME}/include/g++-3/std/complext.cc
+${PKGNAME}/include/g++-3/std/complext.h
+${PKGNAME}/include/g++-3/std/dcomplex.h
+${PKGNAME}/include/g++-3/std/fcomplex.h
+${PKGNAME}/include/g++-3/std/gslice.h
+${PKGNAME}/include/g++-3/std/gslice_array.h
+${PKGNAME}/include/g++-3/std/indirect_array.h
+${PKGNAME}/include/g++-3/std/ldcomplex.h
+${PKGNAME}/include/g++-3/std/mask_array.h
+${PKGNAME}/include/g++-3/std/slice.h
+${PKGNAME}/include/g++-3/std/slice_array.h
+${PKGNAME}/include/g++-3/std/std_valarray.h
+${PKGNAME}/include/g++-3/std/straits.h
+${PKGNAME}/include/g++-3/std/valarray_array.h
+${PKGNAME}/include/g++-3/std/valarray_array.tcc
+${PKGNAME}/include/g++-3/std/valarray_meta.h
+${PKGNAME}/include/g++-3/stdexcept
+${PKGNAME}/include/g++-3/stdiostream.h
+${PKGNAME}/include/g++-3/stl.h
+${PKGNAME}/include/g++-3/stl_algo.h
+${PKGNAME}/include/g++-3/stl_algobase.h
+${PKGNAME}/include/g++-3/stl_alloc.h
+${PKGNAME}/include/g++-3/stl_bvector.h
+${PKGNAME}/include/g++-3/stl_config.h
+${PKGNAME}/include/g++-3/stl_construct.h
+${PKGNAME}/include/g++-3/stl_deque.h
+${PKGNAME}/include/g++-3/stl_function.h
+${PKGNAME}/include/g++-3/stl_hash_fun.h
+${PKGNAME}/include/g++-3/stl_hash_map.h
+${PKGNAME}/include/g++-3/stl_hash_set.h
+${PKGNAME}/include/g++-3/stl_hashtable.h
+${PKGNAME}/include/g++-3/stl_heap.h
+${PKGNAME}/include/g++-3/stl_iterator.h
+${PKGNAME}/include/g++-3/stl_list.h
+${PKGNAME}/include/g++-3/stl_map.h
+${PKGNAME}/include/g++-3/stl_multimap.h
+${PKGNAME}/include/g++-3/stl_multiset.h
+${PKGNAME}/include/g++-3/stl_numeric.h
+${PKGNAME}/include/g++-3/stl_pair.h
+${PKGNAME}/include/g++-3/stl_queue.h
+${PKGNAME}/include/g++-3/stl_raw_storage_iter.h
+${PKGNAME}/include/g++-3/stl_relops.h
+${PKGNAME}/include/g++-3/stl_rope.h
+${PKGNAME}/include/g++-3/stl_set.h
+${PKGNAME}/include/g++-3/stl_slist.h
+${PKGNAME}/include/g++-3/stl_stack.h
+${PKGNAME}/include/g++-3/stl_tempbuf.h
+${PKGNAME}/include/g++-3/stl_tree.h
+${PKGNAME}/include/g++-3/stl_uninitialized.h
+${PKGNAME}/include/g++-3/stl_vector.h
+${PKGNAME}/include/g++-3/stream.h
+${PKGNAME}/include/g++-3/streambuf.h
+${PKGNAME}/include/g++-3/strfile.h
+${PKGNAME}/include/g++-3/string
+${PKGNAME}/include/g++-3/strstream
+${PKGNAME}/include/g++-3/strstream.h
+${PKGNAME}/include/g++-3/tempbuf.h
+${PKGNAME}/include/g++-3/tree.h
+${PKGNAME}/include/g++-3/type_traits.h
+${PKGNAME}/include/g++-3/utility
+${PKGNAME}/include/g++-3/valarray
+${PKGNAME}/include/g++-3/vector
+${PKGNAME}/include/g++-3/vector.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/SYSCALLS.c.X
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/cc1
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/cc1chill
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/cc1obj
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/cc1plus
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/chillrt0.o
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/collect2
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/cpp
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/f771
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/README
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/exception
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/float.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/g2c.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/iso646.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/limits.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/math.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/new
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/new.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/NXConstStr.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/Object.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/Protocol.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/encoding.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/hash.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/objc-api.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/objc-list.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/objc.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/sarray.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/thr.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/typedstream.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/proto.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/stdarg.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/stdbool.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/stddef.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/syslimits.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/typeinfo
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-alpha.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-arc.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-c4x.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-clipper.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-h8300.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-i860.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-i960.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-m32r.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-m88k.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-mips.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-mn10200.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-mn10300.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-pa.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-ppc.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-pyr.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-sh.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-sparc.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-spur.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-v850.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/varargs.h
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/jc1
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/jvgenmain
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/libchill.a
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/libg2c.a
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/libgcc.a
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/libobjc.a
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/libstdc++.a
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/libstdc++.so
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/specs
+${PKGNAME}/lib/libiberty.a
+${PKGNAME}/lib/libstdc++.a.2.10
+${PKGNAME}/lib/libstdc++.so.2
+${PKGNAME}/lib/libstdc++.so.2.10
+${PKGNAME}/man/man1/cccp.1
+${PKGNAME}/man/man1/g++.1
+${PKGNAME}/man/man1/g77.1
+${PKGNAME}/man/man1/gcc.1
+etc/${PKGNAME}.mk
+@unexec ${INSTALL_INFO} --delete --info-dir=%D/info %D/info/chill.info
+@unexec ${INSTALL_INFO} --delete --info-dir=%D/info %D/info/cpp.info
+@unexec ${INSTALL_INFO} --delete --info-dir=%D/info %D/info/g77.info
+@unexec ${INSTALL_INFO} --delete --info-dir=%D/info %D/info/gcc.info
+info/chill.info
+info/cpp.info
+info/cpp.info-1
+info/cpp.info-2
+info/cpp.info-3
+info/g77.info
+info/g77.info-1
+info/g77.info-10
+info/g77.info-11
+info/g77.info-12
+info/g77.info-13
+info/g77.info-14
+info/g77.info-15
+info/g77.info-16
+info/g77.info-17
+info/g77.info-18
+info/g77.info-19
+info/g77.info-2
+info/g77.info-20
+info/g77.info-21
+info/g77.info-3
+info/g77.info-4
+info/g77.info-5
+info/g77.info-6
+info/g77.info-7
+info/g77.info-8
+info/g77.info-9
+info/gcc.info
+info/gcc.info-1
+info/gcc.info-10
+info/gcc.info-11
+info/gcc.info-12
+info/gcc.info-13
+info/gcc.info-14
+info/gcc.info-15
+info/gcc.info-16
+info/gcc.info-17
+info/gcc.info-18
+info/gcc.info-19
+info/gcc.info-2
+info/gcc.info-20
+info/gcc.info-21
+info/gcc.info-22
+info/gcc.info-23
+info/gcc.info-24
+info/gcc.info-25
+info/gcc.info-26
+info/gcc.info-27
+info/gcc.info-28
+info/gcc.info-29
+info/gcc.info-3
+info/gcc.info-30
+info/gcc.info-4
+info/gcc.info-5
+info/gcc.info-6
+info/gcc.info-7
+info/gcc.info-8
+info/gcc.info-9
+@exec ${INSTALL_INFO} --info-dir=%D/info %D/info/g77.info
+@exec ${INSTALL_INFO} --info-dir=%D/info %D/info/cpp.info
+@exec ${INSTALL_INFO} --info-dir=%D/info %D/info/chill.info
+@exec ${INSTALL_INFO} --info-dir=%D/info %D/info/gcc.info
+@dirrm ${PKGNAME}/man/man1
+@dirrm ${PKGNAME}/man
+@dirrm ${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc
+@dirrm ${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include
+@dirrm ${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}
+@dirrm ${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}
+@dirrm ${PKGNAME}/lib/gcc-lib
+@dirrm ${PKGNAME}/lib
+@dirrm ${PKGNAME}/include/g++-3/std
+@dirrm ${PKGNAME}/include/g++-3
+@dirrm ${PKGNAME}/include
+@dirrm ${PKGNAME}/bin
+@dirrm ${PKGNAME}/${MACHINE_GNU_PLATFORM}/include
+@dirrm ${PKGNAME}/${MACHINE_GNU_PLATFORM}
+@dirrm ${PKGNAME}
diff --git a/lang/pgcc/PLIST.NetBSD-sparc b/lang/pgcc/PLIST.NetBSD-sparc
new file mode 100644
index 00000000000..71d784b8c58
--- /dev/null
+++ b/lang/pgcc/PLIST.NetBSD-sparc
@@ -0,0 +1,5 @@
+@comment $NetBSD: PLIST.NetBSD-sparc,v 1.1 2002/03/14 14:54:48 wiz Exp $
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/crtbegin.o
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/crtbeginS.o
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/crtend.o
+${PKGNAME}/lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/crtendS.o
diff --git a/lang/pgcc/PLIST.SunOS b/lang/pgcc/PLIST.SunOS
new file mode 100644
index 00000000000..9183cc5862d
--- /dev/null
+++ b/lang/pgcc/PLIST.SunOS
@@ -0,0 +1,320 @@
+@comment $NetBSD: PLIST.SunOS,v 1.1 2002/03/14 14:54:48 wiz Exp $
+${MACHINE_GNU_PLATFORM}/include/_G_config.h
+${MACHINE_GNU_PLATFORM}/include/assert.h
+bin/${MACHINE_GNU_PLATFORM}-gcc
+bin/c++
+bin/c++filt
+bin/chill
+bin/cpp
+bin/g++
+bin/g77
+bin/gcc
+bin/gcj
+bin/gcjh
+bin/gcov
+bin/jcf-dump
+bin/jv-scan
+bin/protoize
+bin/unprotoize
+include/g++-3/PlotFile.h
+include/g++-3/SFile.h
+include/g++-3/algo.h
+include/g++-3/algobase.h
+include/g++-3/algorithm
+include/g++-3/alloc.h
+include/g++-3/bitset
+include/g++-3/builtinbuf.h
+include/g++-3/bvector.h
+include/g++-3/cassert
+include/g++-3/cctype
+include/g++-3/cerrno
+include/g++-3/cfloat
+include/g++-3/ciso646
+include/g++-3/climits
+include/g++-3/clocale
+include/g++-3/cmath
+include/g++-3/complex
+include/g++-3/complex.h
+include/g++-3/csetjmp
+include/g++-3/csignal
+include/g++-3/cstdarg
+include/g++-3/cstddef
+include/g++-3/cstdio
+include/g++-3/cstdlib
+include/g++-3/cstring
+include/g++-3/ctime
+include/g++-3/cwchar
+include/g++-3/cwctype
+include/g++-3/defalloc.h
+include/g++-3/deque
+include/g++-3/deque.h
+include/g++-3/editbuf.h
+include/g++-3/floatio.h
+include/g++-3/fstream
+include/g++-3/fstream.h
+include/g++-3/function.h
+include/g++-3/functional
+include/g++-3/hash_map
+include/g++-3/hash_map.h
+include/g++-3/hash_set
+include/g++-3/hash_set.h
+include/g++-3/hashtable.h
+include/g++-3/heap.h
+include/g++-3/indstream.h
+include/g++-3/iolibio.h
+include/g++-3/iomanip
+include/g++-3/iomanip.h
+include/g++-3/iosfwd
+include/g++-3/iostdio.h
+include/g++-3/iostream
+include/g++-3/iostream.h
+include/g++-3/iostreamP.h
+include/g++-3/istream.h
+include/g++-3/iterator
+include/g++-3/iterator.h
+include/g++-3/libio.h
+include/g++-3/libioP.h
+include/g++-3/list
+include/g++-3/list.h
+include/g++-3/map
+include/g++-3/map.h
+include/g++-3/memory
+include/g++-3/multimap.h
+include/g++-3/multiset.h
+include/g++-3/numeric
+include/g++-3/ostream.h
+include/g++-3/pair.h
+include/g++-3/parsestream.h
+include/g++-3/pfstream.h
+include/g++-3/procbuf.h
+include/g++-3/pthread_alloc
+include/g++-3/pthread_alloc.h
+include/g++-3/queue
+include/g++-3/rope
+include/g++-3/rope.h
+include/g++-3/ropeimpl.h
+include/g++-3/set
+include/g++-3/set.h
+include/g++-3/slist
+include/g++-3/slist.h
+include/g++-3/stack
+include/g++-3/stack.h
+include/g++-3/std/bastring.cc
+include/g++-3/std/bastring.h
+include/g++-3/std/complext.cc
+include/g++-3/std/complext.h
+include/g++-3/std/dcomplex.h
+include/g++-3/std/fcomplex.h
+include/g++-3/std/gslice.h
+include/g++-3/std/gslice_array.h
+include/g++-3/std/indirect_array.h
+include/g++-3/std/ldcomplex.h
+include/g++-3/std/mask_array.h
+include/g++-3/std/slice.h
+include/g++-3/std/slice_array.h
+include/g++-3/std/std_valarray.h
+include/g++-3/std/straits.h
+include/g++-3/std/valarray_array.h
+include/g++-3/std/valarray_array.tcc
+include/g++-3/std/valarray_meta.h
+include/g++-3/stdexcept
+include/g++-3/stdiostream.h
+include/g++-3/stl.h
+include/g++-3/stl_algo.h
+include/g++-3/stl_algobase.h
+include/g++-3/stl_alloc.h
+include/g++-3/stl_bvector.h
+include/g++-3/stl_config.h
+include/g++-3/stl_construct.h
+include/g++-3/stl_deque.h
+include/g++-3/stl_function.h
+include/g++-3/stl_hash_fun.h
+include/g++-3/stl_hash_map.h
+include/g++-3/stl_hash_set.h
+include/g++-3/stl_hashtable.h
+include/g++-3/stl_heap.h
+include/g++-3/stl_iterator.h
+include/g++-3/stl_list.h
+include/g++-3/stl_map.h
+include/g++-3/stl_multimap.h
+include/g++-3/stl_multiset.h
+include/g++-3/stl_numeric.h
+include/g++-3/stl_pair.h
+include/g++-3/stl_queue.h
+include/g++-3/stl_raw_storage_iter.h
+include/g++-3/stl_relops.h
+include/g++-3/stl_rope.h
+include/g++-3/stl_set.h
+include/g++-3/stl_slist.h
+include/g++-3/stl_stack.h
+include/g++-3/stl_tempbuf.h
+include/g++-3/stl_tree.h
+include/g++-3/stl_uninitialized.h
+include/g++-3/stl_vector.h
+include/g++-3/stream.h
+include/g++-3/streambuf.h
+include/g++-3/strfile.h
+include/g++-3/string
+include/g++-3/strstream
+include/g++-3/strstream.h
+include/g++-3/tempbuf.h
+include/g++-3/tree.h
+include/g++-3/type_traits.h
+include/g++-3/utility
+include/g++-3/valarray
+include/g++-3/vector
+include/g++-3/vector.h
+@unexec ${INSTALL_INFO} --delete --info-dir=%D/info %D/info/chill.info
+@unexec ${INSTALL_INFO} --delete --info-dir=%D/info %D/info/cpp.info
+@unexec ${INSTALL_INFO} --delete --info-dir=%D/info %D/info/g77.info
+@unexec ${INSTALL_INFO} --delete --info-dir=%D/info %D/info/gcc.info
+info/chill.info
+info/cpp.info
+info/cpp.info-1
+info/cpp.info-2
+info/cpp.info-3
+info/g77.info
+info/g77.info-1
+info/g77.info-10
+info/g77.info-11
+info/g77.info-12
+info/g77.info-13
+info/g77.info-14
+info/g77.info-15
+info/g77.info-16
+info/g77.info-17
+info/g77.info-18
+info/g77.info-19
+info/g77.info-2
+info/g77.info-20
+info/g77.info-21
+info/g77.info-3
+info/g77.info-4
+info/g77.info-5
+info/g77.info-6
+info/g77.info-7
+info/g77.info-8
+info/g77.info-9
+info/gcc.info
+info/gcc.info-1
+info/gcc.info-10
+info/gcc.info-11
+info/gcc.info-12
+info/gcc.info-13
+info/gcc.info-14
+info/gcc.info-15
+info/gcc.info-16
+info/gcc.info-17
+info/gcc.info-18
+info/gcc.info-19
+info/gcc.info-2
+info/gcc.info-20
+info/gcc.info-21
+info/gcc.info-22
+info/gcc.info-23
+info/gcc.info-24
+info/gcc.info-25
+info/gcc.info-26
+info/gcc.info-27
+info/gcc.info-28
+info/gcc.info-29
+info/gcc.info-3
+info/gcc.info-30
+info/gcc.info-4
+info/gcc.info-5
+info/gcc.info-6
+info/gcc.info-7
+info/gcc.info-8
+info/gcc.info-9
+@exec ${INSTALL_INFO} --info-dir=%D/info %D/info/g77.info
+@exec ${INSTALL_INFO} --info-dir=%D/info %D/info/cpp.info
+@exec ${INSTALL_INFO} --info-dir=%D/info %D/info/chill.info
+@exec ${INSTALL_INFO} --info-dir=%D/info %D/info/gcc.info
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/SYSCALLS.c.X
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/cc1
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/cc1chill
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/cc1obj
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/cc1plus
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/chillrt0.o
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/collect2
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/cpp
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/crt1.o
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/crtbegin.o
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/crtend.o
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/crti.o
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/crtn.o
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/f771
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/gcrt1.o
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/gmon.o
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/README
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/assert.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/curses.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/exception
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/g2c.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/iso646.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/limits.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/math.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/new
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/new.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/NXConstStr.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/Object.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/Protocol.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/encoding.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/hash.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/objc-api.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/objc-list.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/objc.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/sarray.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/thr.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc/typedstream.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/proto.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/stdarg.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/stdbool.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/stddef.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/sys/stream.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/syslimits.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/typeinfo
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-alpha.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-arc.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-c4x.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-clipper.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-h8300.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-i860.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-i960.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-m32r.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-m88k.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-mips.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-mn10200.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-mn10300.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-pa.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-ppc.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-pyr.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-sh.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-sparc.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-spur.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/va-v850.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/varargs.h
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/jc1
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/jvgenmain
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/libchill.a
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/libg2c.a
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/libgcc.a
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/libobjc.a
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/libstdc++.a
+lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/specs
+lib/libiberty.a
+lib/libstdc++.a.2.10.0
+man/man1/cccp.1
+man/man1/g++.1
+man/man1/g77.1
+man/man1/gcc.1
+@dirrm lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/sys
+@dirrm lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include/objc
+@dirrm lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}/include
+@dirrm lib/gcc-lib/${MACHINE_GNU_PLATFORM}/${GCC_VERSION}
+@dirrm lib/gcc-lib/${MACHINE_GNU_PLATFORM}
+@dirrm lib/gcc-lib
+@dirrm include/g++-3/std
+@dirrm include/g++-3
+@dirrm ${MACHINE_GNU_PLATFORM}/include
+@dirrm ${MACHINE_GNU_PLATFORM}
diff --git a/lang/pgcc/distinfo b/lang/pgcc/distinfo
index 282d3808cd7..026ba0abb6b 100644
--- a/lang/pgcc/distinfo
+++ b/lang/pgcc/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.4 2001/05/05 16:04:49 hubertf Exp $
+$NetBSD: distinfo,v 1.5 2002/03/14 14:54:49 wiz Exp $
SHA1 (gcc-2.95.2.tar.gz) = c3da103de3fa97c78ccc1b4fdc29fa25bf26a6c8
Size (gcc-2.95.2.tar.gz) = 12885815 bytes
@@ -30,3 +30,4 @@ SHA1 (patch-aw) = 6a793c8735e167dbcab1c33248438a6ac8057717
SHA1 (patch-ax) = 242d5219ba8b0debe038e186deecc980f9bf9a3f
SHA1 (patch-ay) = eaaf536efdee990fa6970b1281fed4c6f2621c26
SHA1 (patch-az) = 67d507f29492b3bc7a11551a1344aff3b8bb56fe
+SHA1 (patch-ba) = 3e0b1a3b07d6070ec353eab8963ba785a9d11a85
diff --git a/lang/pgcc/files/gcc.mk b/lang/pgcc/files/gcc.mk
new file mode 100644
index 00000000000..04a0320fb5d
--- /dev/null
+++ b/lang/pgcc/files/gcc.mk
@@ -0,0 +1,9 @@
+# make configuration file for @@PKGNAME@@
+
+CC= @@PREFIX@@/@@PKGNAME@@/bin/cc
+CPP= @@PREFIX@@/@@PKGNAME@@/bin/cpp
+CXX= @@PREFIX@@/@@PKGNAME@@/bin/c++
+
+.if exists(/etc/mk.conf)
+.include "/etc/mk.conf"
+.endif
diff --git a/lang/pgcc/files/netbsd.ml b/lang/pgcc/files/netbsd.ml
new file mode 100644
index 00000000000..5ff8e1c7511
--- /dev/null
+++ b/lang/pgcc/files/netbsd.ml
@@ -0,0 +1,8 @@
+# a.out with shared libm, so we can link it into the shared libstdc++.
+
+ARLIB = libstdc++.a.`echo $(VERSION) | sed 's/\([0-9]*[.][0-9]*\).*/\1/'`
+SHLIB = libstdc++.so.`echo $(VERSION) | sed 's/\([0-9]*[.][0-9]*\).*/\1/'`
+
+LIBS = $(ARLIB) $(ARLINK) $(SHLIB)
+SHDEPS = -lm
+DEPLIBS = ../$(SHLIB)
diff --git a/lang/pgcc/files/netbsdelf.ml b/lang/pgcc/files/netbsdelf.ml
new file mode 100644
index 00000000000..c6260aca247
--- /dev/null
+++ b/lang/pgcc/files/netbsdelf.ml
@@ -0,0 +1,10 @@
+# ELF with shared libm, so we can link it into the shared libstdc++.
+
+ARLIB = libstdc++.a.`echo $(VERSION) | sed 's/\([0-9]*[.][0-9]*\).*/\1/'`
+SHLIB = libstdc++.so.`echo $(VERSION) | sed 's/\([0-9]*[.][0-9]*\).*/\1/'`
+MSHLINK = libstdc++.so.`echo $(VERSION) | sed 's/\([0-9]*\).*/\1/'`
+
+LIBS = $(ARLIB) $(ARLINK) $(SHLIB) $(SHLINK) mshlink
+SHFLAGS = -Wl,-soname,$(MSHLINK)
+SHDEPS = -lm
+DEPLIBS = ../$(SHLIB)
diff --git a/lang/pgcc/patches/patch-aa b/lang/pgcc/patches/patch-aa
new file mode 100644
index 00000000000..87fbea0d154
--- /dev/null
+++ b/lang/pgcc/patches/patch-aa
@@ -0,0 +1,10935 @@
+$NetBSD: patch-aa,v 1.1 2002/03/14 14:54:50 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/f/intdoc.texi.orig Wed May 12 22:56:21 1999
++++ ../gcc-2.95.2/gcc/f/intdoc.texi Sat Sep 16 00:17:42 2000
+@@ -1,10930 +0,0 @@
+-@c This file is automatically derived from intdoc.c, intdoc.in,
+-@c ansify.c, intrin.def, and intrin.h. Edit those files instead.
+-@menu
+-@ifset familyF2U
+-* Abort Intrinsic:: Abort the program.
+-@end ifset
+-@ifset familyF77
+-* Abs Intrinsic:: Absolute value.
+-@end ifset
+-@ifset familyF2U
+-* Access Intrinsic:: Check file accessibility.
+-@end ifset
+-@ifset familyASC
+-* AChar Intrinsic:: ASCII character from code.
+-@end ifset
+-@ifset familyF77
+-* ACos Intrinsic:: Arc cosine.
+-@end ifset
+-@ifset familyVXT
+-* ACosD Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF90
+-* AdjustL Intrinsic:: (Reserved for future use.)
+-* AdjustR Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* AImag Intrinsic:: Convert/extract imaginary part of complex.
+-@end ifset
+-@ifset familyVXT
+-* AIMax0 Intrinsic:: (Reserved for future use.)
+-* AIMin0 Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* AInt Intrinsic:: Truncate to whole number.
+-@end ifset
+-@ifset familyVXT
+-* AJMax0 Intrinsic:: (Reserved for future use.)
+-* AJMin0 Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2U
+-* Alarm Intrinsic:: Execute a routine after a given delay.
+-@end ifset
+-@ifset familyF90
+-* All Intrinsic:: (Reserved for future use.)
+-* Allocated Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* ALog Intrinsic:: Natural logarithm (archaic).
+-* ALog10 Intrinsic:: Common logarithm (archaic).
+-* AMax0 Intrinsic:: Maximum value (archaic).
+-* AMax1 Intrinsic:: Maximum value (archaic).
+-* AMin0 Intrinsic:: Minimum value (archaic).
+-* AMin1 Intrinsic:: Minimum value (archaic).
+-* AMod Intrinsic:: Remainder (archaic).
+-@end ifset
+-@ifset familyF2C
+-* And Intrinsic:: Boolean AND.
+-@end ifset
+-@ifset familyF77
+-* ANInt Intrinsic:: Round to nearest whole number.
+-@end ifset
+-@ifset familyF90
+-* Any Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* ASin Intrinsic:: Arc sine.
+-@end ifset
+-@ifset familyVXT
+-* ASinD Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF90
+-* Associated Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* ATan Intrinsic:: Arc tangent.
+-* ATan2 Intrinsic:: Arc tangent.
+-@end ifset
+-@ifset familyVXT
+-* ATan2D Intrinsic:: (Reserved for future use.)
+-* ATanD Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2U
+-* BesJ0 Intrinsic:: Bessel function.
+-* BesJ1 Intrinsic:: Bessel function.
+-* BesJN Intrinsic:: Bessel function.
+-* BesY0 Intrinsic:: Bessel function.
+-* BesY1 Intrinsic:: Bessel function.
+-* BesYN Intrinsic:: Bessel function.
+-@end ifset
+-@ifset familyVXT
+-* BITest Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF90
+-* Bit_Size Intrinsic:: Number of bits in argument's type.
+-@end ifset
+-@ifset familyVXT
+-* BJTest Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyMIL
+-* BTest Intrinsic:: Test bit.
+-@end ifset
+-@ifset familyF77
+-* CAbs Intrinsic:: Absolute value (archaic).
+-* CCos Intrinsic:: Cosine (archaic).
+-@end ifset
+-@ifset familyFVZ
+-* CDAbs Intrinsic:: Absolute value (archaic).
+-* CDCos Intrinsic:: Cosine (archaic).
+-* CDExp Intrinsic:: Exponential (archaic).
+-* CDLog Intrinsic:: Natural logarithm (archaic).
+-* CDSin Intrinsic:: Sine (archaic).
+-* CDSqRt Intrinsic:: Square root (archaic).
+-@end ifset
+-@ifset familyF90
+-* Ceiling Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* CExp Intrinsic:: Exponential (archaic).
+-* Char Intrinsic:: Character from code.
+-@end ifset
+-@ifset familyF2U
+-* ChDir Intrinsic (subroutine):: Change directory.
+-@end ifset
+-@ifset familyBADU77
+-* ChDir Intrinsic (function):: Change directory.
+-@end ifset
+-@ifset familyF2U
+-* ChMod Intrinsic (subroutine):: Change file modes.
+-@end ifset
+-@ifset familyBADU77
+-* ChMod Intrinsic (function):: Change file modes.
+-@end ifset
+-@ifset familyF77
+-* CLog Intrinsic:: Natural logarithm (archaic).
+-* Cmplx Intrinsic:: Construct @code{COMPLEX(KIND=1)} value.
+-@end ifset
+-@ifset familyGNU
+-* Complex Intrinsic:: Build complex value from real and
+- imaginary parts.
+-@end ifset
+-@ifset familyF77
+-* Conjg Intrinsic:: Complex conjugate.
+-* Cos Intrinsic:: Cosine.
+-@end ifset
+-@ifset familyVXT
+-* CosD Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* CosH Intrinsic:: Hyperbolic cosine.
+-@end ifset
+-@ifset familyF90
+-* Count Intrinsic:: (Reserved for future use.)
+-* CPU_Time Intrinsic:: Get current CPU time.
+-* CShift Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* CSin Intrinsic:: Sine (archaic).
+-* CSqRt Intrinsic:: Square root (archaic).
+-@end ifset
+-@ifset familyF2U
+-* CTime Intrinsic (subroutine):: Convert time to Day Mon dd hh:mm:ss yyyy.
+-* CTime Intrinsic (function):: Convert time to Day Mon dd hh:mm:ss yyyy.
+-@end ifset
+-@ifset familyF77
+-* DAbs Intrinsic:: Absolute value (archaic).
+-* DACos Intrinsic:: Arc cosine (archaic).
+-@end ifset
+-@ifset familyVXT
+-* DACosD Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* DASin Intrinsic:: Arc sine (archaic).
+-@end ifset
+-@ifset familyVXT
+-* DASinD Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* DATan Intrinsic:: Arc tangent (archaic).
+-* DATan2 Intrinsic:: Arc tangent (archaic).
+-@end ifset
+-@ifset familyVXT
+-* DATan2D Intrinsic:: (Reserved for future use.)
+-* DATanD Intrinsic:: (Reserved for future use.)
+-* Date Intrinsic:: Get current date as dd-Mon-yy.
+-@end ifset
+-@ifset familyF90
+-* Date_and_Time Intrinsic:: Get the current date and time.
+-@end ifset
+-@ifset familyF2U
+-* DbesJ0 Intrinsic:: Bessel function (archaic).
+-* DbesJ1 Intrinsic:: Bessel function (archaic).
+-* DbesJN Intrinsic:: Bessel function (archaic).
+-* DbesY0 Intrinsic:: Bessel function (archaic).
+-* DbesY1 Intrinsic:: Bessel function (archaic).
+-* DbesYN Intrinsic:: Bessel function (archaic).
+-@end ifset
+-@ifset familyF77
+-* Dble Intrinsic:: Convert to double precision.
+-@end ifset
+-@ifset familyVXT
+-* DbleQ Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyFVZ
+-* DCmplx Intrinsic:: Construct @code{COMPLEX(KIND=2)} value.
+-* DConjg Intrinsic:: Complex conjugate (archaic).
+-@end ifset
+-@ifset familyF77
+-* DCos Intrinsic:: Cosine (archaic).
+-@end ifset
+-@ifset familyVXT
+-* DCosD Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* DCosH Intrinsic:: Hyperbolic cosine (archaic).
+-* DDiM Intrinsic:: Difference magnitude (archaic).
+-@end ifset
+-@ifset familyF2U
+-* DErF Intrinsic:: Error function (archaic).
+-* DErFC Intrinsic:: Complementary error function (archaic).
+-@end ifset
+-@ifset familyF77
+-* DExp Intrinsic:: Exponential (archaic).
+-@end ifset
+-@ifset familyFVZ
+-* DFloat Intrinsic:: Conversion (archaic).
+-@end ifset
+-@ifset familyVXT
+-* DFlotI Intrinsic:: (Reserved for future use.)
+-* DFlotJ Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF90
+-* Digits Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* DiM Intrinsic:: Difference magnitude (non-negative subtract).
+-@end ifset
+-@ifset familyFVZ
+-* DImag Intrinsic:: Convert/extract imaginary part of complex (archaic).
+-@end ifset
+-@ifset familyF77
+-* DInt Intrinsic:: Truncate to whole number (archaic).
+-* DLog Intrinsic:: Natural logarithm (archaic).
+-* DLog10 Intrinsic:: Common logarithm (archaic).
+-* DMax1 Intrinsic:: Maximum value (archaic).
+-* DMin1 Intrinsic:: Minimum value (archaic).
+-* DMod Intrinsic:: Remainder (archaic).
+-* DNInt Intrinsic:: Round to nearest whole number (archaic).
+-@end ifset
+-@ifset familyF90
+-* Dot_Product Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* DProd Intrinsic:: Double-precision product.
+-@end ifset
+-@ifset familyVXT
+-* DReal Intrinsic:: Convert value to type @code{REAL(KIND=2)}.
+-@end ifset
+-@ifset familyF77
+-* DSign Intrinsic:: Apply sign to magnitude (archaic).
+-* DSin Intrinsic:: Sine (archaic).
+-@end ifset
+-@ifset familyVXT
+-* DSinD Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* DSinH Intrinsic:: Hyperbolic sine (archaic).
+-* DSqRt Intrinsic:: Square root (archaic).
+-* DTan Intrinsic:: Tangent (archaic).
+-@end ifset
+-@ifset familyVXT
+-* DTanD Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* DTanH Intrinsic:: Hyperbolic tangent (archaic).
+-@end ifset
+-@ifset familyF2U
+-* DTime Intrinsic (subroutine):: Get elapsed time since last time.
+-@end ifset
+-@ifset familyBADU77
+-* DTime Intrinsic (function):: Get elapsed time since last time.
+-@end ifset
+-@ifset familyF90
+-* EOShift Intrinsic:: (Reserved for future use.)
+-* Epsilon Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2U
+-* ErF Intrinsic:: Error function.
+-* ErFC Intrinsic:: Complementary error function.
+-* ETime Intrinsic (subroutine):: Get elapsed time for process.
+-* ETime Intrinsic (function):: Get elapsed time for process.
+-* Exit Intrinsic:: Terminate the program.
+-@end ifset
+-@ifset familyF77
+-* Exp Intrinsic:: Exponential.
+-@end ifset
+-@ifset familyF90
+-* Exponent Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2U
+-* FDate Intrinsic (subroutine):: Get current time as Day Mon dd hh:mm:ss yyyy.
+-* FDate Intrinsic (function):: Get current time as Day Mon dd hh:mm:ss yyyy.
+-* FGet Intrinsic (subroutine):: Read a character from unit 5 stream-wise.
+-@end ifset
+-@ifset familyBADU77
+-* FGet Intrinsic (function):: Read a character from unit 5 stream-wise.
+-@end ifset
+-@ifset familyF2U
+-* FGetC Intrinsic (subroutine):: Read a character stream-wise.
+-@end ifset
+-@ifset familyBADU77
+-* FGetC Intrinsic (function):: Read a character stream-wise.
+-@end ifset
+-@ifset familyF77
+-* Float Intrinsic:: Conversion (archaic).
+-@end ifset
+-@ifset familyVXT
+-* FloatI Intrinsic:: (Reserved for future use.)
+-* FloatJ Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF90
+-* Floor Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2U
+-* Flush Intrinsic:: Flush buffered output.
+-* FNum Intrinsic:: Get file descriptor from Fortran unit number.
+-* FPut Intrinsic (subroutine):: Write a character to unit 6 stream-wise.
+-@end ifset
+-@ifset familyBADU77
+-* FPut Intrinsic (function):: Write a character to unit 6 stream-wise.
+-@end ifset
+-@ifset familyF2U
+-* FPutC Intrinsic (subroutine):: Write a character stream-wise.
+-@end ifset
+-@ifset familyBADU77
+-* FPutC Intrinsic (function):: Write a character stream-wise.
+-@end ifset
+-@ifset familyF90
+-* Fraction Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2U
+-* FSeek Intrinsic:: Position file (low-level).
+-* FStat Intrinsic (subroutine):: Get file information.
+-* FStat Intrinsic (function):: Get file information.
+-* FTell Intrinsic (subroutine):: Get file position (low-level).
+-* FTell Intrinsic (function):: Get file position (low-level).
+-* GError Intrinsic:: Get error message for last error.
+-* GetArg Intrinsic:: Obtain command-line argument.
+-* GetCWD Intrinsic (subroutine):: Get current working directory.
+-* GetCWD Intrinsic (function):: Get current working directory.
+-* GetEnv Intrinsic:: Get environment variable.
+-* GetGId Intrinsic:: Get process group id.
+-* GetLog Intrinsic:: Get login name.
+-* GetPId Intrinsic:: Get process id.
+-* GetUId Intrinsic:: Get process user id.
+-* GMTime Intrinsic:: Convert time to GMT time info.
+-* HostNm Intrinsic (subroutine):: Get host name.
+-* HostNm Intrinsic (function):: Get host name.
+-@end ifset
+-@ifset familyF90
+-* Huge Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* IAbs Intrinsic:: Absolute value (archaic).
+-@end ifset
+-@ifset familyASC
+-* IAChar Intrinsic:: ASCII code for character.
+-@end ifset
+-@ifset familyMIL
+-* IAnd Intrinsic:: Boolean AND.
+-@end ifset
+-@ifset familyF2U
+-* IArgC Intrinsic:: Obtain count of command-line arguments.
+-@end ifset
+-@ifset familyMIL
+-* IBClr Intrinsic:: Clear a bit.
+-* IBits Intrinsic:: Extract a bit subfield of a variable.
+-* IBSet Intrinsic:: Set a bit.
+-@end ifset
+-@ifset familyF77
+-* IChar Intrinsic:: Code for character.
+-@end ifset
+-@ifset familyF2U
+-* IDate Intrinsic (UNIX):: Get local time info.
+-@end ifset
+-@ifset familyVXT
+-* IDate Intrinsic (VXT):: Get local time info (VAX/VMS).
+-@end ifset
+-@ifset familyF77
+-* IDiM Intrinsic:: Difference magnitude (archaic).
+-* IDInt Intrinsic:: Convert to @code{INTEGER} value truncated
+- to whole number (archaic).
+-* IDNInt Intrinsic:: Convert to @code{INTEGER} value rounded
+- to nearest whole number (archaic).
+-@end ifset
+-@ifset familyMIL
+-* IEOr Intrinsic:: Boolean XOR.
+-@end ifset
+-@ifset familyF2U
+-* IErrNo Intrinsic:: Get error number for last error.
+-@end ifset
+-@ifset familyF77
+-* IFix Intrinsic:: Conversion (archaic).
+-@end ifset
+-@ifset familyVXT
+-* IIAbs Intrinsic:: (Reserved for future use.)
+-* IIAnd Intrinsic:: (Reserved for future use.)
+-* IIBClr Intrinsic:: (Reserved for future use.)
+-* IIBits Intrinsic:: (Reserved for future use.)
+-* IIBSet Intrinsic:: (Reserved for future use.)
+-* IIDiM Intrinsic:: (Reserved for future use.)
+-* IIDInt Intrinsic:: (Reserved for future use.)
+-* IIDNnt Intrinsic:: (Reserved for future use.)
+-* IIEOr Intrinsic:: (Reserved for future use.)
+-* IIFix Intrinsic:: (Reserved for future use.)
+-* IInt Intrinsic:: (Reserved for future use.)
+-* IIOr Intrinsic:: (Reserved for future use.)
+-* IIQint Intrinsic:: (Reserved for future use.)
+-* IIQNnt Intrinsic:: (Reserved for future use.)
+-* IIShftC Intrinsic:: (Reserved for future use.)
+-* IISign Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2C
+-* Imag Intrinsic:: Extract imaginary part of complex.
+-@end ifset
+-@ifset familyGNU
+-* ImagPart Intrinsic:: Extract imaginary part of complex.
+-@end ifset
+-@ifset familyVXT
+-* IMax0 Intrinsic:: (Reserved for future use.)
+-* IMax1 Intrinsic:: (Reserved for future use.)
+-* IMin0 Intrinsic:: (Reserved for future use.)
+-* IMin1 Intrinsic:: (Reserved for future use.)
+-* IMod Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* Index Intrinsic:: Locate a CHARACTER substring.
+-@end ifset
+-@ifset familyVXT
+-* INInt Intrinsic:: (Reserved for future use.)
+-* INot Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* Int Intrinsic:: Convert to @code{INTEGER} value truncated
+- to whole number.
+-@end ifset
+-@ifset familyGNU
+-* Int2 Intrinsic:: Convert to @code{INTEGER(KIND=6)} value
+- truncated to whole number.
+-* Int8 Intrinsic:: Convert to @code{INTEGER(KIND=2)} value
+- truncated to whole number.
+-@end ifset
+-@ifset familyMIL
+-* IOr Intrinsic:: Boolean OR.
+-@end ifset
+-@ifset familyF2U
+-* IRand Intrinsic:: Random number.
+-* IsaTty Intrinsic:: Is unit connected to a terminal?
+-@end ifset
+-@ifset familyMIL
+-* IShft Intrinsic:: Logical bit shift.
+-* IShftC Intrinsic:: Circular bit shift.
+-@end ifset
+-@ifset familyF77
+-* ISign Intrinsic:: Apply sign to magnitude (archaic).
+-@end ifset
+-@ifset familyF2U
+-* ITime Intrinsic:: Get local time of day.
+-@end ifset
+-@ifset familyVXT
+-* IZExt Intrinsic:: (Reserved for future use.)
+-* JIAbs Intrinsic:: (Reserved for future use.)
+-* JIAnd Intrinsic:: (Reserved for future use.)
+-* JIBClr Intrinsic:: (Reserved for future use.)
+-* JIBits Intrinsic:: (Reserved for future use.)
+-* JIBSet Intrinsic:: (Reserved for future use.)
+-* JIDiM Intrinsic:: (Reserved for future use.)
+-* JIDInt Intrinsic:: (Reserved for future use.)
+-* JIDNnt Intrinsic:: (Reserved for future use.)
+-* JIEOr Intrinsic:: (Reserved for future use.)
+-* JIFix Intrinsic:: (Reserved for future use.)
+-* JInt Intrinsic:: (Reserved for future use.)
+-* JIOr Intrinsic:: (Reserved for future use.)
+-* JIQint Intrinsic:: (Reserved for future use.)
+-* JIQNnt Intrinsic:: (Reserved for future use.)
+-* JIShft Intrinsic:: (Reserved for future use.)
+-* JIShftC Intrinsic:: (Reserved for future use.)
+-* JISign Intrinsic:: (Reserved for future use.)
+-* JMax0 Intrinsic:: (Reserved for future use.)
+-* JMax1 Intrinsic:: (Reserved for future use.)
+-* JMin0 Intrinsic:: (Reserved for future use.)
+-* JMin1 Intrinsic:: (Reserved for future use.)
+-* JMod Intrinsic:: (Reserved for future use.)
+-* JNInt Intrinsic:: (Reserved for future use.)
+-* JNot Intrinsic:: (Reserved for future use.)
+-* JZExt Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2U
+-* Kill Intrinsic (subroutine):: Signal a process.
+-@end ifset
+-@ifset familyBADU77
+-* Kill Intrinsic (function):: Signal a process.
+-@end ifset
+-@ifset familyF90
+-* Kind Intrinsic:: (Reserved for future use.)
+-* LBound Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* Len Intrinsic:: Length of character entity.
+-@end ifset
+-@ifset familyF90
+-* Len_Trim Intrinsic:: Get last non-blank character in string.
+-@end ifset
+-@ifset familyF77
+-* LGe Intrinsic:: Lexically greater than or equal.
+-* LGt Intrinsic:: Lexically greater than.
+-@end ifset
+-@ifset familyF2U
+-* Link Intrinsic (subroutine):: Make hard link in file system.
+-@end ifset
+-@ifset familyBADU77
+-* Link Intrinsic (function):: Make hard link in file system.
+-@end ifset
+-@ifset familyF77
+-* LLe Intrinsic:: Lexically less than or equal.
+-* LLt Intrinsic:: Lexically less than.
+-@end ifset
+-@ifset familyF2U
+-* LnBlnk Intrinsic:: Get last non-blank character in string.
+-* Loc Intrinsic:: Address of entity in core.
+-@end ifset
+-@ifset familyF77
+-* Log Intrinsic:: Natural logarithm.
+-* Log10 Intrinsic:: Common logarithm.
+-@end ifset
+-@ifset familyF90
+-* Logical Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2U
+-* Long Intrinsic:: Conversion to @code{INTEGER(KIND=1)} (archaic).
+-@end ifset
+-@ifset familyF2C
+-* LShift Intrinsic:: Left-shift bits.
+-@end ifset
+-@ifset familyF2U
+-* LStat Intrinsic (subroutine):: Get file information.
+-* LStat Intrinsic (function):: Get file information.
+-* LTime Intrinsic:: Convert time to local time info.
+-@end ifset
+-@ifset familyF90
+-* MatMul Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* Max Intrinsic:: Maximum value.
+-* Max0 Intrinsic:: Maximum value (archaic).
+-* Max1 Intrinsic:: Maximum value (archaic).
+-@end ifset
+-@ifset familyF90
+-* MaxExponent Intrinsic:: (Reserved for future use.)
+-* MaxLoc Intrinsic:: (Reserved for future use.)
+-* MaxVal Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2U
+-* MClock Intrinsic:: Get number of clock ticks for process.
+-* MClock8 Intrinsic:: Get number of clock ticks for process.
+-@end ifset
+-@ifset familyF90
+-* Merge Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* Min Intrinsic:: Minimum value.
+-* Min0 Intrinsic:: Minimum value (archaic).
+-* Min1 Intrinsic:: Minimum value (archaic).
+-@end ifset
+-@ifset familyF90
+-* MinExponent Intrinsic:: (Reserved for future use.)
+-* MinLoc Intrinsic:: (Reserved for future use.)
+-* MinVal Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* Mod Intrinsic:: Remainder.
+-@end ifset
+-@ifset familyF90
+-* Modulo Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyMIL
+-* MvBits Intrinsic:: Moving a bit field.
+-@end ifset
+-@ifset familyF90
+-* Nearest Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* NInt Intrinsic:: Convert to @code{INTEGER} value rounded
+- to nearest whole number.
+-@end ifset
+-@ifset familyMIL
+-* Not Intrinsic:: Boolean NOT.
+-@end ifset
+-@ifset familyF2C
+-* Or Intrinsic:: Boolean OR.
+-@end ifset
+-@ifset familyF90
+-* Pack Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2U
+-* PError Intrinsic:: Print error message for last error.
+-@end ifset
+-@ifset familyF90
+-* Precision Intrinsic:: (Reserved for future use.)
+-* Present Intrinsic:: (Reserved for future use.)
+-* Product Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyVXT
+-* QAbs Intrinsic:: (Reserved for future use.)
+-* QACos Intrinsic:: (Reserved for future use.)
+-* QACosD Intrinsic:: (Reserved for future use.)
+-* QASin Intrinsic:: (Reserved for future use.)
+-* QASinD Intrinsic:: (Reserved for future use.)
+-* QATan Intrinsic:: (Reserved for future use.)
+-* QATan2 Intrinsic:: (Reserved for future use.)
+-* QATan2D Intrinsic:: (Reserved for future use.)
+-* QATanD Intrinsic:: (Reserved for future use.)
+-* QCos Intrinsic:: (Reserved for future use.)
+-* QCosD Intrinsic:: (Reserved for future use.)
+-* QCosH Intrinsic:: (Reserved for future use.)
+-* QDiM Intrinsic:: (Reserved for future use.)
+-* QExp Intrinsic:: (Reserved for future use.)
+-* QExt Intrinsic:: (Reserved for future use.)
+-* QExtD Intrinsic:: (Reserved for future use.)
+-* QFloat Intrinsic:: (Reserved for future use.)
+-* QInt Intrinsic:: (Reserved for future use.)
+-* QLog Intrinsic:: (Reserved for future use.)
+-* QLog10 Intrinsic:: (Reserved for future use.)
+-* QMax1 Intrinsic:: (Reserved for future use.)
+-* QMin1 Intrinsic:: (Reserved for future use.)
+-* QMod Intrinsic:: (Reserved for future use.)
+-* QNInt Intrinsic:: (Reserved for future use.)
+-* QSin Intrinsic:: (Reserved for future use.)
+-* QSinD Intrinsic:: (Reserved for future use.)
+-* QSinH Intrinsic:: (Reserved for future use.)
+-* QSqRt Intrinsic:: (Reserved for future use.)
+-* QTan Intrinsic:: (Reserved for future use.)
+-* QTanD Intrinsic:: (Reserved for future use.)
+-* QTanH Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF90
+-* Radix Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2U
+-* Rand Intrinsic:: Random number.
+-@end ifset
+-@ifset familyF90
+-* Random_Number Intrinsic:: (Reserved for future use.)
+-* Random_Seed Intrinsic:: (Reserved for future use.)
+-* Range Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* Real Intrinsic:: Convert value to type @code{REAL(KIND=1)}.
+-@end ifset
+-@ifset familyGNU
+-* RealPart Intrinsic:: Extract real part of complex.
+-@end ifset
+-@ifset familyF2U
+-* Rename Intrinsic (subroutine):: Rename file.
+-@end ifset
+-@ifset familyBADU77
+-* Rename Intrinsic (function):: Rename file.
+-@end ifset
+-@ifset familyF90
+-* Repeat Intrinsic:: (Reserved for future use.)
+-* Reshape Intrinsic:: (Reserved for future use.)
+-* RRSpacing Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2C
+-* RShift Intrinsic:: Right-shift bits.
+-@end ifset
+-@ifset familyF90
+-* Scale Intrinsic:: (Reserved for future use.)
+-* Scan Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyVXT
+-* Secnds Intrinsic:: Get local time offset since midnight.
+-@end ifset
+-@ifset familyF2U
+-* Second Intrinsic (function):: Get CPU time for process in seconds.
+-* Second Intrinsic (subroutine):: Get CPU time for process
+- in seconds.
+-@end ifset
+-@ifset familyF90
+-* Selected_Int_Kind Intrinsic:: (Reserved for future use.)
+-* Selected_Real_Kind Intrinsic:: (Reserved for future use.)
+-* Set_Exponent Intrinsic:: (Reserved for future use.)
+-* Shape Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2U
+-* Short Intrinsic:: Convert to @code{INTEGER(KIND=6)} value
+- truncated to whole number.
+-@end ifset
+-@ifset familyF77
+-* Sign Intrinsic:: Apply sign to magnitude.
+-@end ifset
+-@ifset familyF2U
+-* Signal Intrinsic (subroutine):: Muck with signal handling.
+-@end ifset
+-@ifset familyBADU77
+-* Signal Intrinsic (function):: Muck with signal handling.
+-@end ifset
+-@ifset familyF77
+-* Sin Intrinsic:: Sine.
+-@end ifset
+-@ifset familyVXT
+-* SinD Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* SinH Intrinsic:: Hyperbolic sine.
+-@end ifset
+-@ifset familyF2U
+-* Sleep Intrinsic:: Sleep for a specified time.
+-@end ifset
+-@ifset familyF77
+-* Sngl Intrinsic:: Convert (archaic).
+-@end ifset
+-@ifset familyVXT
+-* SnglQ Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF90
+-* Spacing Intrinsic:: (Reserved for future use.)
+-* Spread Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* SqRt Intrinsic:: Square root.
+-@end ifset
+-@ifset familyF2U
+-* SRand Intrinsic:: Random seed.
+-* Stat Intrinsic (subroutine):: Get file information.
+-* Stat Intrinsic (function):: Get file information.
+-@end ifset
+-@ifset familyF90
+-* Sum Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2U
+-* SymLnk Intrinsic (subroutine):: Make symbolic link in file system.
+-@end ifset
+-@ifset familyBADU77
+-* SymLnk Intrinsic (function):: Make symbolic link in file system.
+-@end ifset
+-@ifset familyF2U
+-* System Intrinsic (subroutine):: Invoke shell (system) command.
+-@end ifset
+-@ifset familyBADU77
+-* System Intrinsic (function):: Invoke shell (system) command.
+-@end ifset
+-@ifset familyF90
+-* System_Clock Intrinsic:: Get current system clock value.
+-@end ifset
+-@ifset familyF77
+-* Tan Intrinsic:: Tangent.
+-@end ifset
+-@ifset familyVXT
+-* TanD Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF77
+-* TanH Intrinsic:: Hyperbolic tangent.
+-@end ifset
+-@ifset familyF2U
+-* Time Intrinsic (UNIX):: Get current time as time value.
+-@end ifset
+-@ifset familyVXT
+-* Time Intrinsic (VXT):: Get the time as a character value.
+-@end ifset
+-@ifset familyF2U
+-* Time8 Intrinsic:: Get current time as time value.
+-@end ifset
+-@ifset familyF90
+-* Tiny Intrinsic:: (Reserved for future use.)
+-* Transfer Intrinsic:: (Reserved for future use.)
+-* Transpose Intrinsic:: (Reserved for future use.)
+-* Trim Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2U
+-* TtyNam Intrinsic (subroutine):: Get name of terminal device for unit.
+-* TtyNam Intrinsic (function):: Get name of terminal device for unit.
+-@end ifset
+-@ifset familyF90
+-* UBound Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2U
+-* UMask Intrinsic (subroutine):: Set file creation permissions mask.
+-@end ifset
+-@ifset familyBADU77
+-* UMask Intrinsic (function):: Set file creation permissions mask.
+-@end ifset
+-@ifset familyF2U
+-* Unlink Intrinsic (subroutine):: Unlink file.
+-@end ifset
+-@ifset familyBADU77
+-* Unlink Intrinsic (function):: Unlink file.
+-@end ifset
+-@ifset familyF90
+-* Unpack Intrinsic:: (Reserved for future use.)
+-* Verify Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2C
+-* XOr Intrinsic:: Boolean XOR.
+-* ZAbs Intrinsic:: Absolute value (archaic).
+-* ZCos Intrinsic:: Cosine (archaic).
+-* ZExp Intrinsic:: Exponential (archaic).
+-@end ifset
+-@ifset familyVXT
+-* ZExt Intrinsic:: (Reserved for future use.)
+-@end ifset
+-@ifset familyF2C
+-* ZLog Intrinsic:: Natural logarithm (archaic).
+-* ZSin Intrinsic:: Sine (archaic).
+-* ZSqRt Intrinsic:: Square root (archaic).
+-@end ifset
+-@end menu
+-
+-@ifset familyF2U
+-@node Abort Intrinsic
+-@subsubsection Abort Intrinsic
+-@cindex Abort intrinsic
+-@cindex intrinsics, Abort
+-
+-@noindent
+-@example
+-CALL Abort()
+-@end example
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Prints a message and potentially causes a core dump via @code{abort(3)}.
+-
+-@end ifset
+-@ifset familyF77
+-@node Abs Intrinsic
+-@subsubsection Abs Intrinsic
+-@cindex Abs intrinsic
+-@cindex intrinsics, Abs
+-
+-@noindent
+-@example
+-Abs(@var{A})
+-@end example
+-
+-@noindent
+-Abs: @code{INTEGER} or @code{REAL} function.
+-The exact type depends on that of argument @var{A}---if @var{A} is
+-@code{COMPLEX}, this function's type is @code{REAL}
+-with the same @samp{KIND=} value as the type of @var{A}.
+-Otherwise, this function's type is the same as that of @var{A}.
+-
+-@noindent
+-@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the absolute value of @var{A}.
+-
+-If @var{A} is type @code{COMPLEX}, the absolute
+-value is computed as:
+-
+-@example
+-SQRT(REALPART(@var{A})**2, IMAGPART(@var{A})**2)
+-@end example
+-
+-@noindent
+-Otherwise, it is computed by negating the @var{A} if
+-it is negative, or returning @var{A}.
+-
+-@xref{Sign Intrinsic}, for how to explicitly
+-compute the positive or negative form of the absolute
+-value of an expression.
+-
+-@end ifset
+-@ifset familyF2U
+-@node Access Intrinsic
+-@subsubsection Access Intrinsic
+-@cindex Access intrinsic
+-@cindex intrinsics, Access
+-
+-@noindent
+-@example
+-Access(@var{Name}, @var{Mode})
+-@end example
+-
+-@noindent
+-Access: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Mode}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Checks file @var{Name} for accessibility in the mode specified by @var{Mode} and
+-returns 0 if the file is accessible in that mode, otherwise an error
+-code if the file is inaccessible or @var{Mode} is invalid.
+-See @code{access(2)}.
+-A null character (@samp{CHAR(0)}) marks the end of
+-the name in @var{Name}---otherwise,
+-trailing blanks in @var{Name} are ignored.
+-@var{Mode} may be a concatenation of any of the following characters:
+-
+-@table @samp
+-@item r
+-Read permission
+-
+-@item w
+-Write permission
+-
+-@item x
+-Execute permission
+-
+-@item @kbd{SPC}
+-Existence
+-@end table
+-
+-@end ifset
+-@ifset familyASC
+-@node AChar Intrinsic
+-@subsubsection AChar Intrinsic
+-@cindex AChar intrinsic
+-@cindex intrinsics, AChar
+-
+-@noindent
+-@example
+-AChar(@var{I})
+-@end example
+-
+-@noindent
+-AChar: @code{CHARACTER*1} function.
+-
+-@noindent
+-@var{I}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}, @code{f90}.
+-
+-@noindent
+-Description:
+-
+-Returns the ASCII character corresponding to the
+-code specified by @var{I}.
+-
+-@xref{IAChar Intrinsic}, for the inverse of this function.
+-
+-@xref{Char Intrinsic}, for the function corresponding
+-to the system's native character set.
+-
+-@end ifset
+-@ifset familyF77
+-@node ACos Intrinsic
+-@subsubsection ACos Intrinsic
+-@cindex ACos intrinsic
+-@cindex intrinsics, ACos
+-
+-@noindent
+-@example
+-ACos(@var{X})
+-@end example
+-
+-@noindent
+-ACos: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the arc-cosine (inverse cosine) of @var{X}
+-in radians.
+-
+-@xref{Cos Intrinsic}, for the inverse of this function.
+-
+-@end ifset
+-@ifset familyVXT
+-@node ACosD Intrinsic
+-@subsubsection ACosD Intrinsic
+-@cindex ACosD intrinsic
+-@cindex intrinsics, ACosD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL ACosD} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF90
+-@node AdjustL Intrinsic
+-@subsubsection AdjustL Intrinsic
+-@cindex AdjustL intrinsic
+-@cindex intrinsics, AdjustL
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL AdjustL} to use this name for an
+-external procedure.
+-
+-@node AdjustR Intrinsic
+-@subsubsection AdjustR Intrinsic
+-@cindex AdjustR intrinsic
+-@cindex intrinsics, AdjustR
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL AdjustR} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node AImag Intrinsic
+-@subsubsection AImag Intrinsic
+-@cindex AImag intrinsic
+-@cindex intrinsics, AImag
+-
+-@noindent
+-@example
+-AImag(@var{Z})
+-@end example
+-
+-@noindent
+-AImag: @code{REAL} function.
+-This intrinsic is valid when argument @var{Z} is
+-@code{COMPLEX(KIND=1)}.
+-When @var{Z} is any other @code{COMPLEX} type,
+-this intrinsic is valid only when used as the argument to
+-@code{REAL()}, as explained below.
+-
+-@noindent
+-@var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the (possibly converted) imaginary part of @var{Z}.
+-
+-Use of @code{AIMAG()} with an argument of a type
+-other than @code{COMPLEX(KIND=1)} is restricted to the following case:
+-
+-@example
+-REAL(AIMAG(Z))
+-@end example
+-
+-@noindent
+-This expression converts the imaginary part of Z to
+-@code{REAL(KIND=1)}.
+-
+-@xref{REAL() and AIMAG() of Complex}, for more information.
+-
+-@end ifset
+-@ifset familyVXT
+-@node AIMax0 Intrinsic
+-@subsubsection AIMax0 Intrinsic
+-@cindex AIMax0 intrinsic
+-@cindex intrinsics, AIMax0
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL AIMax0} to use this name for an
+-external procedure.
+-
+-@node AIMin0 Intrinsic
+-@subsubsection AIMin0 Intrinsic
+-@cindex AIMin0 intrinsic
+-@cindex intrinsics, AIMin0
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL AIMin0} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node AInt Intrinsic
+-@subsubsection AInt Intrinsic
+-@cindex AInt intrinsic
+-@cindex intrinsics, AInt
+-
+-@noindent
+-@example
+-AInt(@var{A})
+-@end example
+-
+-@noindent
+-AInt: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{A}.
+-
+-@noindent
+-@var{A}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns @var{A} with the fractional portion of its
+-magnitude truncated and its sign preserved.
+-(Also called ``truncation towards zero''.)
+-
+-@xref{ANInt Intrinsic}, for how to round to nearest
+-whole number.
+-
+-@xref{Int Intrinsic}, for how to truncate and then convert
+-number to @code{INTEGER}.
+-
+-@end ifset
+-@ifset familyVXT
+-@node AJMax0 Intrinsic
+-@subsubsection AJMax0 Intrinsic
+-@cindex AJMax0 intrinsic
+-@cindex intrinsics, AJMax0
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL AJMax0} to use this name for an
+-external procedure.
+-
+-@node AJMin0 Intrinsic
+-@subsubsection AJMin0 Intrinsic
+-@cindex AJMin0 intrinsic
+-@cindex intrinsics, AJMin0
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL AJMin0} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2U
+-@node Alarm Intrinsic
+-@subsubsection Alarm Intrinsic
+-@cindex Alarm intrinsic
+-@cindex intrinsics, Alarm
+-
+-@noindent
+-@example
+-CALL Alarm(@var{Seconds}, @var{Handler}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{Seconds}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE})
+-or dummy/global @code{INTEGER(KIND=1)} scalar.
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Causes external subroutine @var{Handler} to be executed after a delay of
+-@var{Seconds} seconds by using @code{alarm(1)} to set up a signal and
+-@code{signal(2)} to catch it.
+-If @var{Status} is supplied, it will be
+-returned with the number of seconds remaining until any previously
+-scheduled alarm was due to be delivered, or zero if there was no
+-previously scheduled alarm.
+-@xref{Signal Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF90
+-@node All Intrinsic
+-@subsubsection All Intrinsic
+-@cindex All intrinsic
+-@cindex intrinsics, All
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL All} to use this name for an
+-external procedure.
+-
+-@node Allocated Intrinsic
+-@subsubsection Allocated Intrinsic
+-@cindex Allocated intrinsic
+-@cindex intrinsics, Allocated
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Allocated} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node ALog Intrinsic
+-@subsubsection ALog Intrinsic
+-@cindex ALog intrinsic
+-@cindex intrinsics, ALog
+-
+-@noindent
+-@example
+-ALog(@var{X})
+-@end example
+-
+-@noindent
+-ALog: @code{REAL(KIND=1)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{LOG()} that is specific
+-to one type for @var{X}.
+-@xref{Log Intrinsic}.
+-
+-@node ALog10 Intrinsic
+-@subsubsection ALog10 Intrinsic
+-@cindex ALog10 intrinsic
+-@cindex intrinsics, ALog10
+-
+-@noindent
+-@example
+-ALog10(@var{X})
+-@end example
+-
+-@noindent
+-ALog10: @code{REAL(KIND=1)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{LOG10()} that is specific
+-to one type for @var{X}.
+-@xref{Log10 Intrinsic}.
+-
+-@node AMax0 Intrinsic
+-@subsubsection AMax0 Intrinsic
+-@cindex AMax0 intrinsic
+-@cindex intrinsics, AMax0
+-
+-@noindent
+-@example
+-AMax0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
+-@end example
+-
+-@noindent
+-AMax0: @code{REAL(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{MAX()} that is specific
+-to one type for @var{A} and a different return type.
+-@xref{Max Intrinsic}.
+-
+-@node AMax1 Intrinsic
+-@subsubsection AMax1 Intrinsic
+-@cindex AMax1 intrinsic
+-@cindex intrinsics, AMax1
+-
+-@noindent
+-@example
+-AMax1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
+-@end example
+-
+-@noindent
+-AMax1: @code{REAL(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{MAX()} that is specific
+-to one type for @var{A}.
+-@xref{Max Intrinsic}.
+-
+-@node AMin0 Intrinsic
+-@subsubsection AMin0 Intrinsic
+-@cindex AMin0 intrinsic
+-@cindex intrinsics, AMin0
+-
+-@noindent
+-@example
+-AMin0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
+-@end example
+-
+-@noindent
+-AMin0: @code{REAL(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{MIN()} that is specific
+-to one type for @var{A} and a different return type.
+-@xref{Min Intrinsic}.
+-
+-@node AMin1 Intrinsic
+-@subsubsection AMin1 Intrinsic
+-@cindex AMin1 intrinsic
+-@cindex intrinsics, AMin1
+-
+-@noindent
+-@example
+-AMin1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
+-@end example
+-
+-@noindent
+-AMin1: @code{REAL(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{MIN()} that is specific
+-to one type for @var{A}.
+-@xref{Min Intrinsic}.
+-
+-@node AMod Intrinsic
+-@subsubsection AMod Intrinsic
+-@cindex AMod intrinsic
+-@cindex intrinsics, AMod
+-
+-@noindent
+-@example
+-AMod(@var{A}, @var{P})
+-@end example
+-
+-@noindent
+-AMod: @code{REAL(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{P}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{MOD()} that is specific
+-to one type for @var{A}.
+-@xref{Mod Intrinsic}.
+-
+-@end ifset
+-@ifset familyF2C
+-@node And Intrinsic
+-@subsubsection And Intrinsic
+-@cindex And intrinsic
+-@cindex intrinsics, And
+-
+-@noindent
+-@example
+-And(@var{I}, @var{J})
+-@end example
+-
+-@noindent
+-And: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the
+-types of all the arguments.
+-
+-@noindent
+-@var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}.
+-
+-@noindent
+-Description:
+-
+-Returns value resulting from boolean AND of
+-pair of bits in each of @var{I} and @var{J}.
+-
+-@end ifset
+-@ifset familyF77
+-@node ANInt Intrinsic
+-@subsubsection ANInt Intrinsic
+-@cindex ANInt intrinsic
+-@cindex intrinsics, ANInt
+-
+-@noindent
+-@example
+-ANInt(@var{A})
+-@end example
+-
+-@noindent
+-ANInt: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{A}.
+-
+-@noindent
+-@var{A}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns @var{A} with the fractional portion of its
+-magnitude eliminated by rounding to the nearest whole
+-number and with its sign preserved.
+-
+-A fractional portion exactly equal to
+-@samp{.5} is rounded to the whole number that
+-is larger in magnitude.
+-(Also called ``Fortran round''.)
+-
+-@xref{AInt Intrinsic}, for how to truncate to
+-whole number.
+-
+-@xref{NInt Intrinsic}, for how to round and then convert
+-number to @code{INTEGER}.
+-
+-@end ifset
+-@ifset familyF90
+-@node Any Intrinsic
+-@subsubsection Any Intrinsic
+-@cindex Any intrinsic
+-@cindex intrinsics, Any
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Any} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node ASin Intrinsic
+-@subsubsection ASin Intrinsic
+-@cindex ASin intrinsic
+-@cindex intrinsics, ASin
+-
+-@noindent
+-@example
+-ASin(@var{X})
+-@end example
+-
+-@noindent
+-ASin: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the arc-sine (inverse sine) of @var{X}
+-in radians.
+-
+-@xref{Sin Intrinsic}, for the inverse of this function.
+-
+-@end ifset
+-@ifset familyVXT
+-@node ASinD Intrinsic
+-@subsubsection ASinD Intrinsic
+-@cindex ASinD intrinsic
+-@cindex intrinsics, ASinD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL ASinD} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF90
+-@node Associated Intrinsic
+-@subsubsection Associated Intrinsic
+-@cindex Associated intrinsic
+-@cindex intrinsics, Associated
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Associated} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node ATan Intrinsic
+-@subsubsection ATan Intrinsic
+-@cindex ATan intrinsic
+-@cindex intrinsics, ATan
+-
+-@noindent
+-@example
+-ATan(@var{X})
+-@end example
+-
+-@noindent
+-ATan: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the arc-tangent (inverse tangent) of @var{X}
+-in radians.
+-
+-@xref{Tan Intrinsic}, for the inverse of this function.
+-
+-@node ATan2 Intrinsic
+-@subsubsection ATan2 Intrinsic
+-@cindex ATan2 intrinsic
+-@cindex intrinsics, ATan2
+-
+-@noindent
+-@example
+-ATan2(@var{Y}, @var{X})
+-@end example
+-
+-@noindent
+-ATan2: @code{REAL} function, the exact type being the result of cross-promoting the
+-types of all the arguments.
+-
+-@noindent
+-@var{Y}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{X}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the arc-tangent (inverse tangent) of the complex
+-number (@var{Y}, @var{X}) in radians.
+-
+-@xref{Tan Intrinsic}, for the inverse of this function.
+-
+-@end ifset
+-@ifset familyVXT
+-@node ATan2D Intrinsic
+-@subsubsection ATan2D Intrinsic
+-@cindex ATan2D intrinsic
+-@cindex intrinsics, ATan2D
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL ATan2D} to use this name for an
+-external procedure.
+-
+-@node ATanD Intrinsic
+-@subsubsection ATanD Intrinsic
+-@cindex ATanD intrinsic
+-@cindex intrinsics, ATanD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL ATanD} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2U
+-@node BesJ0 Intrinsic
+-@subsubsection BesJ0 Intrinsic
+-@cindex BesJ0 intrinsic
+-@cindex intrinsics, BesJ0
+-
+-@noindent
+-@example
+-BesJ0(@var{X})
+-@end example
+-
+-@noindent
+-BesJ0: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Calculates the Bessel function of the first kind of order 0 of @var{X}.
+-See @code{bessel(3m)}, on whose implementation the function depends.
+-@node BesJ1 Intrinsic
+-@subsubsection BesJ1 Intrinsic
+-@cindex BesJ1 intrinsic
+-@cindex intrinsics, BesJ1
+-
+-@noindent
+-@example
+-BesJ1(@var{X})
+-@end example
+-
+-@noindent
+-BesJ1: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Calculates the Bessel function of the first kind of order 1 of @var{X}.
+-See @code{bessel(3m)}, on whose implementation the function depends.
+-@node BesJN Intrinsic
+-@subsubsection BesJN Intrinsic
+-@cindex BesJN intrinsic
+-@cindex intrinsics, BesJN
+-
+-@noindent
+-@example
+-BesJN(@var{N}, @var{X})
+-@end example
+-
+-@noindent
+-BesJN: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
+-
+-@noindent
+-@var{N}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{X}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Calculates the Bessel function of the first kind of order @var{N} of @var{X}.
+-See @code{bessel(3m)}, on whose implementation the function depends.
+-@node BesY0 Intrinsic
+-@subsubsection BesY0 Intrinsic
+-@cindex BesY0 intrinsic
+-@cindex intrinsics, BesY0
+-
+-@noindent
+-@example
+-BesY0(@var{X})
+-@end example
+-
+-@noindent
+-BesY0: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Calculates the Bessel function of the second kind of order 0 of @var{X}.
+-See @code{bessel(3m)}, on whose implementation the function depends.
+-@node BesY1 Intrinsic
+-@subsubsection BesY1 Intrinsic
+-@cindex BesY1 intrinsic
+-@cindex intrinsics, BesY1
+-
+-@noindent
+-@example
+-BesY1(@var{X})
+-@end example
+-
+-@noindent
+-BesY1: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Calculates the Bessel function of the second kind of order 1 of @var{X}.
+-See @code{bessel(3m)}, on whose implementation the function depends.
+-@node BesYN Intrinsic
+-@subsubsection BesYN Intrinsic
+-@cindex BesYN intrinsic
+-@cindex intrinsics, BesYN
+-
+-@noindent
+-@example
+-BesYN(@var{N}, @var{X})
+-@end example
+-
+-@noindent
+-BesYN: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
+-
+-@noindent
+-@var{N}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{X}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Calculates the Bessel function of the second kind of order @var{N} of @var{X}.
+-See @code{bessel(3m)}, on whose implementation the function depends.
+-@end ifset
+-@ifset familyVXT
+-@node BITest Intrinsic
+-@subsubsection BITest Intrinsic
+-@cindex BITest intrinsic
+-@cindex intrinsics, BITest
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL BITest} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF90
+-@node Bit_Size Intrinsic
+-@subsubsection Bit_Size Intrinsic
+-@cindex Bit_Size intrinsic
+-@cindex intrinsics, Bit_Size
+-
+-@noindent
+-@example
+-Bit_Size(@var{I})
+-@end example
+-
+-@noindent
+-Bit_Size: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
+-
+-@noindent
+-@var{I}: @code{INTEGER}; scalar.
+-
+-@noindent
+-Intrinsic groups: @code{f90}.
+-
+-@noindent
+-Description:
+-
+-Returns the number of bits (integer precision plus sign bit)
+-represented by the type for @var{I}.
+-
+-@xref{BTest Intrinsic}, for how to test the value of a
+-bit in a variable or array.
+-
+-@xref{IBSet Intrinsic}, for how to set a bit in a variable to 1.
+-
+-@xref{IBClr Intrinsic}, for how to set a bit in a variable to 0.
+-
+-
+-@end ifset
+-@ifset familyVXT
+-@node BJTest Intrinsic
+-@subsubsection BJTest Intrinsic
+-@cindex BJTest intrinsic
+-@cindex intrinsics, BJTest
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL BJTest} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyMIL
+-@node BTest Intrinsic
+-@subsubsection BTest Intrinsic
+-@cindex BTest intrinsic
+-@cindex intrinsics, BTest
+-
+-@noindent
+-@example
+-BTest(@var{I}, @var{Pos})
+-@end example
+-
+-@noindent
+-BTest: @code{LOGICAL(KIND=1)} function.
+-
+-@noindent
+-@var{I}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Returns @code{.TRUE.} if bit @var{Pos} in @var{I} is
+-1, @code{.FALSE.} otherwise.
+-
+-(Bit 0 is the low-order (rightmost) bit, adding the value
+-@ifinfo
+-2**0,
+-@end ifinfo
+-@iftex
+-@tex
+-$2^0$,
+-@end tex
+-@end iftex
+-or 1,
+-to the number if set to 1;
+-bit 1 is the next-higher-order bit, adding
+-@ifinfo
+-2**1,
+-@end ifinfo
+-@iftex
+-@tex
+-$2^1$,
+-@end tex
+-@end iftex
+-or 2;
+-bit 2 adds
+-@ifinfo
+-2**2,
+-@end ifinfo
+-@iftex
+-@tex
+-$2^2$,
+-@end tex
+-@end iftex
+-or 4; and so on.)
+-
+-@xref{Bit_Size Intrinsic}, for how to obtain the number of bits
+-in a type.
+-The leftmost bit of @var{I} is @samp{BIT_SIZE(@var{I}-1)}.
+-
+-@end ifset
+-@ifset familyF77
+-@node CAbs Intrinsic
+-@subsubsection CAbs Intrinsic
+-@cindex CAbs intrinsic
+-@cindex intrinsics, CAbs
+-
+-@noindent
+-@example
+-CAbs(@var{A})
+-@end example
+-
+-@noindent
+-CAbs: @code{REAL(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{ABS()} that is specific
+-to one type for @var{A}.
+-@xref{Abs Intrinsic}.
+-
+-@node CCos Intrinsic
+-@subsubsection CCos Intrinsic
+-@cindex CCos intrinsic
+-@cindex intrinsics, CCos
+-
+-@noindent
+-@example
+-CCos(@var{X})
+-@end example
+-
+-@noindent
+-CCos: @code{COMPLEX(KIND=1)} function.
+-
+-@noindent
+-@var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{COS()} that is specific
+-to one type for @var{X}.
+-@xref{Cos Intrinsic}.
+-
+-@end ifset
+-@ifset familyFVZ
+-@node CDAbs Intrinsic
+-@subsubsection CDAbs Intrinsic
+-@cindex CDAbs intrinsic
+-@cindex intrinsics, CDAbs
+-
+-@noindent
+-@example
+-CDAbs(@var{A})
+-@end example
+-
+-@noindent
+-CDAbs: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{A}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{ABS()} that is specific
+-to one type for @var{A}.
+-@xref{Abs Intrinsic}.
+-
+-@node CDCos Intrinsic
+-@subsubsection CDCos Intrinsic
+-@cindex CDCos intrinsic
+-@cindex intrinsics, CDCos
+-
+-@noindent
+-@example
+-CDCos(@var{X})
+-@end example
+-
+-@noindent
+-CDCos: @code{COMPLEX(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{COS()} that is specific
+-to one type for @var{X}.
+-@xref{Cos Intrinsic}.
+-
+-@node CDExp Intrinsic
+-@subsubsection CDExp Intrinsic
+-@cindex CDExp intrinsic
+-@cindex intrinsics, CDExp
+-
+-@noindent
+-@example
+-CDExp(@var{X})
+-@end example
+-
+-@noindent
+-CDExp: @code{COMPLEX(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{EXP()} that is specific
+-to one type for @var{X}.
+-@xref{Exp Intrinsic}.
+-
+-@node CDLog Intrinsic
+-@subsubsection CDLog Intrinsic
+-@cindex CDLog intrinsic
+-@cindex intrinsics, CDLog
+-
+-@noindent
+-@example
+-CDLog(@var{X})
+-@end example
+-
+-@noindent
+-CDLog: @code{COMPLEX(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{LOG()} that is specific
+-to one type for @var{X}.
+-@xref{Log Intrinsic}.
+-
+-@node CDSin Intrinsic
+-@subsubsection CDSin Intrinsic
+-@cindex CDSin intrinsic
+-@cindex intrinsics, CDSin
+-
+-@noindent
+-@example
+-CDSin(@var{X})
+-@end example
+-
+-@noindent
+-CDSin: @code{COMPLEX(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{SIN()} that is specific
+-to one type for @var{X}.
+-@xref{Sin Intrinsic}.
+-
+-@node CDSqRt Intrinsic
+-@subsubsection CDSqRt Intrinsic
+-@cindex CDSqRt intrinsic
+-@cindex intrinsics, CDSqRt
+-
+-@noindent
+-@example
+-CDSqRt(@var{X})
+-@end example
+-
+-@noindent
+-CDSqRt: @code{COMPLEX(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{SQRT()} that is specific
+-to one type for @var{X}.
+-@xref{SqRt Intrinsic}.
+-
+-@end ifset
+-@ifset familyF90
+-@node Ceiling Intrinsic
+-@subsubsection Ceiling Intrinsic
+-@cindex Ceiling intrinsic
+-@cindex intrinsics, Ceiling
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Ceiling} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node CExp Intrinsic
+-@subsubsection CExp Intrinsic
+-@cindex CExp intrinsic
+-@cindex intrinsics, CExp
+-
+-@noindent
+-@example
+-CExp(@var{X})
+-@end example
+-
+-@noindent
+-CExp: @code{COMPLEX(KIND=1)} function.
+-
+-@noindent
+-@var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{EXP()} that is specific
+-to one type for @var{X}.
+-@xref{Exp Intrinsic}.
+-
+-@node Char Intrinsic
+-@subsubsection Char Intrinsic
+-@cindex Char intrinsic
+-@cindex intrinsics, Char
+-
+-@noindent
+-@example
+-Char(@var{I})
+-@end example
+-
+-@noindent
+-Char: @code{CHARACTER*1} function.
+-
+-@noindent
+-@var{I}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the character corresponding to the
+-code specified by @var{I}, using the system's
+-native character set.
+-
+-Because the system's native character set is used,
+-the correspondence between character and their codes
+-is not necessarily the same between GNU Fortran
+-implementations.
+-
+-Note that no intrinsic exists to convert a numerical
+-value to a printable character string.
+-For example, there is no intrinsic that, given
+-an @code{INTEGER} or @code{REAL} argument with the
+-value @samp{154}, returns the @code{CHARACTER}
+-result @samp{'154'}.
+-
+-Instead, you can use internal-file I/O to do this kind
+-of conversion.
+-For example:
+-
+-@smallexample
+-INTEGER VALUE
+-CHARACTER*10 STRING
+-VALUE = 154
+-WRITE (STRING, '(I10)'), VALUE
+-PRINT *, STRING
+-END
+-@end smallexample
+-
+-The above program, when run, prints:
+-
+-@smallexample
+- 154
+-@end smallexample
+-
+-@xref{IChar Intrinsic}, for the inverse of the @code{CHAR} function.
+-
+-@xref{AChar Intrinsic}, for the function corresponding
+-to the ASCII character set.
+-
+-@end ifset
+-@ifset familyF2U
+-@node ChDir Intrinsic (subroutine)
+-@subsubsection ChDir Intrinsic (subroutine)
+-@cindex ChDir intrinsic
+-@cindex intrinsics, ChDir
+-
+-@noindent
+-@example
+-CALL ChDir(@var{Dir}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{Dir}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Sets the current working directory to be @var{Dir}.
+-If the @var{Status} argument is supplied, it contains 0
+-on success or a non-zero error code otherwise upon return.
+-See @code{chdir(3)}.
+-
+-@emph{Caution:} Using this routine during I/O to a unit connected with a
+-non-absolute file name can cause subsequent I/O on such a unit to fail
+-because the I/O library might reopen files by name.
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine, or do not support the
+-(optional) @var{Status} argument.
+-
+-For information on other intrinsics with the same name:
+-@xref{ChDir Intrinsic (function)}.
+-
+-@end ifset
+-@ifset familyBADU77
+-@node ChDir Intrinsic (function)
+-@subsubsection ChDir Intrinsic (function)
+-@cindex ChDir intrinsic
+-@cindex intrinsics, ChDir
+-
+-@noindent
+-@example
+-ChDir(@var{Dir})
+-@end example
+-
+-@noindent
+-ChDir: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{Dir}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{badu77}.
+-
+-@noindent
+-Description:
+-
+-Sets the current working directory to be @var{Dir}.
+-Returns 0 on success or a non-zero error code.
+-See @code{chdir(3)}.
+-
+-@emph{Caution:} Using this routine during I/O to a unit connected with a
+-non-absolute file name can cause subsequent I/O on such a unit to fail
+-because the I/O library might reopen files by name.
+-
+-Due to the side effects performed by this intrinsic, the function
+-form is not recommended.
+-
+-For information on other intrinsics with the same name:
+-@xref{ChDir Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF2U
+-@node ChMod Intrinsic (subroutine)
+-@subsubsection ChMod Intrinsic (subroutine)
+-@cindex ChMod intrinsic
+-@cindex intrinsics, ChMod
+-
+-@noindent
+-@example
+-CALL ChMod(@var{Name}, @var{Mode}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Mode}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Changes the access mode of file @var{Name} according to the
+-specification @var{Mode}, which is given in the format of
+-@code{chmod(1)}.
+-A null character (@samp{CHAR(0)}) marks the end of
+-the name in @var{Name}---otherwise,
+-trailing blanks in @var{Name} are ignored.
+-Currently, @var{Name} must not contain the single quote
+-character.
+-
+-If the @var{Status} argument is supplied, it contains
+-0 on success or a non-zero error code upon return.
+-
+-Note that this currently works
+-by actually invoking @code{/bin/chmod} (or the @code{chmod} found when
+-the library was configured) and so might fail in some circumstances and
+-will, anyway, be slow.
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine, or do not support the
+-(optional) @var{Status} argument.
+-
+-For information on other intrinsics with the same name:
+-@xref{ChMod Intrinsic (function)}.
+-
+-@end ifset
+-@ifset familyBADU77
+-@node ChMod Intrinsic (function)
+-@subsubsection ChMod Intrinsic (function)
+-@cindex ChMod intrinsic
+-@cindex intrinsics, ChMod
+-
+-@noindent
+-@example
+-ChMod(@var{Name}, @var{Mode})
+-@end example
+-
+-@noindent
+-ChMod: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Mode}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{badu77}.
+-
+-@noindent
+-Description:
+-
+-Changes the access mode of file @var{Name} according to the
+-specification @var{Mode}, which is given in the format of
+-@code{chmod(1)}.
+-A null character (@samp{CHAR(0)}) marks the end of
+-the name in @var{Name}---otherwise,
+-trailing blanks in @var{Name} are ignored.
+-Currently, @var{Name} must not contain the single quote
+-character.
+-
+-Returns 0 on success or a non-zero error code otherwise.
+-
+-Note that this currently works
+-by actually invoking @code{/bin/chmod} (or the @code{chmod} found when
+-the library was configured) and so might fail in some circumstances and
+-will, anyway, be slow.
+-
+-Due to the side effects performed by this intrinsic, the function
+-form is not recommended.
+-
+-For information on other intrinsics with the same name:
+-@xref{ChMod Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF77
+-@node CLog Intrinsic
+-@subsubsection CLog Intrinsic
+-@cindex CLog intrinsic
+-@cindex intrinsics, CLog
+-
+-@noindent
+-@example
+-CLog(@var{X})
+-@end example
+-
+-@noindent
+-CLog: @code{COMPLEX(KIND=1)} function.
+-
+-@noindent
+-@var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{LOG()} that is specific
+-to one type for @var{X}.
+-@xref{Log Intrinsic}.
+-
+-@node Cmplx Intrinsic
+-@subsubsection Cmplx Intrinsic
+-@cindex Cmplx intrinsic
+-@cindex intrinsics, Cmplx
+-
+-@noindent
+-@example
+-Cmplx(@var{X}, @var{Y})
+-@end example
+-
+-@noindent
+-Cmplx: @code{COMPLEX(KIND=1)} function.
+-
+-@noindent
+-@var{X}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Y}: @code{INTEGER} or @code{REAL}; OPTIONAL (must be omitted if @var{X} is @code{COMPLEX}); scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-If @var{X} is not type @code{COMPLEX},
+-constructs a value of type @code{COMPLEX(KIND=1)} from the
+-real and imaginary values specified by @var{X} and
+-@var{Y}, respectively.
+-If @var{Y} is omitted, @samp{0.} is assumed.
+-
+-If @var{X} is type @code{COMPLEX},
+-converts it to type @code{COMPLEX(KIND=1)}.
+-
+-@xref{Complex Intrinsic}, for information on easily constructing
+-a @code{COMPLEX} value of arbitrary precision from @code{REAL}
+-arguments.
+-
+-@end ifset
+-@ifset familyGNU
+-@node Complex Intrinsic
+-@subsubsection Complex Intrinsic
+-@cindex Complex intrinsic
+-@cindex intrinsics, Complex
+-
+-@noindent
+-@example
+-Complex(@var{Real}, @var{Imag})
+-@end example
+-
+-@noindent
+-Complex: @code{COMPLEX} function, the exact type being the result of cross-promoting the
+-types of all the arguments.
+-
+-@noindent
+-@var{Real}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Imag}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{gnu}.
+-
+-@noindent
+-Description:
+-
+-Returns a @code{COMPLEX} value that has @samp{Real} and @samp{Imag} as its
+-real and imaginary parts, respectively.
+-
+-If @var{Real} and @var{Imag} are the same type, and that type is not
+-@code{INTEGER}, no data conversion is performed, and the type of
+-the resulting value has the same kind value as the types
+-of @var{Real} and @var{Imag}.
+-
+-If @var{Real} and @var{Imag} are not the same type, the usual type-promotion
+-rules are applied to both, converting either or both to the
+-appropriate @code{REAL} type.
+-The type of the resulting value has the same kind value as the
+-type to which both @var{Real} and @var{Imag} were converted, in this case.
+-
+-If @var{Real} and @var{Imag} are both @code{INTEGER}, they are both converted
+-to @code{REAL(KIND=1)}, and the result of the @code{COMPLEX()}
+-invocation is type @code{COMPLEX(KIND=1)}.
+-
+-@emph{Note:} The way to do this in standard Fortran 90
+-is too hairy to describe here, but it is important to
+-note that @samp{CMPLX(D1,D2)} returns a @code{COMPLEX(KIND=1)}
+-result even if @samp{D1} and @samp{D2} are type @code{REAL(KIND=2)}.
+-Hence the availability of @code{COMPLEX()} in GNU Fortran.
+-
+-@end ifset
+-@ifset familyF77
+-@node Conjg Intrinsic
+-@subsubsection Conjg Intrinsic
+-@cindex Conjg intrinsic
+-@cindex intrinsics, Conjg
+-
+-@noindent
+-@example
+-Conjg(@var{Z})
+-@end example
+-
+-@noindent
+-Conjg: @code{COMPLEX} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
+-
+-@noindent
+-@var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the complex conjugate:
+-
+-@example
+-COMPLEX(REALPART(@var{Z}), -IMAGPART(@var{Z}))
+-@end example
+-
+-@node Cos Intrinsic
+-@subsubsection Cos Intrinsic
+-@cindex Cos intrinsic
+-@cindex intrinsics, Cos
+-
+-@noindent
+-@example
+-Cos(@var{X})
+-@end example
+-
+-@noindent
+-Cos: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the cosine of @var{X}, an angle measured
+-in radians.
+-
+-@xref{ACos Intrinsic}, for the inverse of this function.
+-
+-@end ifset
+-@ifset familyVXT
+-@node CosD Intrinsic
+-@subsubsection CosD Intrinsic
+-@cindex CosD intrinsic
+-@cindex intrinsics, CosD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL CosD} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node CosH Intrinsic
+-@subsubsection CosH Intrinsic
+-@cindex CosH intrinsic
+-@cindex intrinsics, CosH
+-
+-@noindent
+-@example
+-CosH(@var{X})
+-@end example
+-
+-@noindent
+-CosH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the hyperbolic cosine of @var{X}.
+-
+-@end ifset
+-@ifset familyF90
+-@node Count Intrinsic
+-@subsubsection Count Intrinsic
+-@cindex Count intrinsic
+-@cindex intrinsics, Count
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Count} to use this name for an
+-external procedure.
+-
+-@node CPU_Time Intrinsic
+-@subsubsection CPU_Time Intrinsic
+-@cindex CPU_Time intrinsic
+-@cindex intrinsics, CPU_Time
+-
+-@noindent
+-@example
+-CALL CPU_Time(@var{Seconds})
+-@end example
+-
+-@noindent
+-@var{Seconds}: @code{REAL}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{f90}.
+-
+-@noindent
+-Description:
+-
+-Returns in @var{Seconds} the current value of the system time.
+-This implementation of the Fortran 95 intrinsic is just an alias for
+-@code{second} @xref{Second Intrinsic (subroutine)}.
+-
+-@cindex wraparound, timings
+-@cindex limits, timings
+-On some systems, the underlying timings are represented
+-using types with sufficiently small limits that overflows
+-(wraparounds) are possible, such as 32-bit types.
+-Therefore, the values returned by this intrinsic
+-might be, or become, negative,
+-or numerically less than previous values,
+-during a single run of the compiled program.
+-
+-@node CShift Intrinsic
+-@subsubsection CShift Intrinsic
+-@cindex CShift intrinsic
+-@cindex intrinsics, CShift
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL CShift} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node CSin Intrinsic
+-@subsubsection CSin Intrinsic
+-@cindex CSin intrinsic
+-@cindex intrinsics, CSin
+-
+-@noindent
+-@example
+-CSin(@var{X})
+-@end example
+-
+-@noindent
+-CSin: @code{COMPLEX(KIND=1)} function.
+-
+-@noindent
+-@var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{SIN()} that is specific
+-to one type for @var{X}.
+-@xref{Sin Intrinsic}.
+-
+-@node CSqRt Intrinsic
+-@subsubsection CSqRt Intrinsic
+-@cindex CSqRt intrinsic
+-@cindex intrinsics, CSqRt
+-
+-@noindent
+-@example
+-CSqRt(@var{X})
+-@end example
+-
+-@noindent
+-CSqRt: @code{COMPLEX(KIND=1)} function.
+-
+-@noindent
+-@var{X}: @code{COMPLEX(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{SQRT()} that is specific
+-to one type for @var{X}.
+-@xref{SqRt Intrinsic}.
+-
+-@end ifset
+-@ifset familyF2U
+-@node CTime Intrinsic (subroutine)
+-@subsubsection CTime Intrinsic (subroutine)
+-@cindex CTime intrinsic
+-@cindex intrinsics, CTime
+-
+-@noindent
+-@example
+-CALL CTime(@var{STime}, @var{Result})
+-@end example
+-
+-@noindent
+-@var{STime}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Result}: @code{CHARACTER}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Converts @var{STime}, a system time value, such as returned by
+-@code{TIME8()}, to a string of the form @samp{Sat Aug 19 18:13:14 1995},
+-and returns that string in @var{Result}.
+-
+-@xref{Time8 Intrinsic}.
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine.
+-
+-For information on other intrinsics with the same name:
+-@xref{CTime Intrinsic (function)}.
+-
+-@node CTime Intrinsic (function)
+-@subsubsection CTime Intrinsic (function)
+-@cindex CTime intrinsic
+-@cindex intrinsics, CTime
+-
+-@noindent
+-@example
+-CTime(@var{STime})
+-@end example
+-
+-@noindent
+-CTime: @code{CHARACTER*(*)} function.
+-
+-@noindent
+-@var{STime}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Converts @var{STime}, a system time value, such as returned by
+-@code{TIME8()}, to a string of the form @samp{Sat Aug 19 18:13:14 1995},
+-and returns that string as the function value.
+-
+-@xref{Time8 Intrinsic}.
+-
+-For information on other intrinsics with the same name:
+-@xref{CTime Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF77
+-@node DAbs Intrinsic
+-@subsubsection DAbs Intrinsic
+-@cindex DAbs intrinsic
+-@cindex intrinsics, DAbs
+-
+-@noindent
+-@example
+-DAbs(@var{A})
+-@end example
+-
+-@noindent
+-DAbs: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{ABS()} that is specific
+-to one type for @var{A}.
+-@xref{Abs Intrinsic}.
+-
+-@node DACos Intrinsic
+-@subsubsection DACos Intrinsic
+-@cindex DACos intrinsic
+-@cindex intrinsics, DACos
+-
+-@noindent
+-@example
+-DACos(@var{X})
+-@end example
+-
+-@noindent
+-DACos: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{ACOS()} that is specific
+-to one type for @var{X}.
+-@xref{ACos Intrinsic}.
+-
+-@end ifset
+-@ifset familyVXT
+-@node DACosD Intrinsic
+-@subsubsection DACosD Intrinsic
+-@cindex DACosD intrinsic
+-@cindex intrinsics, DACosD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL DACosD} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node DASin Intrinsic
+-@subsubsection DASin Intrinsic
+-@cindex DASin intrinsic
+-@cindex intrinsics, DASin
+-
+-@noindent
+-@example
+-DASin(@var{X})
+-@end example
+-
+-@noindent
+-DASin: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{ASIN()} that is specific
+-to one type for @var{X}.
+-@xref{ASin Intrinsic}.
+-
+-@end ifset
+-@ifset familyVXT
+-@node DASinD Intrinsic
+-@subsubsection DASinD Intrinsic
+-@cindex DASinD intrinsic
+-@cindex intrinsics, DASinD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL DASinD} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node DATan Intrinsic
+-@subsubsection DATan Intrinsic
+-@cindex DATan intrinsic
+-@cindex intrinsics, DATan
+-
+-@noindent
+-@example
+-DATan(@var{X})
+-@end example
+-
+-@noindent
+-DATan: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{ATAN()} that is specific
+-to one type for @var{X}.
+-@xref{ATan Intrinsic}.
+-
+-@node DATan2 Intrinsic
+-@subsubsection DATan2 Intrinsic
+-@cindex DATan2 intrinsic
+-@cindex intrinsics, DATan2
+-
+-@noindent
+-@example
+-DATan2(@var{Y}, @var{X})
+-@end example
+-
+-@noindent
+-DATan2: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{Y}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{ATAN2()} that is specific
+-to one type for @var{Y} and @var{X}.
+-@xref{ATan2 Intrinsic}.
+-
+-@end ifset
+-@ifset familyVXT
+-@node DATan2D Intrinsic
+-@subsubsection DATan2D Intrinsic
+-@cindex DATan2D intrinsic
+-@cindex intrinsics, DATan2D
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL DATan2D} to use this name for an
+-external procedure.
+-
+-@node DATanD Intrinsic
+-@subsubsection DATanD Intrinsic
+-@cindex DATanD intrinsic
+-@cindex intrinsics, DATanD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL DATanD} to use this name for an
+-external procedure.
+-
+-@node Date Intrinsic
+-@subsubsection Date Intrinsic
+-@cindex Date intrinsic
+-@cindex intrinsics, Date
+-
+-@noindent
+-@example
+-CALL Date(@var{Date})
+-@end example
+-
+-@noindent
+-@var{Date}: @code{CHARACTER}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Returns @var{Date} in the form @samp{@var{dd}-@var{mmm}-@var{yy}},
+-representing the numeric day of the month @var{dd}, a three-character
+-abbreviation of the month name @var{mmm} and the last two digits of
+-the year @var{yy}, e.g.@: @samp{25-Nov-96}.
+-
+-@cindex Y2K compliance
+-@cindex Year 2000 compliance
+-This intrinsic is not recommended, due to the year 2000 approaching.
+-Therefore, programs making use of this intrinsic
+-might not be Year 2000 (Y2K) compliant.
+-@xref{CTime Intrinsic (subroutine)}, for information on obtaining more digits
+-for the current (or any) date.
+-
+-@end ifset
+-@ifset familyF90
+-@node Date_and_Time Intrinsic
+-@subsubsection Date_and_Time Intrinsic
+-@cindex Date_and_Time intrinsic
+-@cindex intrinsics, Date_and_Time
+-
+-@noindent
+-@example
+-CALL Date_and_Time(@var{Date}, @var{Time}, @var{Zone}, @var{Values})
+-@end example
+-
+-@noindent
+-@var{Date}: @code{CHARACTER}; scalar; INTENT(OUT).
+-
+-@noindent
+-@var{Time}: @code{CHARACTER}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-@var{Zone}: @code{CHARACTER}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-@var{Values}: @code{INTEGER(KIND=1)}; OPTIONAL; DIMENSION(8); INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{f90}.
+-
+-@noindent
+-Description:
+-
+-Returns:
+-@table @var
+-@item Date
+-The date in the form @var{ccyymmdd}: century, year, month and day;
+-@item Time
+-The time in the form @samp{@var{hhmmss.ss}}: hours, minutes, seconds
+-and milliseconds;
+-@item Zone
+-The difference between local time and UTC (GMT) in the form @var{Shhmm}:
+-sign, hours and minutes, e.g.@: @samp{-0500} (winter in New York);
+-@item Values
+-The year, month of the year, day of the month, time difference in
+-minutes from UTC, hour of the day, minutes of the hour, seconds
+-of the minute, and milliseconds
+-of the second in successive values of the array.
+-@end table
+-
+-@cindex Y10K compliance
+-@cindex Year 10000 compliance
+-@cindex wraparound, Y10K
+-@cindex limits, Y10K
+-Programs making use of this intrinsic
+-might not be Year 10000 (Y10K) compliant.
+-For example, the date might appear,
+-to such programs, to wrap around
+-(change from a larger value to a smaller one)
+-as of the Year 10000.
+-
+-On systems where a millisecond timer isn't available, the millisecond
+-value is returned as zero.
+-
+-@end ifset
+-@ifset familyF2U
+-@node DbesJ0 Intrinsic
+-@subsubsection DbesJ0 Intrinsic
+-@cindex DbesJ0 intrinsic
+-@cindex intrinsics, DbesJ0
+-
+-@noindent
+-@example
+-DbesJ0(@var{X})
+-@end example
+-
+-@noindent
+-DbesJ0: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{BESJ0()} that is specific
+-to one type for @var{X}.
+-@xref{BesJ0 Intrinsic}.
+-
+-@node DbesJ1 Intrinsic
+-@subsubsection DbesJ1 Intrinsic
+-@cindex DbesJ1 intrinsic
+-@cindex intrinsics, DbesJ1
+-
+-@noindent
+-@example
+-DbesJ1(@var{X})
+-@end example
+-
+-@noindent
+-DbesJ1: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{BESJ1()} that is specific
+-to one type for @var{X}.
+-@xref{BesJ1 Intrinsic}.
+-
+-@node DbesJN Intrinsic
+-@subsubsection DbesJN Intrinsic
+-@cindex DbesJN intrinsic
+-@cindex intrinsics, DbesJN
+-
+-@noindent
+-@example
+-DbesJN(@var{N}, @var{X})
+-@end example
+-
+-@noindent
+-DbesJN: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{N}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{BESJN()} that is specific
+-to one type for @var{X}.
+-@xref{BesJN Intrinsic}.
+-
+-@node DbesY0 Intrinsic
+-@subsubsection DbesY0 Intrinsic
+-@cindex DbesY0 intrinsic
+-@cindex intrinsics, DbesY0
+-
+-@noindent
+-@example
+-DbesY0(@var{X})
+-@end example
+-
+-@noindent
+-DbesY0: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{BESY0()} that is specific
+-to one type for @var{X}.
+-@xref{BesY0 Intrinsic}.
+-
+-@node DbesY1 Intrinsic
+-@subsubsection DbesY1 Intrinsic
+-@cindex DbesY1 intrinsic
+-@cindex intrinsics, DbesY1
+-
+-@noindent
+-@example
+-DbesY1(@var{X})
+-@end example
+-
+-@noindent
+-DbesY1: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{BESY1()} that is specific
+-to one type for @var{X}.
+-@xref{BesY1 Intrinsic}.
+-
+-@node DbesYN Intrinsic
+-@subsubsection DbesYN Intrinsic
+-@cindex DbesYN intrinsic
+-@cindex intrinsics, DbesYN
+-
+-@noindent
+-@example
+-DbesYN(@var{N}, @var{X})
+-@end example
+-
+-@noindent
+-DbesYN: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{N}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{BESYN()} that is specific
+-to one type for @var{X}.
+-@xref{BesYN Intrinsic}.
+-
+-@end ifset
+-@ifset familyF77
+-@node Dble Intrinsic
+-@subsubsection Dble Intrinsic
+-@cindex Dble intrinsic
+-@cindex intrinsics, Dble
+-
+-@noindent
+-@example
+-Dble(@var{A})
+-@end example
+-
+-@noindent
+-Dble: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns @var{A} converted to double precision
+-(@code{REAL(KIND=2)}).
+-If @var{A} is @code{COMPLEX}, the real part of
+-@var{A} is used for the conversion
+-and the imaginary part disregarded.
+-
+-@xref{Sngl Intrinsic}, for the function that converts
+-to single precision.
+-
+-@xref{Int Intrinsic}, for the function that converts
+-to @code{INTEGER}.
+-
+-@xref{Complex Intrinsic}, for the function that converts
+-to @code{COMPLEX}.
+-
+-@end ifset
+-@ifset familyVXT
+-@node DbleQ Intrinsic
+-@subsubsection DbleQ Intrinsic
+-@cindex DbleQ intrinsic
+-@cindex intrinsics, DbleQ
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL DbleQ} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyFVZ
+-@node DCmplx Intrinsic
+-@subsubsection DCmplx Intrinsic
+-@cindex DCmplx intrinsic
+-@cindex intrinsics, DCmplx
+-
+-@noindent
+-@example
+-DCmplx(@var{X}, @var{Y})
+-@end example
+-
+-@noindent
+-DCmplx: @code{COMPLEX(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Y}: @code{INTEGER} or @code{REAL}; OPTIONAL (must be omitted if @var{X} is @code{COMPLEX}); scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-If @var{X} is not type @code{COMPLEX},
+-constructs a value of type @code{COMPLEX(KIND=2)} from the
+-real and imaginary values specified by @var{X} and
+-@var{Y}, respectively.
+-If @var{Y} is omitted, @samp{0D0} is assumed.
+-
+-If @var{X} is type @code{COMPLEX},
+-converts it to type @code{COMPLEX(KIND=2)}.
+-
+-Although this intrinsic is not standard Fortran,
+-it is a popular extension offered by many compilers
+-that support @code{DOUBLE COMPLEX}, since it offers
+-the easiest way to convert to @code{DOUBLE COMPLEX}
+-without using Fortran 90 features (such as the @samp{KIND=}
+-argument to the @code{CMPLX()} intrinsic).
+-
+-(@samp{CMPLX(0D0, 0D0)} returns a single-precision
+-@code{COMPLEX} result, as required by standard FORTRAN 77.
+-That's why so many compilers provide @code{DCMPLX()}, since
+-@samp{DCMPLX(0D0, 0D0)} returns a @code{DOUBLE COMPLEX}
+-result.
+-Still, @code{DCMPLX()} converts even @code{REAL*16} arguments
+-to their @code{REAL*8} equivalents in most dialects of
+-Fortran, so neither it nor @code{CMPLX()} allow easy
+-construction of arbitrary-precision values without
+-potentially forcing a conversion involving extending or
+-reducing precision.
+-GNU Fortran provides such an intrinsic, called @code{COMPLEX()}.)
+-
+-@xref{Complex Intrinsic}, for information on easily constructing
+-a @code{COMPLEX} value of arbitrary precision from @code{REAL}
+-arguments.
+-
+-@node DConjg Intrinsic
+-@subsubsection DConjg Intrinsic
+-@cindex DConjg intrinsic
+-@cindex intrinsics, DConjg
+-
+-@noindent
+-@example
+-DConjg(@var{Z})
+-@end example
+-
+-@noindent
+-DConjg: @code{COMPLEX(KIND=2)} function.
+-
+-@noindent
+-@var{Z}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{CONJG()} that is specific
+-to one type for @var{Z}.
+-@xref{Conjg Intrinsic}.
+-
+-@end ifset
+-@ifset familyF77
+-@node DCos Intrinsic
+-@subsubsection DCos Intrinsic
+-@cindex DCos intrinsic
+-@cindex intrinsics, DCos
+-
+-@noindent
+-@example
+-DCos(@var{X})
+-@end example
+-
+-@noindent
+-DCos: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{COS()} that is specific
+-to one type for @var{X}.
+-@xref{Cos Intrinsic}.
+-
+-@end ifset
+-@ifset familyVXT
+-@node DCosD Intrinsic
+-@subsubsection DCosD Intrinsic
+-@cindex DCosD intrinsic
+-@cindex intrinsics, DCosD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL DCosD} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node DCosH Intrinsic
+-@subsubsection DCosH Intrinsic
+-@cindex DCosH intrinsic
+-@cindex intrinsics, DCosH
+-
+-@noindent
+-@example
+-DCosH(@var{X})
+-@end example
+-
+-@noindent
+-DCosH: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{COSH()} that is specific
+-to one type for @var{X}.
+-@xref{CosH Intrinsic}.
+-
+-@node DDiM Intrinsic
+-@subsubsection DDiM Intrinsic
+-@cindex DDiM intrinsic
+-@cindex intrinsics, DDiM
+-
+-@noindent
+-@example
+-DDiM(@var{X}, @var{Y})
+-@end example
+-
+-@noindent
+-DDiM: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Y}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{DIM()} that is specific
+-to one type for @var{X} and @var{Y}.
+-@xref{DiM Intrinsic}.
+-
+-@end ifset
+-@ifset familyF2U
+-@node DErF Intrinsic
+-@subsubsection DErF Intrinsic
+-@cindex DErF intrinsic
+-@cindex intrinsics, DErF
+-
+-@noindent
+-@example
+-DErF(@var{X})
+-@end example
+-
+-@noindent
+-DErF: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{ERF()} that is specific
+-to one type for @var{X}.
+-@xref{ErF Intrinsic}.
+-
+-@node DErFC Intrinsic
+-@subsubsection DErFC Intrinsic
+-@cindex DErFC intrinsic
+-@cindex intrinsics, DErFC
+-
+-@noindent
+-@example
+-DErFC(@var{X})
+-@end example
+-
+-@noindent
+-DErFC: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{ERFC()} that is specific
+-to one type for @var{X}.
+-@xref{ErFC Intrinsic}.
+-
+-@end ifset
+-@ifset familyF77
+-@node DExp Intrinsic
+-@subsubsection DExp Intrinsic
+-@cindex DExp intrinsic
+-@cindex intrinsics, DExp
+-
+-@noindent
+-@example
+-DExp(@var{X})
+-@end example
+-
+-@noindent
+-DExp: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{EXP()} that is specific
+-to one type for @var{X}.
+-@xref{Exp Intrinsic}.
+-
+-@end ifset
+-@ifset familyFVZ
+-@node DFloat Intrinsic
+-@subsubsection DFloat Intrinsic
+-@cindex DFloat intrinsic
+-@cindex intrinsics, DFloat
+-
+-@noindent
+-@example
+-DFloat(@var{A})
+-@end example
+-
+-@noindent
+-DFloat: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{A}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{REAL()} that is specific
+-to one type for @var{A}.
+-@xref{Real Intrinsic}.
+-
+-@end ifset
+-@ifset familyVXT
+-@node DFlotI Intrinsic
+-@subsubsection DFlotI Intrinsic
+-@cindex DFlotI intrinsic
+-@cindex intrinsics, DFlotI
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL DFlotI} to use this name for an
+-external procedure.
+-
+-@node DFlotJ Intrinsic
+-@subsubsection DFlotJ Intrinsic
+-@cindex DFlotJ intrinsic
+-@cindex intrinsics, DFlotJ
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL DFlotJ} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF90
+-@node Digits Intrinsic
+-@subsubsection Digits Intrinsic
+-@cindex Digits intrinsic
+-@cindex intrinsics, Digits
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Digits} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node DiM Intrinsic
+-@subsubsection DiM Intrinsic
+-@cindex DiM intrinsic
+-@cindex intrinsics, DiM
+-
+-@noindent
+-@example
+-DiM(@var{X}, @var{Y})
+-@end example
+-
+-@noindent
+-DiM: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
+-types of all the arguments.
+-
+-@noindent
+-@var{X}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Y}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns @samp{@var{X}-@var{Y}} if @var{X} is greater than
+-@var{Y}; otherwise returns zero.
+-
+-@end ifset
+-@ifset familyFVZ
+-@node DImag Intrinsic
+-@subsubsection DImag Intrinsic
+-@cindex DImag intrinsic
+-@cindex intrinsics, DImag
+-
+-@noindent
+-@example
+-DImag(@var{Z})
+-@end example
+-
+-@noindent
+-DImag: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{Z}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{AIMAG()} that is specific
+-to one type for @var{Z}.
+-@xref{AImag Intrinsic}.
+-
+-@end ifset
+-@ifset familyF77
+-@node DInt Intrinsic
+-@subsubsection DInt Intrinsic
+-@cindex DInt intrinsic
+-@cindex intrinsics, DInt
+-
+-@noindent
+-@example
+-DInt(@var{A})
+-@end example
+-
+-@noindent
+-DInt: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{AINT()} that is specific
+-to one type for @var{A}.
+-@xref{AInt Intrinsic}.
+-
+-@node DLog Intrinsic
+-@subsubsection DLog Intrinsic
+-@cindex DLog intrinsic
+-@cindex intrinsics, DLog
+-
+-@noindent
+-@example
+-DLog(@var{X})
+-@end example
+-
+-@noindent
+-DLog: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{LOG()} that is specific
+-to one type for @var{X}.
+-@xref{Log Intrinsic}.
+-
+-@node DLog10 Intrinsic
+-@subsubsection DLog10 Intrinsic
+-@cindex DLog10 intrinsic
+-@cindex intrinsics, DLog10
+-
+-@noindent
+-@example
+-DLog10(@var{X})
+-@end example
+-
+-@noindent
+-DLog10: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{LOG10()} that is specific
+-to one type for @var{X}.
+-@xref{Log10 Intrinsic}.
+-
+-@node DMax1 Intrinsic
+-@subsubsection DMax1 Intrinsic
+-@cindex DMax1 intrinsic
+-@cindex intrinsics, DMax1
+-
+-@noindent
+-@example
+-DMax1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
+-@end example
+-
+-@noindent
+-DMax1: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{A}: @code{REAL(KIND=2)}; at least two such arguments must be provided; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{MAX()} that is specific
+-to one type for @var{A}.
+-@xref{Max Intrinsic}.
+-
+-@node DMin1 Intrinsic
+-@subsubsection DMin1 Intrinsic
+-@cindex DMin1 intrinsic
+-@cindex intrinsics, DMin1
+-
+-@noindent
+-@example
+-DMin1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
+-@end example
+-
+-@noindent
+-DMin1: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{A}: @code{REAL(KIND=2)}; at least two such arguments must be provided; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{MIN()} that is specific
+-to one type for @var{A}.
+-@xref{Min Intrinsic}.
+-
+-@node DMod Intrinsic
+-@subsubsection DMod Intrinsic
+-@cindex DMod intrinsic
+-@cindex intrinsics, DMod
+-
+-@noindent
+-@example
+-DMod(@var{A}, @var{P})
+-@end example
+-
+-@noindent
+-DMod: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{P}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{MOD()} that is specific
+-to one type for @var{A}.
+-@xref{Mod Intrinsic}.
+-
+-@node DNInt Intrinsic
+-@subsubsection DNInt Intrinsic
+-@cindex DNInt intrinsic
+-@cindex intrinsics, DNInt
+-
+-@noindent
+-@example
+-DNInt(@var{A})
+-@end example
+-
+-@noindent
+-DNInt: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{ANINT()} that is specific
+-to one type for @var{A}.
+-@xref{ANInt Intrinsic}.
+-
+-@end ifset
+-@ifset familyF90
+-@node Dot_Product Intrinsic
+-@subsubsection Dot_Product Intrinsic
+-@cindex Dot_Product intrinsic
+-@cindex intrinsics, Dot_Product
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Dot_Product} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node DProd Intrinsic
+-@subsubsection DProd Intrinsic
+-@cindex DProd intrinsic
+-@cindex intrinsics, DProd
+-
+-@noindent
+-@example
+-DProd(@var{X}, @var{Y})
+-@end example
+-
+-@noindent
+-DProd: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Y}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns @samp{DBLE(@var{X})*DBLE(@var{Y})}.
+-
+-@end ifset
+-@ifset familyVXT
+-@node DReal Intrinsic
+-@subsubsection DReal Intrinsic
+-@cindex DReal intrinsic
+-@cindex intrinsics, DReal
+-
+-@noindent
+-@example
+-DReal(@var{A})
+-@end example
+-
+-@noindent
+-DReal: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Converts @var{A} to @code{REAL(KIND=2)}.
+-
+-If @var{A} is type @code{COMPLEX}, its real part
+-is converted (if necessary) to @code{REAL(KIND=2)},
+-and its imaginary part is disregarded.
+-
+-Although this intrinsic is not standard Fortran,
+-it is a popular extension offered by many compilers
+-that support @code{DOUBLE COMPLEX}, since it offers
+-the easiest way to extract the real part of a @code{DOUBLE COMPLEX}
+-value without using the Fortran 90 @code{REAL()} intrinsic
+-in a way that produces a return value inconsistent with
+-the way many FORTRAN 77 compilers handle @code{REAL()} of
+-a @code{DOUBLE COMPLEX} value.
+-
+-@xref{RealPart Intrinsic}, for information on a GNU Fortran
+-intrinsic that avoids these areas of confusion.
+-
+-@xref{Dble Intrinsic}, for information on the standard FORTRAN 77
+-replacement for @code{DREAL()}.
+-
+-@xref{REAL() and AIMAG() of Complex}, for more information on
+-this issue.
+-
+-@end ifset
+-@ifset familyF77
+-@node DSign Intrinsic
+-@subsubsection DSign Intrinsic
+-@cindex DSign intrinsic
+-@cindex intrinsics, DSign
+-
+-@noindent
+-@example
+-DSign(@var{A}, @var{B})
+-@end example
+-
+-@noindent
+-DSign: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{B}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{SIGN()} that is specific
+-to one type for @var{A} and @var{B}.
+-@xref{Sign Intrinsic}.
+-
+-@node DSin Intrinsic
+-@subsubsection DSin Intrinsic
+-@cindex DSin intrinsic
+-@cindex intrinsics, DSin
+-
+-@noindent
+-@example
+-DSin(@var{X})
+-@end example
+-
+-@noindent
+-DSin: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{SIN()} that is specific
+-to one type for @var{X}.
+-@xref{Sin Intrinsic}.
+-
+-@end ifset
+-@ifset familyVXT
+-@node DSinD Intrinsic
+-@subsubsection DSinD Intrinsic
+-@cindex DSinD intrinsic
+-@cindex intrinsics, DSinD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL DSinD} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node DSinH Intrinsic
+-@subsubsection DSinH Intrinsic
+-@cindex DSinH intrinsic
+-@cindex intrinsics, DSinH
+-
+-@noindent
+-@example
+-DSinH(@var{X})
+-@end example
+-
+-@noindent
+-DSinH: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{SINH()} that is specific
+-to one type for @var{X}.
+-@xref{SinH Intrinsic}.
+-
+-@node DSqRt Intrinsic
+-@subsubsection DSqRt Intrinsic
+-@cindex DSqRt intrinsic
+-@cindex intrinsics, DSqRt
+-
+-@noindent
+-@example
+-DSqRt(@var{X})
+-@end example
+-
+-@noindent
+-DSqRt: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{SQRT()} that is specific
+-to one type for @var{X}.
+-@xref{SqRt Intrinsic}.
+-
+-@node DTan Intrinsic
+-@subsubsection DTan Intrinsic
+-@cindex DTan intrinsic
+-@cindex intrinsics, DTan
+-
+-@noindent
+-@example
+-DTan(@var{X})
+-@end example
+-
+-@noindent
+-DTan: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{TAN()} that is specific
+-to one type for @var{X}.
+-@xref{Tan Intrinsic}.
+-
+-@end ifset
+-@ifset familyVXT
+-@node DTanD Intrinsic
+-@subsubsection DTanD Intrinsic
+-@cindex DTanD intrinsic
+-@cindex intrinsics, DTanD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL DTanD} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node DTanH Intrinsic
+-@subsubsection DTanH Intrinsic
+-@cindex DTanH intrinsic
+-@cindex intrinsics, DTanH
+-
+-@noindent
+-@example
+-DTanH(@var{X})
+-@end example
+-
+-@noindent
+-DTanH: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{TANH()} that is specific
+-to one type for @var{X}.
+-@xref{TanH Intrinsic}.
+-
+-@end ifset
+-@ifset familyF2U
+-@node DTime Intrinsic (subroutine)
+-@subsubsection DTime Intrinsic (subroutine)
+-@cindex DTime intrinsic
+-@cindex intrinsics, DTime
+-
+-@noindent
+-@example
+-CALL DTime(@var{TArray}, @var{Result})
+-@end example
+-
+-@noindent
+-@var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
+-
+-@noindent
+-@var{Result}: @code{REAL(KIND=1)}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Initially, return the number of seconds of runtime
+-since the start of the process's execution
+-in @var{Result},
+-and the user and system components of this in @samp{@var{TArray}(1)}
+-and @samp{@var{TArray}(2)} respectively.
+-The value of @var{Result} is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
+-
+-Subsequent invocations of @samp{DTIME()} set values based on accumulations
+-since the previous invocation.
+-
+-@cindex wraparound, timings
+-@cindex limits, timings
+-On some systems, the underlying timings are represented
+-using types with sufficiently small limits that overflows
+-(wraparounds) are possible, such as 32-bit types.
+-Therefore, the values returned by this intrinsic
+-might be, or become, negative,
+-or numerically less than previous values,
+-during a single run of the compiled program.
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine.
+-
+-For information on other intrinsics with the same name:
+-@xref{DTime Intrinsic (function)}.
+-
+-@end ifset
+-@ifset familyBADU77
+-@node DTime Intrinsic (function)
+-@subsubsection DTime Intrinsic (function)
+-@cindex DTime intrinsic
+-@cindex intrinsics, DTime
+-
+-@noindent
+-@example
+-DTime(@var{TArray})
+-@end example
+-
+-@noindent
+-DTime: @code{REAL(KIND=1)} function.
+-
+-@noindent
+-@var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{badu77}.
+-
+-@noindent
+-Description:
+-
+-Initially, return the number of seconds of runtime
+-since the start of the process's execution
+-as the function value,
+-and the user and system components of this in @samp{@var{TArray}(1)}
+-and @samp{@var{TArray}(2)} respectively.
+-The functions' value is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
+-
+-Subsequent invocations of @samp{DTIME()} return values accumulated since the
+-previous invocation.
+-
+-@cindex wraparound, timings
+-@cindex limits, timings
+-On some systems, the underlying timings are represented
+-using types with sufficiently small limits that overflows
+-(wraparounds) are possible, such as 32-bit types.
+-Therefore, the values returned by this intrinsic
+-might be, or become, negative,
+-or numerically less than previous values,
+-during a single run of the compiled program.
+-
+-Due to the side effects performed by this intrinsic, the function
+-form is not recommended.
+-
+-For information on other intrinsics with the same name:
+-@xref{DTime Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF90
+-@node EOShift Intrinsic
+-@subsubsection EOShift Intrinsic
+-@cindex EOShift intrinsic
+-@cindex intrinsics, EOShift
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL EOShift} to use this name for an
+-external procedure.
+-
+-@node Epsilon Intrinsic
+-@subsubsection Epsilon Intrinsic
+-@cindex Epsilon intrinsic
+-@cindex intrinsics, Epsilon
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Epsilon} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2U
+-@node ErF Intrinsic
+-@subsubsection ErF Intrinsic
+-@cindex ErF intrinsic
+-@cindex intrinsics, ErF
+-
+-@noindent
+-@example
+-ErF(@var{X})
+-@end example
+-
+-@noindent
+-ErF: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the error function of @var{X}.
+-See @code{erf(3m)}, which provides the implementation.
+-
+-@node ErFC Intrinsic
+-@subsubsection ErFC Intrinsic
+-@cindex ErFC intrinsic
+-@cindex intrinsics, ErFC
+-
+-@noindent
+-@example
+-ErFC(@var{X})
+-@end example
+-
+-@noindent
+-ErFC: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the complementary error function of @var{X}:
+-@samp{ERFC(R) = 1 - ERF(R)} (except that the result might be more
+-accurate than explicitly evaluating that formulae would give).
+-See @code{erfc(3m)}, which provides the implementation.
+-
+-@node ETime Intrinsic (subroutine)
+-@subsubsection ETime Intrinsic (subroutine)
+-@cindex ETime intrinsic
+-@cindex intrinsics, ETime
+-
+-@noindent
+-@example
+-CALL ETime(@var{TArray}, @var{Result})
+-@end example
+-
+-@noindent
+-@var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
+-
+-@noindent
+-@var{Result}: @code{REAL(KIND=1)}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Return the number of seconds of runtime
+-since the start of the process's execution
+-in @var{Result},
+-and the user and system components of this in @samp{@var{TArray}(1)}
+-and @samp{@var{TArray}(2)} respectively.
+-The value of @var{Result} is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
+-
+-@cindex wraparound, timings
+-@cindex limits, timings
+-On some systems, the underlying timings are represented
+-using types with sufficiently small limits that overflows
+-(wraparounds) are possible, such as 32-bit types.
+-Therefore, the values returned by this intrinsic
+-might be, or become, negative,
+-or numerically less than previous values,
+-during a single run of the compiled program.
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine.
+-
+-For information on other intrinsics with the same name:
+-@xref{ETime Intrinsic (function)}.
+-
+-@node ETime Intrinsic (function)
+-@subsubsection ETime Intrinsic (function)
+-@cindex ETime intrinsic
+-@cindex intrinsics, ETime
+-
+-@noindent
+-@example
+-ETime(@var{TArray})
+-@end example
+-
+-@noindent
+-ETime: @code{REAL(KIND=1)} function.
+-
+-@noindent
+-@var{TArray}: @code{REAL(KIND=1)}; DIMENSION(2); INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Return the number of seconds of runtime
+-since the start of the process's execution
+-as the function value,
+-and the user and system components of this in @samp{@var{TArray}(1)}
+-and @samp{@var{TArray}(2)} respectively.
+-The functions' value is equal to @samp{@var{TArray}(1) + @var{TArray}(2)}.
+-
+-@cindex wraparound, timings
+-@cindex limits, timings
+-On some systems, the underlying timings are represented
+-using types with sufficiently small limits that overflows
+-(wraparounds) are possible, such as 32-bit types.
+-Therefore, the values returned by this intrinsic
+-might be, or become, negative,
+-or numerically less than previous values,
+-during a single run of the compiled program.
+-
+-For information on other intrinsics with the same name:
+-@xref{ETime Intrinsic (subroutine)}.
+-
+-@node Exit Intrinsic
+-@subsubsection Exit Intrinsic
+-@cindex Exit intrinsic
+-@cindex intrinsics, Exit
+-
+-@noindent
+-@example
+-CALL Exit(@var{Status})
+-@end example
+-
+-@noindent
+-@var{Status}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Exit the program with status @var{Status} after closing open Fortran
+-I/O units and otherwise behaving as @code{exit(2)}.
+-If @var{Status} is omitted the canonical `success' value
+-will be returned to the system.
+-
+-@end ifset
+-@ifset familyF77
+-@node Exp Intrinsic
+-@subsubsection Exp Intrinsic
+-@cindex Exp intrinsic
+-@cindex intrinsics, Exp
+-
+-@noindent
+-@example
+-Exp(@var{X})
+-@end example
+-
+-@noindent
+-Exp: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns @samp{@var{e}**@var{X}}, where
+-@var{e} is approximately 2.7182818.
+-
+-@xref{Log Intrinsic}, for the inverse of this function.
+-
+-@end ifset
+-@ifset familyF90
+-@node Exponent Intrinsic
+-@subsubsection Exponent Intrinsic
+-@cindex Exponent intrinsic
+-@cindex intrinsics, Exponent
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Exponent} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2U
+-@node FDate Intrinsic (subroutine)
+-@subsubsection FDate Intrinsic (subroutine)
+-@cindex FDate intrinsic
+-@cindex intrinsics, FDate
+-
+-@noindent
+-@example
+-CALL FDate(@var{Date})
+-@end example
+-
+-@noindent
+-@var{Date}: @code{CHARACTER}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the current date (using the same format as @code{CTIME()})
+-in @var{Date}.
+-
+-Equivalent to:
+-
+-@example
+-CALL CTIME(@var{Date}, TIME8())
+-@end example
+-
+-@cindex Y10K compliance
+-@cindex Year 10000 compliance
+-@cindex wraparound, Y10K
+-@cindex limits, Y10K
+-Programs making use of this intrinsic
+-might not be Year 10000 (Y10K) compliant.
+-For example, the date might appear,
+-to such programs, to wrap around
+-(change from a larger value to a smaller one)
+-as of the Year 10000.
+-
+-@xref{CTime Intrinsic (subroutine)}.
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine.
+-
+-For information on other intrinsics with the same name:
+-@xref{FDate Intrinsic (function)}.
+-
+-@node FDate Intrinsic (function)
+-@subsubsection FDate Intrinsic (function)
+-@cindex FDate intrinsic
+-@cindex intrinsics, FDate
+-
+-@noindent
+-@example
+-FDate()
+-@end example
+-
+-@noindent
+-FDate: @code{CHARACTER*(*)} function.
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the current date (using the same format as @code{CTIME()}).
+-
+-Equivalent to:
+-
+-@example
+-CTIME(TIME8())
+-@end example
+-
+-@cindex Y10K compliance
+-@cindex Year 10000 compliance
+-@cindex wraparound, Y10K
+-@cindex limits, Y10K
+-Programs making use of this intrinsic
+-might not be Year 10000 (Y10K) compliant.
+-For example, the date might appear,
+-to such programs, to wrap around
+-(change from a larger value to a smaller one)
+-as of the Year 10000.
+-
+-@xref{CTime Intrinsic (function)}.
+-
+-For information on other intrinsics with the same name:
+-@xref{FDate Intrinsic (subroutine)}.
+-
+-@node FGet Intrinsic (subroutine)
+-@subsubsection FGet Intrinsic (subroutine)
+-@cindex FGet intrinsic
+-@cindex intrinsics, FGet
+-
+-@noindent
+-@example
+-CALL FGet(@var{C}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Reads a single character into @var{C} in stream mode from unit 5
+-(by-passing normal formatted output) using @code{getc(3)}.
+-Returns in
+-@var{Status} 0 on success, @minus{}1 on end-of-file, and the error code
+-from @code{ferror(3)} otherwise.
+-
+-Stream I/O should not be mixed with normal record-oriented (formatted or
+-unformatted) I/O on the same unit; the results are unpredictable.
+-
+-For information on other intrinsics with the same name:
+-@xref{FGet Intrinsic (function)}.
+-
+-@end ifset
+-@ifset familyBADU77
+-@node FGet Intrinsic (function)
+-@subsubsection FGet Intrinsic (function)
+-@cindex FGet intrinsic
+-@cindex intrinsics, FGet
+-
+-@noindent
+-@example
+-FGet(@var{C})
+-@end example
+-
+-@noindent
+-FGet: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{badu77}.
+-
+-@noindent
+-Description:
+-
+-Reads a single character into @var{C} in stream mode from unit 5
+-(by-passing normal formatted input) using @code{getc(3)}.
+-Returns 0 on
+-success, @minus{}1 on end-of-file, and the error code from
+-@code{ferror(3)} otherwise.
+-
+-Stream I/O should not be mixed with normal record-oriented (formatted or
+-unformatted) I/O on the same unit; the results are unpredictable.
+-
+-For information on other intrinsics with the same name:
+-@xref{FGet Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF2U
+-@node FGetC Intrinsic (subroutine)
+-@subsubsection FGetC Intrinsic (subroutine)
+-@cindex FGetC intrinsic
+-@cindex intrinsics, FGetC
+-
+-@noindent
+-@example
+-CALL FGetC(@var{Unit}, @var{C}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Reads a single character into @var{C} in stream mode from unit @var{Unit}
+-(by-passing normal formatted output) using @code{getc(3)}.
+-Returns in
+-@var{Status} 0 on success, @minus{}1 on end-of-file, and the error code from
+-@code{ferror(3)} otherwise.
+-
+-Stream I/O should not be mixed with normal record-oriented (formatted or
+-unformatted) I/O on the same unit; the results are unpredictable.
+-
+-For information on other intrinsics with the same name:
+-@xref{FGetC Intrinsic (function)}.
+-
+-@end ifset
+-@ifset familyBADU77
+-@node FGetC Intrinsic (function)
+-@subsubsection FGetC Intrinsic (function)
+-@cindex FGetC intrinsic
+-@cindex intrinsics, FGetC
+-
+-@noindent
+-@example
+-FGetC(@var{Unit}, @var{C})
+-@end example
+-
+-@noindent
+-FGetC: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{C}: @code{CHARACTER}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{badu77}.
+-
+-@noindent
+-Description:
+-
+-Reads a single character into @var{C} in stream mode from unit @var{Unit}
+-(by-passing normal formatted output) using @code{getc(3)}.
+-Returns 0 on
+-success, @minus{}1 on end-of-file, and the error code from
+-@code{ferror(3)} otherwise.
+-
+-Stream I/O should not be mixed with normal record-oriented (formatted or
+-unformatted) I/O on the same unit; the results are unpredictable.
+-
+-For information on other intrinsics with the same name:
+-@xref{FGetC Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF77
+-@node Float Intrinsic
+-@subsubsection Float Intrinsic
+-@cindex Float intrinsic
+-@cindex intrinsics, Float
+-
+-@noindent
+-@example
+-Float(@var{A})
+-@end example
+-
+-@noindent
+-Float: @code{REAL(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{REAL()} that is specific
+-to one type for @var{A}.
+-@xref{Real Intrinsic}.
+-
+-@end ifset
+-@ifset familyVXT
+-@node FloatI Intrinsic
+-@subsubsection FloatI Intrinsic
+-@cindex FloatI intrinsic
+-@cindex intrinsics, FloatI
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL FloatI} to use this name for an
+-external procedure.
+-
+-@node FloatJ Intrinsic
+-@subsubsection FloatJ Intrinsic
+-@cindex FloatJ intrinsic
+-@cindex intrinsics, FloatJ
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL FloatJ} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF90
+-@node Floor Intrinsic
+-@subsubsection Floor Intrinsic
+-@cindex Floor intrinsic
+-@cindex intrinsics, Floor
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Floor} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2U
+-@node Flush Intrinsic
+-@subsubsection Flush Intrinsic
+-@cindex Flush intrinsic
+-@cindex intrinsics, Flush
+-
+-@noindent
+-@example
+-CALL Flush(@var{Unit})
+-@end example
+-
+-@noindent
+-@var{Unit}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Flushes Fortran unit(s) currently open for output.
+-Without the optional argument, all such units are flushed,
+-otherwise just the unit specified by @var{Unit}.
+-
+-Some non-GNU implementations of Fortran provide this intrinsic
+-as a library procedure that might or might not support the
+-(optional) @var{Unit} argument.
+-
+-@node FNum Intrinsic
+-@subsubsection FNum Intrinsic
+-@cindex FNum intrinsic
+-@cindex intrinsics, FNum
+-
+-@noindent
+-@example
+-FNum(@var{Unit})
+-@end example
+-
+-@noindent
+-FNum: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the Unix file descriptor number corresponding to the open
+-Fortran I/O unit @var{Unit}.
+-This could be passed to an interface to C I/O routines.
+-
+-@node FPut Intrinsic (subroutine)
+-@subsubsection FPut Intrinsic (subroutine)
+-@cindex FPut intrinsic
+-@cindex intrinsics, FPut
+-
+-@noindent
+-@example
+-CALL FPut(@var{C}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Writes the single character @var{C} in stream mode to unit 6
+-(by-passing normal formatted output) using @code{putc(3)}.
+-Returns in
+-@var{Status} 0 on success, the error code from @code{ferror(3)} otherwise.
+-
+-Stream I/O should not be mixed with normal record-oriented (formatted or
+-unformatted) I/O on the same unit; the results are unpredictable.
+-
+-For information on other intrinsics with the same name:
+-@xref{FPut Intrinsic (function)}.
+-
+-@end ifset
+-@ifset familyBADU77
+-@node FPut Intrinsic (function)
+-@subsubsection FPut Intrinsic (function)
+-@cindex FPut intrinsic
+-@cindex intrinsics, FPut
+-
+-@noindent
+-@example
+-FPut(@var{C})
+-@end example
+-
+-@noindent
+-FPut: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{badu77}.
+-
+-@noindent
+-Description:
+-
+-Writes the single character @var{C} in stream mode to unit 6
+-(by-passing normal formatted output) using @code{getc(3)}.
+-Returns 0 on
+-success, the error code from @code{ferror(3)} otherwise.
+-
+-Stream I/O should not be mixed with normal record-oriented (formatted or
+-unformatted) I/O on the same unit; the results are unpredictable.
+-
+-For information on other intrinsics with the same name:
+-@xref{FPut Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF2U
+-@node FPutC Intrinsic (subroutine)
+-@subsubsection FPutC Intrinsic (subroutine)
+-@cindex FPutC intrinsic
+-@cindex intrinsics, FPutC
+-
+-@noindent
+-@example
+-CALL FPutC(@var{Unit}, @var{C}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Writes the single character @var{Unit} in stream mode to unit 6
+-(by-passing normal formatted output) using @code{putc(3)}.
+-Returns in
+-@var{C} 0 on success, the error code from @code{ferror(3)} otherwise.
+-
+-Stream I/O should not be mixed with normal record-oriented (formatted or
+-unformatted) I/O on the same unit; the results are unpredictable.
+-
+-For information on other intrinsics with the same name:
+-@xref{FPutC Intrinsic (function)}.
+-
+-@end ifset
+-@ifset familyBADU77
+-@node FPutC Intrinsic (function)
+-@subsubsection FPutC Intrinsic (function)
+-@cindex FPutC intrinsic
+-@cindex intrinsics, FPutC
+-
+-@noindent
+-@example
+-FPutC(@var{Unit}, @var{C})
+-@end example
+-
+-@noindent
+-FPutC: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{badu77}.
+-
+-@noindent
+-Description:
+-
+-Writes the single character @var{C} in stream mode to unit @var{Unit}
+-(by-passing normal formatted output) using @code{putc(3)}.
+-Returns 0 on
+-success, the error code from @code{ferror(3)} otherwise.
+-
+-Stream I/O should not be mixed with normal record-oriented (formatted or
+-unformatted) I/O on the same unit; the results are unpredictable.
+-
+-For information on other intrinsics with the same name:
+-@xref{FPutC Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF90
+-@node Fraction Intrinsic
+-@subsubsection Fraction Intrinsic
+-@cindex Fraction intrinsic
+-@cindex intrinsics, Fraction
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Fraction} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2U
+-@node FSeek Intrinsic
+-@subsubsection FSeek Intrinsic
+-@cindex FSeek intrinsic
+-@cindex intrinsics, FSeek
+-
+-@noindent
+-@example
+-CALL FSeek(@var{Unit}, @var{Offset}, @var{Whence}, @var{ErrLab})
+-@end example
+-
+-@noindent
+-@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Offset}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Whence}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{ErrLab}: @samp{*@var{label}}, where @var{label} is the label
+-of an executable statement; OPTIONAL.
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Attempts to move Fortran unit @var{Unit} to the specified
+-@var{Offset}: absolute offset if @var{Whence}=0; relative to the
+-current offset if @var{Whence}=1; relative to the end of the file if
+-@var{Whence}=2.
+-It branches to label @var{ErrLab} if @var{Unit} is
+-not open or if the call otherwise fails.
+-
+-@node FStat Intrinsic (subroutine)
+-@subsubsection FStat Intrinsic (subroutine)
+-@cindex FStat intrinsic
+-@cindex intrinsics, FStat
+-
+-@noindent
+-@example
+-CALL FStat(@var{Unit}, @var{SArray}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Obtains data about the file open on Fortran I/O unit @var{Unit} and
+-places them in the array @var{SArray}.
+-The values in this array are
+-extracted from the @code{stat} structure as returned by
+-@code{fstat(2)} q.v., as follows:
+-
+-@enumerate
+-@item
+-Device ID
+-
+-@item
+-Inode number
+-
+-@item
+-File mode
+-
+-@item
+-Number of links
+-
+-@item
+-Owner's uid
+-
+-@item
+-Owner's gid
+-
+-@item
+-ID of device containing directory entry for file
+-(0 if not available)
+-
+-@item
+-File size (bytes)
+-
+-@item
+-Last access time
+-
+-@item
+-Last modification time
+-
+-@item
+-Last file status change time
+-
+-@item
+-Preferred I/O block size (-1 if not available)
+-
+-@item
+-Number of blocks allocated (-1 if not available)
+-@end enumerate
+-
+-Not all these elements are relevant on all systems.
+-If an element is not relevant, it is returned as 0.
+-
+-If the @var{Status} argument is supplied, it contains
+-0 on success or a non-zero error code upon return.
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine, or do not support the
+-(optional) @var{Status} argument.
+-
+-For information on other intrinsics with the same name:
+-@xref{FStat Intrinsic (function)}.
+-
+-@node FStat Intrinsic (function)
+-@subsubsection FStat Intrinsic (function)
+-@cindex FStat intrinsic
+-@cindex intrinsics, FStat
+-
+-@noindent
+-@example
+-FStat(@var{Unit}, @var{SArray})
+-@end example
+-
+-@noindent
+-FStat: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Obtains data about the file open on Fortran I/O unit @var{Unit} and
+-places them in the array @var{SArray}.
+-The values in this array are
+-extracted from the @code{stat} structure as returned by
+-@code{fstat(2)} q.v., as follows:
+-
+-@enumerate
+-@item
+-Device ID
+-
+-@item
+-Inode number
+-
+-@item
+-File mode
+-
+-@item
+-Number of links
+-
+-@item
+-Owner's uid
+-
+-@item
+-Owner's gid
+-
+-@item
+-ID of device containing directory entry for file
+-(0 if not available)
+-
+-@item
+-File size (bytes)
+-
+-@item
+-Last access time
+-
+-@item
+-Last modification time
+-
+-@item
+-Last file status change time
+-
+-@item
+-Preferred I/O block size (-1 if not available)
+-
+-@item
+-Number of blocks allocated (-1 if not available)
+-@end enumerate
+-
+-Not all these elements are relevant on all systems.
+-If an element is not relevant, it is returned as 0.
+-
+-Returns 0 on success or a non-zero error code.
+-
+-For information on other intrinsics with the same name:
+-@xref{FStat Intrinsic (subroutine)}.
+-
+-@node FTell Intrinsic (subroutine)
+-@subsubsection FTell Intrinsic (subroutine)
+-@cindex FTell intrinsic
+-@cindex intrinsics, FTell
+-
+-@noindent
+-@example
+-CALL FTell(@var{Unit}, @var{Offset})
+-@end example
+-
+-@noindent
+-@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Offset}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Sets @var{Offset} to the current offset of Fortran unit @var{Unit}
+-(or to @minus{}1 if @var{Unit} is not open).
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine.
+-
+-For information on other intrinsics with the same name:
+-@xref{FTell Intrinsic (function)}.
+-
+-@node FTell Intrinsic (function)
+-@subsubsection FTell Intrinsic (function)
+-@cindex FTell intrinsic
+-@cindex intrinsics, FTell
+-
+-@noindent
+-@example
+-FTell(@var{Unit})
+-@end example
+-
+-@noindent
+-FTell: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the current offset of Fortran unit @var{Unit}
+-(or @minus{}1 if @var{Unit} is not open).
+-
+-For information on other intrinsics with the same name:
+-@xref{FTell Intrinsic (subroutine)}.
+-
+-@node GError Intrinsic
+-@subsubsection GError Intrinsic
+-@cindex GError intrinsic
+-@cindex intrinsics, GError
+-
+-@noindent
+-@example
+-CALL GError(@var{Message})
+-@end example
+-
+-@noindent
+-@var{Message}: @code{CHARACTER}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the system error message corresponding to the last system
+-error (C @code{errno}).
+-
+-@node GetArg Intrinsic
+-@subsubsection GetArg Intrinsic
+-@cindex GetArg intrinsic
+-@cindex intrinsics, GetArg
+-
+-@noindent
+-@example
+-CALL GetArg(@var{Pos}, @var{Value})
+-@end example
+-
+-@noindent
+-@var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Value}: @code{CHARACTER}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Sets @var{Value} to the @var{Pos}-th command-line argument (or to all
+-blanks if there are fewer than @var{Value} command-line arguments);
+-@code{CALL GETARG(0, @var{value})} sets @var{value} to the name of the
+-program (on systems that support this feature).
+-
+-@xref{IArgC Intrinsic}, for information on how to get the number
+-of arguments.
+-
+-@node GetCWD Intrinsic (subroutine)
+-@subsubsection GetCWD Intrinsic (subroutine)
+-@cindex GetCWD intrinsic
+-@cindex intrinsics, GetCWD
+-
+-@noindent
+-@example
+-CALL GetCWD(@var{Name}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Places the current working directory in @var{Name}.
+-If the @var{Status} argument is supplied, it contains 0
+-success or a non-zero error code upon return
+-(@code{ENOSYS} if the system does not provide @code{getcwd(3)}
+-or @code{getwd(3)}).
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine, or do not support the
+-(optional) @var{Status} argument.
+-
+-For information on other intrinsics with the same name:
+-@xref{GetCWD Intrinsic (function)}.
+-
+-@node GetCWD Intrinsic (function)
+-@subsubsection GetCWD Intrinsic (function)
+-@cindex GetCWD intrinsic
+-@cindex intrinsics, GetCWD
+-
+-@noindent
+-@example
+-GetCWD(@var{Name})
+-@end example
+-
+-@noindent
+-GetCWD: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Places the current working directory in @var{Name}.
+-Returns 0 on
+-success, otherwise a non-zero error code
+-(@code{ENOSYS} if the system does not provide @code{getcwd(3)}
+-or @code{getwd(3)}).
+-
+-For information on other intrinsics with the same name:
+-@xref{GetCWD Intrinsic (subroutine)}.
+-
+-@node GetEnv Intrinsic
+-@subsubsection GetEnv Intrinsic
+-@cindex GetEnv intrinsic
+-@cindex intrinsics, GetEnv
+-
+-@noindent
+-@example
+-CALL GetEnv(@var{Name}, @var{Value})
+-@end example
+-
+-@noindent
+-@var{Name}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Value}: @code{CHARACTER}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Sets @var{Value} to the value of environment variable given by the
+-value of @var{Name} (@code{$name} in shell terms) or to blanks if
+-@code{$name} has not been set.
+-A null character (@samp{CHAR(0)}) marks the end of
+-the name in @var{Name}---otherwise,
+-trailing blanks in @var{Name} are ignored.
+-
+-@node GetGId Intrinsic
+-@subsubsection GetGId Intrinsic
+-@cindex GetGId intrinsic
+-@cindex intrinsics, GetGId
+-
+-@noindent
+-@example
+-GetGId()
+-@end example
+-
+-@noindent
+-GetGId: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the group id for the current process.
+-
+-@node GetLog Intrinsic
+-@subsubsection GetLog Intrinsic
+-@cindex GetLog intrinsic
+-@cindex intrinsics, GetLog
+-
+-@noindent
+-@example
+-CALL GetLog(@var{Login})
+-@end example
+-
+-@noindent
+-@var{Login}: @code{CHARACTER}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the login name for the process in @var{Login}.
+-
+-@emph{Caution:} On some systems, the @code{getlogin(3)}
+-function, which this intrinsic calls at run time,
+-is either not implemented or returns a null pointer.
+-In the latter case, this intrinsic returns blanks
+-in @var{Login}.
+-
+-@node GetPId Intrinsic
+-@subsubsection GetPId Intrinsic
+-@cindex GetPId intrinsic
+-@cindex intrinsics, GetPId
+-
+-@noindent
+-@example
+-GetPId()
+-@end example
+-
+-@noindent
+-GetPId: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the process id for the current process.
+-
+-@node GetUId Intrinsic
+-@subsubsection GetUId Intrinsic
+-@cindex GetUId intrinsic
+-@cindex intrinsics, GetUId
+-
+-@noindent
+-@example
+-GetUId()
+-@end example
+-
+-@noindent
+-GetUId: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the user id for the current process.
+-
+-@node GMTime Intrinsic
+-@subsubsection GMTime Intrinsic
+-@cindex GMTime intrinsic
+-@cindex intrinsics, GMTime
+-
+-@noindent
+-@example
+-CALL GMTime(@var{STime}, @var{TArray})
+-@end example
+-
+-@noindent
+-@var{STime}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(9); INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Given a system time value @var{STime}, fills @var{TArray} with values
+-extracted from it appropriate to the GMT time zone using
+-@code{gmtime(3)}.
+-
+-The array elements are as follows:
+-
+-@enumerate
+-@item
+-Seconds after the minute, range 0--59 or 0--61 to allow for leap
+-seconds
+-
+-@item
+-Minutes after the hour, range 0--59
+-
+-@item
+-Hours past midnight, range 0--23
+-
+-@item
+-Day of month, range 0--31
+-
+-@item
+-Number of months since January, range 0--12
+-
+-@item
+-Years since 1900
+-
+-@item
+-Number of days since Sunday, range 0--6
+-
+-@item
+-Days since January 1
+-
+-@item
+-Daylight savings indicator: positive if daylight savings is in effect,
+-zero if not, and negative if the information isn't available.
+-@end enumerate
+-
+-@node HostNm Intrinsic (subroutine)
+-@subsubsection HostNm Intrinsic (subroutine)
+-@cindex HostNm intrinsic
+-@cindex intrinsics, HostNm
+-
+-@noindent
+-@example
+-CALL HostNm(@var{Name}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Fills @var{Name} with the system's host name returned by
+-@code{gethostname(2)}.
+-If the @var{Status} argument is supplied, it contains
+-0 on success or a non-zero error code upon return
+-(@code{ENOSYS} if the system does not provide @code{gethostname(2)}).
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine, or do not support the
+-(optional) @var{Status} argument.
+-
+-On some systems (specifically SCO) it might be necessary to link the
+-``socket'' library if you call this routine.
+-Typically this means adding @samp{-lg2c -lsocket -lm}
+-to the @code{g77} command line when linking the program.
+-
+-For information on other intrinsics with the same name:
+-@xref{HostNm Intrinsic (function)}.
+-
+-@node HostNm Intrinsic (function)
+-@subsubsection HostNm Intrinsic (function)
+-@cindex HostNm intrinsic
+-@cindex intrinsics, HostNm
+-
+-@noindent
+-@example
+-HostNm(@var{Name})
+-@end example
+-
+-@noindent
+-HostNm: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Fills @var{Name} with the system's host name returned by
+-@code{gethostname(2)}, returning 0 on success or a non-zero error code
+-(@code{ENOSYS} if the system does not provide @code{gethostname(2)}).
+-
+-On some systems (specifically SCO) it might be necessary to link the
+-``socket'' library if you call this routine.
+-Typically this means adding @samp{-lg2c -lsocket -lm}
+-to the @code{g77} command line when linking the program.
+-
+-For information on other intrinsics with the same name:
+-@xref{HostNm Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF90
+-@node Huge Intrinsic
+-@subsubsection Huge Intrinsic
+-@cindex Huge intrinsic
+-@cindex intrinsics, Huge
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Huge} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node IAbs Intrinsic
+-@subsubsection IAbs Intrinsic
+-@cindex IAbs intrinsic
+-@cindex intrinsics, IAbs
+-
+-@noindent
+-@example
+-IAbs(@var{A})
+-@end example
+-
+-@noindent
+-IAbs: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{ABS()} that is specific
+-to one type for @var{A}.
+-@xref{Abs Intrinsic}.
+-
+-@end ifset
+-@ifset familyASC
+-@node IAChar Intrinsic
+-@subsubsection IAChar Intrinsic
+-@cindex IAChar intrinsic
+-@cindex intrinsics, IAChar
+-
+-@noindent
+-@example
+-IAChar(@var{C})
+-@end example
+-
+-@noindent
+-IAChar: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}, @code{f90}.
+-
+-@noindent
+-Description:
+-
+-Returns the code for the ASCII character in the
+-first character position of @var{C}.
+-
+-@xref{AChar Intrinsic}, for the inverse of this function.
+-
+-@xref{IChar Intrinsic}, for the function corresponding
+-to the system's native character set.
+-
+-@end ifset
+-@ifset familyMIL
+-@node IAnd Intrinsic
+-@subsubsection IAnd Intrinsic
+-@cindex IAnd intrinsic
+-@cindex intrinsics, IAnd
+-
+-@noindent
+-@example
+-IAnd(@var{I}, @var{J})
+-@end example
+-
+-@noindent
+-IAnd: @code{INTEGER} function, the exact type being the result of cross-promoting the
+-types of all the arguments.
+-
+-@noindent
+-@var{I}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{J}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Returns value resulting from boolean AND of
+-pair of bits in each of @var{I} and @var{J}.
+-
+-@end ifset
+-@ifset familyF2U
+-@node IArgC Intrinsic
+-@subsubsection IArgC Intrinsic
+-@cindex IArgC intrinsic
+-@cindex intrinsics, IArgC
+-
+-@noindent
+-@example
+-IArgC()
+-@end example
+-
+-@noindent
+-IArgC: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the number of command-line arguments.
+-
+-This count does not include the specification of the program
+-name itself.
+-
+-@end ifset
+-@ifset familyMIL
+-@node IBClr Intrinsic
+-@subsubsection IBClr Intrinsic
+-@cindex IBClr intrinsic
+-@cindex intrinsics, IBClr
+-
+-@noindent
+-@example
+-IBClr(@var{I}, @var{Pos})
+-@end example
+-
+-@noindent
+-IBClr: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
+-
+-@noindent
+-@var{I}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Returns the value of @var{I} with bit @var{Pos} cleared (set to
+-zero).
+-@xref{BTest Intrinsic}, for information on bit positions.
+-
+-@node IBits Intrinsic
+-@subsubsection IBits Intrinsic
+-@cindex IBits intrinsic
+-@cindex intrinsics, IBits
+-
+-@noindent
+-@example
+-IBits(@var{I}, @var{Pos}, @var{Len})
+-@end example
+-
+-@noindent
+-IBits: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
+-
+-@noindent
+-@var{I}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Len}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Extracts a subfield of length @var{Len} from @var{I}, starting from
+-bit position @var{Pos} and extending left for @var{Len} bits.
+-The result is right-justified and the remaining bits are zeroed.
+-The value
+-of @samp{@var{Pos}+@var{Len}} must be less than or equal to the value
+-@samp{BIT_SIZE(@var{I})}.
+-@xref{Bit_Size Intrinsic}.
+-
+-@node IBSet Intrinsic
+-@subsubsection IBSet Intrinsic
+-@cindex IBSet intrinsic
+-@cindex intrinsics, IBSet
+-
+-@noindent
+-@example
+-IBSet(@var{I}, @var{Pos})
+-@end example
+-
+-@noindent
+-IBSet: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
+-
+-@noindent
+-@var{I}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Pos}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Returns the value of @var{I} with bit @var{Pos} set (to one).
+-@xref{BTest Intrinsic}, for information on bit positions.
+-
+-@end ifset
+-@ifset familyF77
+-@node IChar Intrinsic
+-@subsubsection IChar Intrinsic
+-@cindex IChar intrinsic
+-@cindex intrinsics, IChar
+-
+-@noindent
+-@example
+-IChar(@var{C})
+-@end example
+-
+-@noindent
+-IChar: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{C}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the code for the character in the
+-first character position of @var{C}.
+-
+-Because the system's native character set is used,
+-the correspondence between character and their codes
+-is not necessarily the same between GNU Fortran
+-implementations.
+-
+-Note that no intrinsic exists to convert a printable
+-character string to a numerical value.
+-For example, there is no intrinsic that, given
+-the @code{CHARACTER} value @samp{'154'}, returns an
+-@code{INTEGER} or @code{REAL} value with the value @samp{154}.
+-
+-Instead, you can use internal-file I/O to do this kind
+-of conversion.
+-For example:
+-
+-@smallexample
+-INTEGER VALUE
+-CHARACTER*10 STRING
+-STRING = '154'
+-READ (STRING, '(I10)'), VALUE
+-PRINT *, VALUE
+-END
+-@end smallexample
+-
+-The above program, when run, prints:
+-
+-@smallexample
+- 154
+-@end smallexample
+-
+-@xref{Char Intrinsic}, for the inverse of the @code{ICHAR} function.
+-
+-@xref{IAChar Intrinsic}, for the function corresponding
+-to the ASCII character set.
+-
+-@end ifset
+-@ifset familyF2U
+-@node IDate Intrinsic (UNIX)
+-@subsubsection IDate Intrinsic (UNIX)
+-@cindex IDate intrinsic
+-@cindex intrinsics, IDate
+-
+-@noindent
+-@example
+-CALL IDate(@var{TArray})
+-@end example
+-
+-@noindent
+-@var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(3); INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Fills @var{TArray} with the numerical values at the current local time
+-of day, month (in the range 1--12), and year in elements 1, 2, and 3,
+-respectively.
+-The year has four significant digits.
+-
+-@cindex Y10K compliance
+-@cindex Year 10000 compliance
+-@cindex wraparound, Y10K
+-@cindex limits, Y10K
+-Programs making use of this intrinsic
+-might not be Year 10000 (Y10K) compliant.
+-For example, the date might appear,
+-to such programs, to wrap around
+-(change from a larger value to a smaller one)
+-as of the Year 10000.
+-
+-For information on other intrinsics with the same name:
+-@xref{IDate Intrinsic (VXT)}.
+-
+-@end ifset
+-@ifset familyVXT
+-@node IDate Intrinsic (VXT)
+-@subsubsection IDate Intrinsic (VXT)
+-@cindex IDate intrinsic
+-@cindex intrinsics, IDate
+-
+-@noindent
+-@example
+-CALL IDate(@var{M}, @var{D}, @var{Y})
+-@end example
+-
+-@noindent
+-@var{M}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
+-
+-@noindent
+-@var{D}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
+-
+-@noindent
+-@var{Y}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Returns the numerical values of the current local time.
+-The month (in the range 1--12) is returned in @var{M},
+-the day (in the range 1--7) in @var{D},
+-and the year in @var{Y} (in the range 0--99).
+-
+-@cindex Y2K compliance
+-@cindex Year 2000 compliance
+-@cindex wraparound, Y2K
+-@cindex limits, Y2K
+-This intrinsic is not recommended, due to the year 2000 approaching.
+-Therefore, programs making use of this intrinsic
+-might not be Year 2000 (Y2K) compliant.
+-For example, the date might appear,
+-to such programs, to wrap around
+-(change from a larger value to a smaller one)
+-as of the Year 2000.
+-
+-@xref{IDate Intrinsic (UNIX)}, for information on obtaining more digits
+-for the current date.
+-
+-For information on other intrinsics with the same name:
+-@xref{IDate Intrinsic (UNIX)}.
+-
+-@end ifset
+-@ifset familyF77
+-@node IDiM Intrinsic
+-@subsubsection IDiM Intrinsic
+-@cindex IDiM intrinsic
+-@cindex intrinsics, IDiM
+-
+-@noindent
+-@example
+-IDiM(@var{X}, @var{Y})
+-@end example
+-
+-@noindent
+-IDiM: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{X}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Y}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{DIM()} that is specific
+-to one type for @var{X} and @var{Y}.
+-@xref{DiM Intrinsic}.
+-
+-@node IDInt Intrinsic
+-@subsubsection IDInt Intrinsic
+-@cindex IDInt intrinsic
+-@cindex intrinsics, IDInt
+-
+-@noindent
+-@example
+-IDInt(@var{A})
+-@end example
+-
+-@noindent
+-IDInt: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{INT()} that is specific
+-to one type for @var{A}.
+-@xref{Int Intrinsic}.
+-
+-@node IDNInt Intrinsic
+-@subsubsection IDNInt Intrinsic
+-@cindex IDNInt intrinsic
+-@cindex intrinsics, IDNInt
+-
+-@noindent
+-@example
+-IDNInt(@var{A})
+-@end example
+-
+-@noindent
+-IDNInt: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{NINT()} that is specific
+-to one type for @var{A}.
+-@xref{NInt Intrinsic}.
+-
+-@end ifset
+-@ifset familyMIL
+-@node IEOr Intrinsic
+-@subsubsection IEOr Intrinsic
+-@cindex IEOr intrinsic
+-@cindex intrinsics, IEOr
+-
+-@noindent
+-@example
+-IEOr(@var{I}, @var{J})
+-@end example
+-
+-@noindent
+-IEOr: @code{INTEGER} function, the exact type being the result of cross-promoting the
+-types of all the arguments.
+-
+-@noindent
+-@var{I}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{J}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Returns value resulting from boolean exclusive-OR of
+-pair of bits in each of @var{I} and @var{J}.
+-
+-@end ifset
+-@ifset familyF2U
+-@node IErrNo Intrinsic
+-@subsubsection IErrNo Intrinsic
+-@cindex IErrNo intrinsic
+-@cindex intrinsics, IErrNo
+-
+-@noindent
+-@example
+-IErrNo()
+-@end example
+-
+-@noindent
+-IErrNo: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the last system error number (corresponding to the C
+-@code{errno}).
+-
+-@end ifset
+-@ifset familyF77
+-@node IFix Intrinsic
+-@subsubsection IFix Intrinsic
+-@cindex IFix intrinsic
+-@cindex intrinsics, IFix
+-
+-@noindent
+-@example
+-IFix(@var{A})
+-@end example
+-
+-@noindent
+-IFix: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{INT()} that is specific
+-to one type for @var{A}.
+-@xref{Int Intrinsic}.
+-
+-@end ifset
+-@ifset familyVXT
+-@node IIAbs Intrinsic
+-@subsubsection IIAbs Intrinsic
+-@cindex IIAbs intrinsic
+-@cindex intrinsics, IIAbs
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IIAbs} to use this name for an
+-external procedure.
+-
+-@node IIAnd Intrinsic
+-@subsubsection IIAnd Intrinsic
+-@cindex IIAnd intrinsic
+-@cindex intrinsics, IIAnd
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IIAnd} to use this name for an
+-external procedure.
+-
+-@node IIBClr Intrinsic
+-@subsubsection IIBClr Intrinsic
+-@cindex IIBClr intrinsic
+-@cindex intrinsics, IIBClr
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IIBClr} to use this name for an
+-external procedure.
+-
+-@node IIBits Intrinsic
+-@subsubsection IIBits Intrinsic
+-@cindex IIBits intrinsic
+-@cindex intrinsics, IIBits
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IIBits} to use this name for an
+-external procedure.
+-
+-@node IIBSet Intrinsic
+-@subsubsection IIBSet Intrinsic
+-@cindex IIBSet intrinsic
+-@cindex intrinsics, IIBSet
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IIBSet} to use this name for an
+-external procedure.
+-
+-@node IIDiM Intrinsic
+-@subsubsection IIDiM Intrinsic
+-@cindex IIDiM intrinsic
+-@cindex intrinsics, IIDiM
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IIDiM} to use this name for an
+-external procedure.
+-
+-@node IIDInt Intrinsic
+-@subsubsection IIDInt Intrinsic
+-@cindex IIDInt intrinsic
+-@cindex intrinsics, IIDInt
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IIDInt} to use this name for an
+-external procedure.
+-
+-@node IIDNnt Intrinsic
+-@subsubsection IIDNnt Intrinsic
+-@cindex IIDNnt intrinsic
+-@cindex intrinsics, IIDNnt
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IIDNnt} to use this name for an
+-external procedure.
+-
+-@node IIEOr Intrinsic
+-@subsubsection IIEOr Intrinsic
+-@cindex IIEOr intrinsic
+-@cindex intrinsics, IIEOr
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IIEOr} to use this name for an
+-external procedure.
+-
+-@node IIFix Intrinsic
+-@subsubsection IIFix Intrinsic
+-@cindex IIFix intrinsic
+-@cindex intrinsics, IIFix
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IIFix} to use this name for an
+-external procedure.
+-
+-@node IInt Intrinsic
+-@subsubsection IInt Intrinsic
+-@cindex IInt intrinsic
+-@cindex intrinsics, IInt
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IInt} to use this name for an
+-external procedure.
+-
+-@node IIOr Intrinsic
+-@subsubsection IIOr Intrinsic
+-@cindex IIOr intrinsic
+-@cindex intrinsics, IIOr
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IIOr} to use this name for an
+-external procedure.
+-
+-@node IIQint Intrinsic
+-@subsubsection IIQint Intrinsic
+-@cindex IIQint intrinsic
+-@cindex intrinsics, IIQint
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IIQint} to use this name for an
+-external procedure.
+-
+-@node IIQNnt Intrinsic
+-@subsubsection IIQNnt Intrinsic
+-@cindex IIQNnt intrinsic
+-@cindex intrinsics, IIQNnt
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IIQNnt} to use this name for an
+-external procedure.
+-
+-@node IIShftC Intrinsic
+-@subsubsection IIShftC Intrinsic
+-@cindex IIShftC intrinsic
+-@cindex intrinsics, IIShftC
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IIShftC} to use this name for an
+-external procedure.
+-
+-@node IISign Intrinsic
+-@subsubsection IISign Intrinsic
+-@cindex IISign intrinsic
+-@cindex intrinsics, IISign
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IISign} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2C
+-@node Imag Intrinsic
+-@subsubsection Imag Intrinsic
+-@cindex Imag intrinsic
+-@cindex intrinsics, Imag
+-
+-@noindent
+-@example
+-Imag(@var{Z})
+-@end example
+-
+-@noindent
+-Imag: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
+-
+-@noindent
+-@var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}.
+-
+-@noindent
+-Description:
+-
+-The imaginary part of @var{Z} is returned, without conversion.
+-
+-@emph{Note:} The way to do this in standard Fortran 90
+-is @samp{AIMAG(@var{Z})}.
+-However, when, for example, @var{Z} is @code{DOUBLE COMPLEX},
+-@samp{AIMAG(@var{Z})} means something different for some compilers
+-that are not true Fortran 90 compilers but offer some
+-extensions standardized by Fortran 90 (such as the
+-@code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
+-
+-The advantage of @code{IMAG()} is that, while not necessarily
+-more or less portable than @code{AIMAG()}, it is more likely to
+-cause a compiler that doesn't support it to produce a diagnostic
+-than generate incorrect code.
+-
+-@xref{REAL() and AIMAG() of Complex}, for more information.
+-
+-@end ifset
+-@ifset familyGNU
+-@node ImagPart Intrinsic
+-@subsubsection ImagPart Intrinsic
+-@cindex ImagPart intrinsic
+-@cindex intrinsics, ImagPart
+-
+-@noindent
+-@example
+-ImagPart(@var{Z})
+-@end example
+-
+-@noindent
+-ImagPart: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
+-
+-@noindent
+-@var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{gnu}.
+-
+-@noindent
+-Description:
+-
+-The imaginary part of @var{Z} is returned, without conversion.
+-
+-@emph{Note:} The way to do this in standard Fortran 90
+-is @samp{AIMAG(@var{Z})}.
+-However, when, for example, @var{Z} is @code{DOUBLE COMPLEX},
+-@samp{AIMAG(@var{Z})} means something different for some compilers
+-that are not true Fortran 90 compilers but offer some
+-extensions standardized by Fortran 90 (such as the
+-@code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
+-
+-The advantage of @code{IMAGPART()} is that, while not necessarily
+-more or less portable than @code{AIMAG()}, it is more likely to
+-cause a compiler that doesn't support it to produce a diagnostic
+-than generate incorrect code.
+-
+-@xref{REAL() and AIMAG() of Complex}, for more information.
+-
+-@end ifset
+-@ifset familyVXT
+-@node IMax0 Intrinsic
+-@subsubsection IMax0 Intrinsic
+-@cindex IMax0 intrinsic
+-@cindex intrinsics, IMax0
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IMax0} to use this name for an
+-external procedure.
+-
+-@node IMax1 Intrinsic
+-@subsubsection IMax1 Intrinsic
+-@cindex IMax1 intrinsic
+-@cindex intrinsics, IMax1
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IMax1} to use this name for an
+-external procedure.
+-
+-@node IMin0 Intrinsic
+-@subsubsection IMin0 Intrinsic
+-@cindex IMin0 intrinsic
+-@cindex intrinsics, IMin0
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IMin0} to use this name for an
+-external procedure.
+-
+-@node IMin1 Intrinsic
+-@subsubsection IMin1 Intrinsic
+-@cindex IMin1 intrinsic
+-@cindex intrinsics, IMin1
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IMin1} to use this name for an
+-external procedure.
+-
+-@node IMod Intrinsic
+-@subsubsection IMod Intrinsic
+-@cindex IMod intrinsic
+-@cindex intrinsics, IMod
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IMod} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node Index Intrinsic
+-@subsubsection Index Intrinsic
+-@cindex Index intrinsic
+-@cindex intrinsics, Index
+-
+-@noindent
+-@example
+-Index(@var{String}, @var{Substring})
+-@end example
+-
+-@noindent
+-Index: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{String}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Substring}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the position of the start of the first occurrence of string
+-@var{Substring} as a substring in @var{String}, counting from one.
+-If @var{Substring} doesn't occur in @var{String}, zero is returned.
+-
+-@end ifset
+-@ifset familyVXT
+-@node INInt Intrinsic
+-@subsubsection INInt Intrinsic
+-@cindex INInt intrinsic
+-@cindex intrinsics, INInt
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL INInt} to use this name for an
+-external procedure.
+-
+-@node INot Intrinsic
+-@subsubsection INot Intrinsic
+-@cindex INot intrinsic
+-@cindex intrinsics, INot
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL INot} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node Int Intrinsic
+-@subsubsection Int Intrinsic
+-@cindex Int intrinsic
+-@cindex intrinsics, Int
+-
+-@noindent
+-@example
+-Int(@var{A})
+-@end example
+-
+-@noindent
+-Int: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns @var{A} with the fractional portion of its
+-magnitude truncated and its sign preserved, converted
+-to type @code{INTEGER(KIND=1)}.
+-
+-If @var{A} is type @code{COMPLEX}, its real part is
+-truncated and converted, and its imaginary part is disregarded.
+-
+-@xref{NInt Intrinsic}, for how to convert, rounded to nearest
+-whole number.
+-
+-@xref{AInt Intrinsic}, for how to truncate to whole number
+-without converting.
+-
+-@end ifset
+-@ifset familyGNU
+-@node Int2 Intrinsic
+-@subsubsection Int2 Intrinsic
+-@cindex Int2 intrinsic
+-@cindex intrinsics, Int2
+-
+-@noindent
+-@example
+-Int2(@var{A})
+-@end example
+-
+-@noindent
+-Int2: @code{INTEGER(KIND=6)} function.
+-
+-@noindent
+-@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{gnu}.
+-
+-@noindent
+-Description:
+-
+-Returns @var{A} with the fractional portion of its
+-magnitude truncated and its sign preserved, converted
+-to type @code{INTEGER(KIND=6)}.
+-
+-If @var{A} is type @code{COMPLEX}, its real part
+-is truncated and converted, and its imaginary part is disgregarded.
+-
+-@xref{Int Intrinsic}.
+-
+-The precise meaning of this intrinsic might change
+-in a future version of the GNU Fortran language,
+-as more is learned about how it is used.
+-
+-@node Int8 Intrinsic
+-@subsubsection Int8 Intrinsic
+-@cindex Int8 intrinsic
+-@cindex intrinsics, Int8
+-
+-@noindent
+-@example
+-Int8(@var{A})
+-@end example
+-
+-@noindent
+-Int8: @code{INTEGER(KIND=2)} function.
+-
+-@noindent
+-@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{gnu}.
+-
+-@noindent
+-Description:
+-
+-Returns @var{A} with the fractional portion of its
+-magnitude truncated and its sign preserved, converted
+-to type @code{INTEGER(KIND=2)}.
+-
+-If @var{A} is type @code{COMPLEX}, its real part
+-is truncated and converted, and its imaginary part is disgregarded.
+-
+-@xref{Int Intrinsic}.
+-
+-The precise meaning of this intrinsic might change
+-in a future version of the GNU Fortran language,
+-as more is learned about how it is used.
+-
+-@end ifset
+-@ifset familyMIL
+-@node IOr Intrinsic
+-@subsubsection IOr Intrinsic
+-@cindex IOr intrinsic
+-@cindex intrinsics, IOr
+-
+-@noindent
+-@example
+-IOr(@var{I}, @var{J})
+-@end example
+-
+-@noindent
+-IOr: @code{INTEGER} function, the exact type being the result of cross-promoting the
+-types of all the arguments.
+-
+-@noindent
+-@var{I}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{J}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Returns value resulting from boolean OR of
+-pair of bits in each of @var{I} and @var{J}.
+-
+-@end ifset
+-@ifset familyF2U
+-@node IRand Intrinsic
+-@subsubsection IRand Intrinsic
+-@cindex IRand intrinsic
+-@cindex intrinsics, IRand
+-
+-@noindent
+-@example
+-IRand(@var{Flag})
+-@end example
+-
+-@noindent
+-IRand: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{Flag}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns a uniform quasi-random number up to a system-dependent limit.
+-If @var{Flag} is 0, the next number in sequence is returned; if
+-@var{Flag} is 1, the generator is restarted by calling the UNIX function
+-@samp{srand(0)}; if @var{Flag} has any other value,
+-it is used as a new seed with @code{srand()}.
+-
+-@xref{SRand Intrinsic}.
+-
+-@emph{Note:} As typically implemented (by the routine of the same
+-name in the C library), this random number generator is a very poor
+-one, though the BSD and GNU libraries provide a much better
+-implementation than the `traditional' one.
+-On a different system you almost certainly want to use something better.
+-
+-@node IsaTty Intrinsic
+-@subsubsection IsaTty Intrinsic
+-@cindex IsaTty intrinsic
+-@cindex intrinsics, IsaTty
+-
+-@noindent
+-@example
+-IsaTty(@var{Unit})
+-@end example
+-
+-@noindent
+-IsaTty: @code{LOGICAL(KIND=1)} function.
+-
+-@noindent
+-@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns @code{.TRUE.} if and only if the Fortran I/O unit
+-specified by @var{Unit} is connected
+-to a terminal device.
+-See @code{isatty(3)}.
+-
+-@end ifset
+-@ifset familyMIL
+-@node IShft Intrinsic
+-@subsubsection IShft Intrinsic
+-@cindex IShft intrinsic
+-@cindex intrinsics, IShft
+-
+-@noindent
+-@example
+-IShft(@var{I}, @var{Shift})
+-@end example
+-
+-@noindent
+-IShft: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
+-
+-@noindent
+-@var{I}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-All bits representing @var{I} are shifted @var{Shift} places.
+-@samp{@var{Shift}.GT.0} indicates a left shift, @samp{@var{Shift}.EQ.0}
+-indicates no shift and @samp{@var{Shift}.LT.0} indicates a right shift.
+-If the absolute value of the shift count is greater than
+-@samp{BIT_SIZE(@var{I})}, the result is undefined.
+-Bits shifted out from the left end or the right end are lost.
+-Zeros are shifted in from the opposite end.
+-
+-@xref{IShftC Intrinsic}, for the circular-shift equivalent.
+-
+-@node IShftC Intrinsic
+-@subsubsection IShftC Intrinsic
+-@cindex IShftC intrinsic
+-@cindex intrinsics, IShftC
+-
+-@noindent
+-@example
+-IShftC(@var{I}, @var{Shift}, @var{Size})
+-@end example
+-
+-@noindent
+-IShftC: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
+-
+-@noindent
+-@var{I}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Size}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-The rightmost @var{Size} bits of the argument @var{I}
+-are shifted circularly @var{Shift}
+-places, i.e.@: the bits shifted out of one end are shifted into
+-the opposite end.
+-No bits are lost.
+-The unshifted bits of the result are the same as
+-the unshifted bits of @var{I}.
+-The absolute value of the argument @var{Shift}
+-must be less than or equal to @var{Size}.
+-The value of @var{Size} must be greater than or equal to one and less than
+-or equal to @samp{BIT_SIZE(@var{I})}.
+-
+-@xref{IShft Intrinsic}, for the logical shift equivalent.
+-
+-@end ifset
+-@ifset familyF77
+-@node ISign Intrinsic
+-@subsubsection ISign Intrinsic
+-@cindex ISign intrinsic
+-@cindex intrinsics, ISign
+-
+-@noindent
+-@example
+-ISign(@var{A}, @var{B})
+-@end example
+-
+-@noindent
+-ISign: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{B}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{SIGN()} that is specific
+-to one type for @var{A} and @var{B}.
+-@xref{Sign Intrinsic}.
+-
+-@end ifset
+-@ifset familyF2U
+-@node ITime Intrinsic
+-@subsubsection ITime Intrinsic
+-@cindex ITime intrinsic
+-@cindex intrinsics, ITime
+-
+-@noindent
+-@example
+-CALL ITime(@var{TArray})
+-@end example
+-
+-@noindent
+-@var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(3); INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the current local time hour, minutes, and seconds in elements
+-1, 2, and 3 of @var{TArray}, respectively.
+-
+-@end ifset
+-@ifset familyVXT
+-@node IZExt Intrinsic
+-@subsubsection IZExt Intrinsic
+-@cindex IZExt intrinsic
+-@cindex intrinsics, IZExt
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL IZExt} to use this name for an
+-external procedure.
+-
+-@node JIAbs Intrinsic
+-@subsubsection JIAbs Intrinsic
+-@cindex JIAbs intrinsic
+-@cindex intrinsics, JIAbs
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JIAbs} to use this name for an
+-external procedure.
+-
+-@node JIAnd Intrinsic
+-@subsubsection JIAnd Intrinsic
+-@cindex JIAnd intrinsic
+-@cindex intrinsics, JIAnd
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JIAnd} to use this name for an
+-external procedure.
+-
+-@node JIBClr Intrinsic
+-@subsubsection JIBClr Intrinsic
+-@cindex JIBClr intrinsic
+-@cindex intrinsics, JIBClr
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JIBClr} to use this name for an
+-external procedure.
+-
+-@node JIBits Intrinsic
+-@subsubsection JIBits Intrinsic
+-@cindex JIBits intrinsic
+-@cindex intrinsics, JIBits
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JIBits} to use this name for an
+-external procedure.
+-
+-@node JIBSet Intrinsic
+-@subsubsection JIBSet Intrinsic
+-@cindex JIBSet intrinsic
+-@cindex intrinsics, JIBSet
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JIBSet} to use this name for an
+-external procedure.
+-
+-@node JIDiM Intrinsic
+-@subsubsection JIDiM Intrinsic
+-@cindex JIDiM intrinsic
+-@cindex intrinsics, JIDiM
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JIDiM} to use this name for an
+-external procedure.
+-
+-@node JIDInt Intrinsic
+-@subsubsection JIDInt Intrinsic
+-@cindex JIDInt intrinsic
+-@cindex intrinsics, JIDInt
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JIDInt} to use this name for an
+-external procedure.
+-
+-@node JIDNnt Intrinsic
+-@subsubsection JIDNnt Intrinsic
+-@cindex JIDNnt intrinsic
+-@cindex intrinsics, JIDNnt
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JIDNnt} to use this name for an
+-external procedure.
+-
+-@node JIEOr Intrinsic
+-@subsubsection JIEOr Intrinsic
+-@cindex JIEOr intrinsic
+-@cindex intrinsics, JIEOr
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JIEOr} to use this name for an
+-external procedure.
+-
+-@node JIFix Intrinsic
+-@subsubsection JIFix Intrinsic
+-@cindex JIFix intrinsic
+-@cindex intrinsics, JIFix
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JIFix} to use this name for an
+-external procedure.
+-
+-@node JInt Intrinsic
+-@subsubsection JInt Intrinsic
+-@cindex JInt intrinsic
+-@cindex intrinsics, JInt
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JInt} to use this name for an
+-external procedure.
+-
+-@node JIOr Intrinsic
+-@subsubsection JIOr Intrinsic
+-@cindex JIOr intrinsic
+-@cindex intrinsics, JIOr
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JIOr} to use this name for an
+-external procedure.
+-
+-@node JIQint Intrinsic
+-@subsubsection JIQint Intrinsic
+-@cindex JIQint intrinsic
+-@cindex intrinsics, JIQint
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JIQint} to use this name for an
+-external procedure.
+-
+-@node JIQNnt Intrinsic
+-@subsubsection JIQNnt Intrinsic
+-@cindex JIQNnt intrinsic
+-@cindex intrinsics, JIQNnt
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JIQNnt} to use this name for an
+-external procedure.
+-
+-@node JIShft Intrinsic
+-@subsubsection JIShft Intrinsic
+-@cindex JIShft intrinsic
+-@cindex intrinsics, JIShft
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JIShft} to use this name for an
+-external procedure.
+-
+-@node JIShftC Intrinsic
+-@subsubsection JIShftC Intrinsic
+-@cindex JIShftC intrinsic
+-@cindex intrinsics, JIShftC
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JIShftC} to use this name for an
+-external procedure.
+-
+-@node JISign Intrinsic
+-@subsubsection JISign Intrinsic
+-@cindex JISign intrinsic
+-@cindex intrinsics, JISign
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JISign} to use this name for an
+-external procedure.
+-
+-@node JMax0 Intrinsic
+-@subsubsection JMax0 Intrinsic
+-@cindex JMax0 intrinsic
+-@cindex intrinsics, JMax0
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JMax0} to use this name for an
+-external procedure.
+-
+-@node JMax1 Intrinsic
+-@subsubsection JMax1 Intrinsic
+-@cindex JMax1 intrinsic
+-@cindex intrinsics, JMax1
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JMax1} to use this name for an
+-external procedure.
+-
+-@node JMin0 Intrinsic
+-@subsubsection JMin0 Intrinsic
+-@cindex JMin0 intrinsic
+-@cindex intrinsics, JMin0
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JMin0} to use this name for an
+-external procedure.
+-
+-@node JMin1 Intrinsic
+-@subsubsection JMin1 Intrinsic
+-@cindex JMin1 intrinsic
+-@cindex intrinsics, JMin1
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JMin1} to use this name for an
+-external procedure.
+-
+-@node JMod Intrinsic
+-@subsubsection JMod Intrinsic
+-@cindex JMod intrinsic
+-@cindex intrinsics, JMod
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JMod} to use this name for an
+-external procedure.
+-
+-@node JNInt Intrinsic
+-@subsubsection JNInt Intrinsic
+-@cindex JNInt intrinsic
+-@cindex intrinsics, JNInt
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JNInt} to use this name for an
+-external procedure.
+-
+-@node JNot Intrinsic
+-@subsubsection JNot Intrinsic
+-@cindex JNot intrinsic
+-@cindex intrinsics, JNot
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JNot} to use this name for an
+-external procedure.
+-
+-@node JZExt Intrinsic
+-@subsubsection JZExt Intrinsic
+-@cindex JZExt intrinsic
+-@cindex intrinsics, JZExt
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL JZExt} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2U
+-@node Kill Intrinsic (subroutine)
+-@subsubsection Kill Intrinsic (subroutine)
+-@cindex Kill intrinsic
+-@cindex intrinsics, Kill
+-
+-@noindent
+-@example
+-CALL Kill(@var{Pid}, @var{Signal}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{Pid}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Signal}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Sends the signal specified by @var{Signal} to the process @var{Pid}.
+-If the @var{Status} argument is supplied, it contains
+-0 on success or a non-zero error code upon return.
+-See @code{kill(2)}.
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine, or do not support the
+-(optional) @var{Status} argument.
+-
+-For information on other intrinsics with the same name:
+-@xref{Kill Intrinsic (function)}.
+-
+-@end ifset
+-@ifset familyBADU77
+-@node Kill Intrinsic (function)
+-@subsubsection Kill Intrinsic (function)
+-@cindex Kill intrinsic
+-@cindex intrinsics, Kill
+-
+-@noindent
+-@example
+-Kill(@var{Pid}, @var{Signal})
+-@end example
+-
+-@noindent
+-Kill: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{Pid}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Signal}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{badu77}.
+-
+-@noindent
+-Description:
+-
+-Sends the signal specified by @var{Signal} to the process @var{Pid}.
+-Returns 0 on success or a non-zero error code.
+-See @code{kill(2)}.
+-
+-Due to the side effects performed by this intrinsic, the function
+-form is not recommended.
+-
+-For information on other intrinsics with the same name:
+-@xref{Kill Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF90
+-@node Kind Intrinsic
+-@subsubsection Kind Intrinsic
+-@cindex Kind intrinsic
+-@cindex intrinsics, Kind
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Kind} to use this name for an
+-external procedure.
+-
+-@node LBound Intrinsic
+-@subsubsection LBound Intrinsic
+-@cindex LBound intrinsic
+-@cindex intrinsics, LBound
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL LBound} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node Len Intrinsic
+-@subsubsection Len Intrinsic
+-@cindex Len intrinsic
+-@cindex intrinsics, Len
+-
+-@noindent
+-@example
+-Len(@var{String})
+-@end example
+-
+-@noindent
+-Len: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{String}: @code{CHARACTER}; scalar.
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the length of @var{String}.
+-
+-If @var{String} is an array, the length of an element
+-of @var{String} is returned.
+-
+-Note that @var{String} need not be defined when this
+-intrinsic is invoked, since only the length, not
+-the content, of @var{String} is needed.
+-
+-@xref{Bit_Size Intrinsic}, for the function that determines
+-the size of its argument in bits.
+-
+-@end ifset
+-@ifset familyF90
+-@node Len_Trim Intrinsic
+-@subsubsection Len_Trim Intrinsic
+-@cindex Len_Trim intrinsic
+-@cindex intrinsics, Len_Trim
+-
+-@noindent
+-@example
+-Len_Trim(@var{String})
+-@end example
+-
+-@noindent
+-Len_Trim: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{String}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f90}.
+-
+-@noindent
+-Description:
+-
+-Returns the index of the last non-blank character in @var{String}.
+-@code{LNBLNK} and @code{LEN_TRIM} are equivalent.
+-
+-@end ifset
+-@ifset familyF77
+-@node LGe Intrinsic
+-@subsubsection LGe Intrinsic
+-@cindex LGe intrinsic
+-@cindex intrinsics, LGe
+-
+-@noindent
+-@example
+-LGe(@var{String_A}, @var{String_B})
+-@end example
+-
+-@noindent
+-LGe: @code{LOGICAL(KIND=1)} function.
+-
+-@noindent
+-@var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns @samp{.TRUE.} if @samp{@var{String_A}.GE.@var{String_B}},
+-@samp{.FALSE.} otherwise.
+-@var{String_A} and @var{String_B} are interpreted as containing
+-ASCII character codes.
+-If either value contains a character not in the ASCII
+-character set, the result is processor dependent.
+-
+-If the @var{String_A} and @var{String_B} are not the same length,
+-the shorter is compared as if spaces were appended to
+-it to form a value that has the same length as the longer.
+-
+-The lexical comparison intrinsics @code{LGe}, @code{LGt},
+-@code{LLe}, and @code{LLt} differ from the corresponding
+-intrinsic operators @code{.GE.}, @code{.GT.},
+-@code{.LE.}, @code{.LT.}.
+-Because the ASCII collating sequence is assumed,
+-the following expressions always return @samp{.TRUE.}:
+-
+-@smallexample
+-LGE ('0', ' ')
+-LGE ('A', '0')
+-LGE ('a', 'A')
+-@end smallexample
+-
+-The following related expressions do @emph{not} always
+-return @samp{.TRUE.}, as they are not necessarily evaluated
+-assuming the arguments use ASCII encoding:
+-
+-@smallexample
+-'0' .GE. ' '
+-'A' .GE. '0'
+-'a' .GE. 'A'
+-@end smallexample
+-
+-The same difference exists
+-between @code{LGt} and @code{.GT.};
+-between @code{LLe} and @code{.LE.}; and
+-between @code{LLt} and @code{.LT.}.
+-
+-@node LGt Intrinsic
+-@subsubsection LGt Intrinsic
+-@cindex LGt intrinsic
+-@cindex intrinsics, LGt
+-
+-@noindent
+-@example
+-LGt(@var{String_A}, @var{String_B})
+-@end example
+-
+-@noindent
+-LGt: @code{LOGICAL(KIND=1)} function.
+-
+-@noindent
+-@var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns @samp{.TRUE.} if @samp{@var{String_A}.GT.@var{String_B}},
+-@samp{.FALSE.} otherwise.
+-@var{String_A} and @var{String_B} are interpreted as containing
+-ASCII character codes.
+-If either value contains a character not in the ASCII
+-character set, the result is processor dependent.
+-
+-If the @var{String_A} and @var{String_B} are not the same length,
+-the shorter is compared as if spaces were appended to
+-it to form a value that has the same length as the longer.
+-
+-@xref{LGe Intrinsic}, for information on the distinction
+-between the @code{LGT} intrinsic and the @code{.GT.}
+-operator.
+-
+-@end ifset
+-@ifset familyF2U
+-@node Link Intrinsic (subroutine)
+-@subsubsection Link Intrinsic (subroutine)
+-@cindex Link intrinsic
+-@cindex intrinsics, Link
+-
+-@noindent
+-@example
+-CALL Link(@var{Path1}, @var{Path2}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Makes a (hard) link from file @var{Path1} to @var{Path2}.
+-A null character (@samp{CHAR(0)}) marks the end of
+-the names in @var{Path1} and @var{Path2}---otherwise,
+-trailing blanks in @var{Path1} and @var{Path2} are ignored.
+-If the @var{Status} argument is supplied, it contains
+-0 on success or a non-zero error code upon return.
+-See @code{link(2)}.
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine, or do not support the
+-(optional) @var{Status} argument.
+-
+-For information on other intrinsics with the same name:
+-@xref{Link Intrinsic (function)}.
+-
+-@end ifset
+-@ifset familyBADU77
+-@node Link Intrinsic (function)
+-@subsubsection Link Intrinsic (function)
+-@cindex Link intrinsic
+-@cindex intrinsics, Link
+-
+-@noindent
+-@example
+-Link(@var{Path1}, @var{Path2})
+-@end example
+-
+-@noindent
+-Link: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{badu77}.
+-
+-@noindent
+-Description:
+-
+-Makes a (hard) link from file @var{Path1} to @var{Path2}.
+-A null character (@samp{CHAR(0)}) marks the end of
+-the names in @var{Path1} and @var{Path2}---otherwise,
+-trailing blanks in @var{Path1} and @var{Path2} are ignored.
+-Returns 0 on success or a non-zero error code.
+-See @code{link(2)}.
+-
+-Due to the side effects performed by this intrinsic, the function
+-form is not recommended.
+-
+-For information on other intrinsics with the same name:
+-@xref{Link Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF77
+-@node LLe Intrinsic
+-@subsubsection LLe Intrinsic
+-@cindex LLe intrinsic
+-@cindex intrinsics, LLe
+-
+-@noindent
+-@example
+-LLe(@var{String_A}, @var{String_B})
+-@end example
+-
+-@noindent
+-LLe: @code{LOGICAL(KIND=1)} function.
+-
+-@noindent
+-@var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns @samp{.TRUE.} if @samp{@var{String_A}.LE.@var{String_B}},
+-@samp{.FALSE.} otherwise.
+-@var{String_A} and @var{String_B} are interpreted as containing
+-ASCII character codes.
+-If either value contains a character not in the ASCII
+-character set, the result is processor dependent.
+-
+-If the @var{String_A} and @var{String_B} are not the same length,
+-the shorter is compared as if spaces were appended to
+-it to form a value that has the same length as the longer.
+-
+-@xref{LGe Intrinsic}, for information on the distinction
+-between the @code{LLE} intrinsic and the @code{.LE.}
+-operator.
+-
+-@node LLt Intrinsic
+-@subsubsection LLt Intrinsic
+-@cindex LLt intrinsic
+-@cindex intrinsics, LLt
+-
+-@noindent
+-@example
+-LLt(@var{String_A}, @var{String_B})
+-@end example
+-
+-@noindent
+-LLt: @code{LOGICAL(KIND=1)} function.
+-
+-@noindent
+-@var{String_A}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{String_B}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns @samp{.TRUE.} if @samp{@var{String_A}.LT.@var{String_B}},
+-@samp{.FALSE.} otherwise.
+-@var{String_A} and @var{String_B} are interpreted as containing
+-ASCII character codes.
+-If either value contains a character not in the ASCII
+-character set, the result is processor dependent.
+-
+-If the @var{String_A} and @var{String_B} are not the same length,
+-the shorter is compared as if spaces were appended to
+-it to form a value that has the same length as the longer.
+-
+-@xref{LGe Intrinsic}, for information on the distinction
+-between the @code{LLT} intrinsic and the @code{.LT.}
+-operator.
+-
+-@end ifset
+-@ifset familyF2U
+-@node LnBlnk Intrinsic
+-@subsubsection LnBlnk Intrinsic
+-@cindex LnBlnk intrinsic
+-@cindex intrinsics, LnBlnk
+-
+-@noindent
+-@example
+-LnBlnk(@var{String})
+-@end example
+-
+-@noindent
+-LnBlnk: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{String}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the index of the last non-blank character in @var{String}.
+-@code{LNBLNK} and @code{LEN_TRIM} are equivalent.
+-
+-@node Loc Intrinsic
+-@subsubsection Loc Intrinsic
+-@cindex Loc intrinsic
+-@cindex intrinsics, Loc
+-
+-@noindent
+-@example
+-Loc(@var{Entity})
+-@end example
+-
+-@noindent
+-Loc: @code{INTEGER(KIND=7)} function.
+-
+-@noindent
+-@var{Entity}: Any type; cannot be a constant or expression.
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-The @code{LOC()} intrinsic works the
+-same way as the @code{%LOC()} construct.
+-@xref{%LOC(),,The @code{%LOC()} Construct}, for
+-more information.
+-
+-@end ifset
+-@ifset familyF77
+-@node Log Intrinsic
+-@subsubsection Log Intrinsic
+-@cindex Log intrinsic
+-@cindex intrinsics, Log
+-
+-@noindent
+-@example
+-Log(@var{X})
+-@end example
+-
+-@noindent
+-Log: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the natural logarithm of @var{X}, which must
+-be greater than zero or, if type @code{COMPLEX}, must not
+-be zero.
+-
+-@xref{Exp Intrinsic}, for the inverse of this function.
+-
+-@xref{Log10 Intrinsic}, for the `common' (base-10) logarithm function.
+-
+-@node Log10 Intrinsic
+-@subsubsection Log10 Intrinsic
+-@cindex Log10 intrinsic
+-@cindex intrinsics, Log10
+-
+-@noindent
+-@example
+-Log10(@var{X})
+-@end example
+-
+-@noindent
+-Log10: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the common logarithm (base 10) of @var{X}, which must
+-be greater than zero.
+-
+-The inverse of this function is @samp{10. ** LOG10(@var{X})}.
+-
+-@xref{Log Intrinsic}, for the natural logarithm function.
+-
+-@end ifset
+-@ifset familyF90
+-@node Logical Intrinsic
+-@subsubsection Logical Intrinsic
+-@cindex Logical intrinsic
+-@cindex intrinsics, Logical
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Logical} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2U
+-@node Long Intrinsic
+-@subsubsection Long Intrinsic
+-@cindex Long intrinsic
+-@cindex intrinsics, Long
+-
+-@noindent
+-@example
+-Long(@var{A})
+-@end example
+-
+-@noindent
+-Long: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{INTEGER(KIND=6)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{INT()} that is specific
+-to one type for @var{A}.
+-@xref{Int Intrinsic}.
+-
+-The precise meaning of this intrinsic might change
+-in a future version of the GNU Fortran language,
+-as more is learned about how it is used.
+-
+-@end ifset
+-@ifset familyF2C
+-@node LShift Intrinsic
+-@subsubsection LShift Intrinsic
+-@cindex LShift intrinsic
+-@cindex intrinsics, LShift
+-
+-@noindent
+-@example
+-LShift(@var{I}, @var{Shift})
+-@end example
+-
+-@noindent
+-LShift: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
+-
+-@noindent
+-@var{I}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}.
+-
+-@noindent
+-Description:
+-
+-Returns @var{I} shifted to the left
+-@var{Shift} bits.
+-
+-Although similar to the expression
+-@samp{@var{I}*(2**@var{Shift})}, there
+-are important differences.
+-For example, the sign of the result is
+-not necessarily the same as the sign of
+-@var{I}.
+-
+-Currently this intrinsic is defined assuming
+-the underlying representation of @var{I}
+-is as a two's-complement integer.
+-It is unclear at this point whether that
+-definition will apply when a different
+-representation is involved.
+-
+-@xref{LShift Intrinsic}, for the inverse of this function.
+-
+-@xref{IShft Intrinsic}, for information
+-on a more widely available left-shifting
+-intrinsic that is also more precisely defined.
+-
+-@end ifset
+-@ifset familyF2U
+-@node LStat Intrinsic (subroutine)
+-@subsubsection LStat Intrinsic (subroutine)
+-@cindex LStat intrinsic
+-@cindex intrinsics, LStat
+-
+-@noindent
+-@example
+-CALL LStat(@var{File}, @var{SArray}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Obtains data about the given file @var{File} and places them in the array
+-@var{SArray}.
+-A null character (@samp{CHAR(0)}) marks the end of
+-the name in @var{File}---otherwise,
+-trailing blanks in @var{File} are ignored.
+-If @var{File} is a symbolic link it returns data on the
+-link itself, so the routine is available only on systems that support
+-symbolic links.
+-The values in this array are extracted from the
+-@code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
+-
+-@enumerate
+-@item
+-Device ID
+-
+-@item
+-Inode number
+-
+-@item
+-File mode
+-
+-@item
+-Number of links
+-
+-@item
+-Owner's uid
+-
+-@item
+-Owner's gid
+-
+-@item
+-ID of device containing directory entry for file
+-(0 if not available)
+-
+-@item
+-File size (bytes)
+-
+-@item
+-Last access time
+-
+-@item
+-Last modification time
+-
+-@item
+-Last file status change time
+-
+-@item
+-Preferred I/O block size (-1 if not available)
+-
+-@item
+-Number of blocks allocated (-1 if not available)
+-@end enumerate
+-
+-Not all these elements are relevant on all systems.
+-If an element is not relevant, it is returned as 0.
+-
+-If the @var{Status} argument is supplied, it contains
+-0 on success or a non-zero error code upon return
+-(@code{ENOSYS} if the system does not provide @code{lstat(2)}).
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine, or do not support the
+-(optional) @var{Status} argument.
+-
+-For information on other intrinsics with the same name:
+-@xref{LStat Intrinsic (function)}.
+-
+-@node LStat Intrinsic (function)
+-@subsubsection LStat Intrinsic (function)
+-@cindex LStat intrinsic
+-@cindex intrinsics, LStat
+-
+-@noindent
+-@example
+-LStat(@var{File}, @var{SArray})
+-@end example
+-
+-@noindent
+-LStat: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Obtains data about the given file @var{File} and places them in the array
+-@var{SArray}.
+-A null character (@samp{CHAR(0)}) marks the end of
+-the name in @var{File}---otherwise,
+-trailing blanks in @var{File} are ignored.
+-If @var{File} is a symbolic link it returns data on the
+-link itself, so the routine is available only on systems that support
+-symbolic links.
+-The values in this array are extracted from the
+-@code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
+-
+-@enumerate
+-@item
+-Device ID
+-
+-@item
+-Inode number
+-
+-@item
+-File mode
+-
+-@item
+-Number of links
+-
+-@item
+-Owner's uid
+-
+-@item
+-Owner's gid
+-
+-@item
+-ID of device containing directory entry for file
+-(0 if not available)
+-
+-@item
+-File size (bytes)
+-
+-@item
+-Last access time
+-
+-@item
+-Last modification time
+-
+-@item
+-Last file status change time
+-
+-@item
+-Preferred I/O block size (-1 if not available)
+-
+-@item
+-Number of blocks allocated (-1 if not available)
+-@end enumerate
+-
+-Not all these elements are relevant on all systems.
+-If an element is not relevant, it is returned as 0.
+-
+-Returns 0 on success or a non-zero error code
+-(@code{ENOSYS} if the system does not provide @code{lstat(2)}).
+-
+-For information on other intrinsics with the same name:
+-@xref{LStat Intrinsic (subroutine)}.
+-
+-@node LTime Intrinsic
+-@subsubsection LTime Intrinsic
+-@cindex LTime intrinsic
+-@cindex intrinsics, LTime
+-
+-@noindent
+-@example
+-CALL LTime(@var{STime}, @var{TArray})
+-@end example
+-
+-@noindent
+-@var{STime}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{TArray}: @code{INTEGER(KIND=1)}; DIMENSION(9); INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Given a system time value @var{STime}, fills @var{TArray} with values
+-extracted from it appropriate to the GMT time zone using
+-@code{localtime(3)}.
+-
+-The array elements are as follows:
+-
+-@enumerate
+-@item
+-Seconds after the minute, range 0--59 or 0--61 to allow for leap
+-seconds
+-
+-@item
+-Minutes after the hour, range 0--59
+-
+-@item
+-Hours past midnight, range 0--23
+-
+-@item
+-Day of month, range 0--31
+-
+-@item
+-Number of months since January, range 0--12
+-
+-@item
+-Years since 1900
+-
+-@item
+-Number of days since Sunday, range 0--6
+-
+-@item
+-Days since January 1
+-
+-@item
+-Daylight savings indicator: positive if daylight savings is in effect,
+-zero if not, and negative if the information isn't available.
+-@end enumerate
+-
+-@end ifset
+-@ifset familyF90
+-@node MatMul Intrinsic
+-@subsubsection MatMul Intrinsic
+-@cindex MatMul intrinsic
+-@cindex intrinsics, MatMul
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL MatMul} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node Max Intrinsic
+-@subsubsection Max Intrinsic
+-@cindex Max intrinsic
+-@cindex intrinsics, Max
+-
+-@noindent
+-@example
+-Max(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
+-@end example
+-
+-@noindent
+-Max: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
+-types of all the arguments.
+-
+-@noindent
+-@var{A}: @code{INTEGER} or @code{REAL}; at least two such arguments must be provided; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the argument with the largest value.
+-
+-@xref{Min Intrinsic}, for the opposite function.
+-
+-@node Max0 Intrinsic
+-@subsubsection Max0 Intrinsic
+-@cindex Max0 intrinsic
+-@cindex intrinsics, Max0
+-
+-@noindent
+-@example
+-Max0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
+-@end example
+-
+-@noindent
+-Max0: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{MAX()} that is specific
+-to one type for @var{A}.
+-@xref{Max Intrinsic}.
+-
+-@node Max1 Intrinsic
+-@subsubsection Max1 Intrinsic
+-@cindex Max1 intrinsic
+-@cindex intrinsics, Max1
+-
+-@noindent
+-@example
+-Max1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
+-@end example
+-
+-@noindent
+-Max1: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{MAX()} that is specific
+-to one type for @var{A} and a different return type.
+-@xref{Max Intrinsic}.
+-
+-@end ifset
+-@ifset familyF90
+-@node MaxExponent Intrinsic
+-@subsubsection MaxExponent Intrinsic
+-@cindex MaxExponent intrinsic
+-@cindex intrinsics, MaxExponent
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL MaxExponent} to use this name for an
+-external procedure.
+-
+-@node MaxLoc Intrinsic
+-@subsubsection MaxLoc Intrinsic
+-@cindex MaxLoc intrinsic
+-@cindex intrinsics, MaxLoc
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL MaxLoc} to use this name for an
+-external procedure.
+-
+-@node MaxVal Intrinsic
+-@subsubsection MaxVal Intrinsic
+-@cindex MaxVal intrinsic
+-@cindex intrinsics, MaxVal
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL MaxVal} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2U
+-@node MClock Intrinsic
+-@subsubsection MClock Intrinsic
+-@cindex MClock intrinsic
+-@cindex intrinsics, MClock
+-
+-@noindent
+-@example
+-MClock()
+-@end example
+-
+-@noindent
+-MClock: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the number of clock ticks since the start of the process.
+-Supported on systems with @code{clock(3)} (q.v.).
+-
+-@cindex wraparound, timings
+-@cindex limits, timings
+-This intrinsic is not fully portable, such as to systems
+-with 32-bit @code{INTEGER} types but supporting times
+-wider than 32 bits.
+-Therefore, the values returned by this intrinsic
+-might be, or become, negative,
+-or numerically less than previous values,
+-during a single run of the compiled program.
+-
+-@xref{MClock8 Intrinsic}, for information on a
+-similar intrinsic that might be portable to more
+-GNU Fortran implementations, though to fewer
+-Fortran compilers.
+-
+-If the system does not support @code{clock(3)},
+--1 is returned.
+-
+-@node MClock8 Intrinsic
+-@subsubsection MClock8 Intrinsic
+-@cindex MClock8 intrinsic
+-@cindex intrinsics, MClock8
+-
+-@noindent
+-@example
+-MClock8()
+-@end example
+-
+-@noindent
+-MClock8: @code{INTEGER(KIND=2)} function.
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the number of clock ticks since the start of the process.
+-Supported on systems with @code{clock(3)} (q.v.).
+-
+-@cindex wraparound, timings
+-@cindex limits, timings
+-@emph{Warning:} this intrinsic does not increase the range
+-of the timing values over that returned by @code{clock(3)}.
+-On a system with a 32-bit @code{clock(3)},
+-@code{MCLOCK8} will return a 32-bit value,
+-even though converted to an @samp{INTEGER(KIND=2)} value.
+-That means overflows of the 32-bit value can still occur.
+-Therefore, the values returned by this intrinsic
+-might be, or become, negative,
+-or numerically less than previous values,
+-during a single run of the compiled program.
+-
+-No Fortran implementations other than GNU Fortran are
+-known to support this intrinsic at the time of this
+-writing.
+-@xref{MClock Intrinsic}, for information on a
+-similar intrinsic that might be portable to more Fortran
+-compilers, though to fewer GNU Fortran implementations.
+-
+-If the system does not support @code{clock(3)},
+--1 is returned.
+-
+-@end ifset
+-@ifset familyF90
+-@node Merge Intrinsic
+-@subsubsection Merge Intrinsic
+-@cindex Merge intrinsic
+-@cindex intrinsics, Merge
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Merge} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node Min Intrinsic
+-@subsubsection Min Intrinsic
+-@cindex Min intrinsic
+-@cindex intrinsics, Min
+-
+-@noindent
+-@example
+-Min(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
+-@end example
+-
+-@noindent
+-Min: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
+-types of all the arguments.
+-
+-@noindent
+-@var{A}: @code{INTEGER} or @code{REAL}; at least two such arguments must be provided; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the argument with the smallest value.
+-
+-@xref{Max Intrinsic}, for the opposite function.
+-
+-@node Min0 Intrinsic
+-@subsubsection Min0 Intrinsic
+-@cindex Min0 intrinsic
+-@cindex intrinsics, Min0
+-
+-@noindent
+-@example
+-Min0(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
+-@end example
+-
+-@noindent
+-Min0: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{INTEGER(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{MIN()} that is specific
+-to one type for @var{A}.
+-@xref{Min Intrinsic}.
+-
+-@node Min1 Intrinsic
+-@subsubsection Min1 Intrinsic
+-@cindex Min1 intrinsic
+-@cindex intrinsics, Min1
+-
+-@noindent
+-@example
+-Min1(@var{A}-1, @var{A}-2, @dots{}, @var{A}-n)
+-@end example
+-
+-@noindent
+-Min1: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{REAL(KIND=1)}; at least two such arguments must be provided; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{MIN()} that is specific
+-to one type for @var{A} and a different return type.
+-@xref{Min Intrinsic}.
+-
+-@end ifset
+-@ifset familyF90
+-@node MinExponent Intrinsic
+-@subsubsection MinExponent Intrinsic
+-@cindex MinExponent intrinsic
+-@cindex intrinsics, MinExponent
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL MinExponent} to use this name for an
+-external procedure.
+-
+-@node MinLoc Intrinsic
+-@subsubsection MinLoc Intrinsic
+-@cindex MinLoc intrinsic
+-@cindex intrinsics, MinLoc
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL MinLoc} to use this name for an
+-external procedure.
+-
+-@node MinVal Intrinsic
+-@subsubsection MinVal Intrinsic
+-@cindex MinVal intrinsic
+-@cindex intrinsics, MinVal
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL MinVal} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node Mod Intrinsic
+-@subsubsection Mod Intrinsic
+-@cindex Mod intrinsic
+-@cindex intrinsics, Mod
+-
+-@noindent
+-@example
+-Mod(@var{A}, @var{P})
+-@end example
+-
+-@noindent
+-Mod: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
+-types of all the arguments.
+-
+-@noindent
+-@var{A}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{P}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns remainder calculated as:
+-
+-@smallexample
+-@var{A} - (INT(@var{A} / @var{P}) * @var{P})
+-@end smallexample
+-
+-@var{P} must not be zero.
+-
+-@end ifset
+-@ifset familyF90
+-@node Modulo Intrinsic
+-@subsubsection Modulo Intrinsic
+-@cindex Modulo intrinsic
+-@cindex intrinsics, Modulo
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Modulo} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyMIL
+-@node MvBits Intrinsic
+-@subsubsection MvBits Intrinsic
+-@cindex MvBits intrinsic
+-@cindex intrinsics, MvBits
+-
+-@noindent
+-@example
+-CALL MvBits(@var{From}, @var{FromPos}, @var{Len}, @var{TO}, @var{ToPos})
+-@end example
+-
+-@noindent
+-@var{From}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{FromPos}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Len}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{TO}: @code{INTEGER} with same @samp{KIND=} value as for @var{From}; scalar; INTENT(INOUT).
+-
+-@noindent
+-@var{ToPos}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Moves @var{Len} bits from positions @var{FromPos} through
+-@samp{@var{FromPos}+@var{Len}-1} of @var{From} to positions @var{ToPos} through
+-@samp{@var{FromPos}+@var{Len}-1} of @var{TO}. The portion of argument
+-@var{TO} not affected by the movement of bits is unchanged. Arguments
+-@var{From} and @var{TO} are permitted to be the same numeric storage
+-unit. The values of @samp{@var{FromPos}+@var{Len}} and
+-@samp{@var{ToPos}+@var{Len}} must be less than or equal to
+-@samp{BIT_SIZE(@var{From})}.
+-
+-@end ifset
+-@ifset familyF90
+-@node Nearest Intrinsic
+-@subsubsection Nearest Intrinsic
+-@cindex Nearest intrinsic
+-@cindex intrinsics, Nearest
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Nearest} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node NInt Intrinsic
+-@subsubsection NInt Intrinsic
+-@cindex NInt intrinsic
+-@cindex intrinsics, NInt
+-
+-@noindent
+-@example
+-NInt(@var{A})
+-@end example
+-
+-@noindent
+-NInt: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns @var{A} with the fractional portion of its
+-magnitude eliminated by rounding to the nearest whole
+-number and with its sign preserved, converted
+-to type @code{INTEGER(KIND=1)}.
+-
+-If @var{A} is type @code{COMPLEX}, its real part is
+-rounded and converted.
+-
+-A fractional portion exactly equal to
+-@samp{.5} is rounded to the whole number that
+-is larger in magnitude.
+-(Also called ``Fortran round''.)
+-
+-@xref{Int Intrinsic}, for how to convert, truncate to
+-whole number.
+-
+-@xref{ANInt Intrinsic}, for how to round to nearest whole number
+-without converting.
+-
+-@end ifset
+-@ifset familyMIL
+-@node Not Intrinsic
+-@subsubsection Not Intrinsic
+-@cindex Not intrinsic
+-@cindex intrinsics, Not
+-
+-@noindent
+-@example
+-Not(@var{I})
+-@end example
+-
+-@noindent
+-Not: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
+-
+-@noindent
+-@var{I}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{mil}, @code{f90}, @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Returns value resulting from boolean NOT of each bit
+-in @var{I}.
+-
+-@end ifset
+-@ifset familyF2C
+-@node Or Intrinsic
+-@subsubsection Or Intrinsic
+-@cindex Or intrinsic
+-@cindex intrinsics, Or
+-
+-@noindent
+-@example
+-Or(@var{I}, @var{J})
+-@end example
+-
+-@noindent
+-Or: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the
+-types of all the arguments.
+-
+-@noindent
+-@var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}.
+-
+-@noindent
+-Description:
+-
+-Returns value resulting from boolean OR of
+-pair of bits in each of @var{I} and @var{J}.
+-
+-@end ifset
+-@ifset familyF90
+-@node Pack Intrinsic
+-@subsubsection Pack Intrinsic
+-@cindex Pack intrinsic
+-@cindex intrinsics, Pack
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Pack} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2U
+-@node PError Intrinsic
+-@subsubsection PError Intrinsic
+-@cindex PError intrinsic
+-@cindex intrinsics, PError
+-
+-@noindent
+-@example
+-CALL PError(@var{String})
+-@end example
+-
+-@noindent
+-@var{String}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Prints (on the C @code{stderr} stream) a newline-terminated error
+-message corresponding to the last system error.
+-This is prefixed by @var{String}, a colon and a space.
+-See @code{perror(3)}.
+-
+-@end ifset
+-@ifset familyF90
+-@node Precision Intrinsic
+-@subsubsection Precision Intrinsic
+-@cindex Precision intrinsic
+-@cindex intrinsics, Precision
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Precision} to use this name for an
+-external procedure.
+-
+-@node Present Intrinsic
+-@subsubsection Present Intrinsic
+-@cindex Present intrinsic
+-@cindex intrinsics, Present
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Present} to use this name for an
+-external procedure.
+-
+-@node Product Intrinsic
+-@subsubsection Product Intrinsic
+-@cindex Product intrinsic
+-@cindex intrinsics, Product
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Product} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyVXT
+-@node QAbs Intrinsic
+-@subsubsection QAbs Intrinsic
+-@cindex QAbs intrinsic
+-@cindex intrinsics, QAbs
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QAbs} to use this name for an
+-external procedure.
+-
+-@node QACos Intrinsic
+-@subsubsection QACos Intrinsic
+-@cindex QACos intrinsic
+-@cindex intrinsics, QACos
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QACos} to use this name for an
+-external procedure.
+-
+-@node QACosD Intrinsic
+-@subsubsection QACosD Intrinsic
+-@cindex QACosD intrinsic
+-@cindex intrinsics, QACosD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QACosD} to use this name for an
+-external procedure.
+-
+-@node QASin Intrinsic
+-@subsubsection QASin Intrinsic
+-@cindex QASin intrinsic
+-@cindex intrinsics, QASin
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QASin} to use this name for an
+-external procedure.
+-
+-@node QASinD Intrinsic
+-@subsubsection QASinD Intrinsic
+-@cindex QASinD intrinsic
+-@cindex intrinsics, QASinD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QASinD} to use this name for an
+-external procedure.
+-
+-@node QATan Intrinsic
+-@subsubsection QATan Intrinsic
+-@cindex QATan intrinsic
+-@cindex intrinsics, QATan
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QATan} to use this name for an
+-external procedure.
+-
+-@node QATan2 Intrinsic
+-@subsubsection QATan2 Intrinsic
+-@cindex QATan2 intrinsic
+-@cindex intrinsics, QATan2
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QATan2} to use this name for an
+-external procedure.
+-
+-@node QATan2D Intrinsic
+-@subsubsection QATan2D Intrinsic
+-@cindex QATan2D intrinsic
+-@cindex intrinsics, QATan2D
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QATan2D} to use this name for an
+-external procedure.
+-
+-@node QATanD Intrinsic
+-@subsubsection QATanD Intrinsic
+-@cindex QATanD intrinsic
+-@cindex intrinsics, QATanD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QATanD} to use this name for an
+-external procedure.
+-
+-@node QCos Intrinsic
+-@subsubsection QCos Intrinsic
+-@cindex QCos intrinsic
+-@cindex intrinsics, QCos
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QCos} to use this name for an
+-external procedure.
+-
+-@node QCosD Intrinsic
+-@subsubsection QCosD Intrinsic
+-@cindex QCosD intrinsic
+-@cindex intrinsics, QCosD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QCosD} to use this name for an
+-external procedure.
+-
+-@node QCosH Intrinsic
+-@subsubsection QCosH Intrinsic
+-@cindex QCosH intrinsic
+-@cindex intrinsics, QCosH
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QCosH} to use this name for an
+-external procedure.
+-
+-@node QDiM Intrinsic
+-@subsubsection QDiM Intrinsic
+-@cindex QDiM intrinsic
+-@cindex intrinsics, QDiM
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QDiM} to use this name for an
+-external procedure.
+-
+-@node QExp Intrinsic
+-@subsubsection QExp Intrinsic
+-@cindex QExp intrinsic
+-@cindex intrinsics, QExp
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QExp} to use this name for an
+-external procedure.
+-
+-@node QExt Intrinsic
+-@subsubsection QExt Intrinsic
+-@cindex QExt intrinsic
+-@cindex intrinsics, QExt
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QExt} to use this name for an
+-external procedure.
+-
+-@node QExtD Intrinsic
+-@subsubsection QExtD Intrinsic
+-@cindex QExtD intrinsic
+-@cindex intrinsics, QExtD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QExtD} to use this name for an
+-external procedure.
+-
+-@node QFloat Intrinsic
+-@subsubsection QFloat Intrinsic
+-@cindex QFloat intrinsic
+-@cindex intrinsics, QFloat
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QFloat} to use this name for an
+-external procedure.
+-
+-@node QInt Intrinsic
+-@subsubsection QInt Intrinsic
+-@cindex QInt intrinsic
+-@cindex intrinsics, QInt
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QInt} to use this name for an
+-external procedure.
+-
+-@node QLog Intrinsic
+-@subsubsection QLog Intrinsic
+-@cindex QLog intrinsic
+-@cindex intrinsics, QLog
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QLog} to use this name for an
+-external procedure.
+-
+-@node QLog10 Intrinsic
+-@subsubsection QLog10 Intrinsic
+-@cindex QLog10 intrinsic
+-@cindex intrinsics, QLog10
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QLog10} to use this name for an
+-external procedure.
+-
+-@node QMax1 Intrinsic
+-@subsubsection QMax1 Intrinsic
+-@cindex QMax1 intrinsic
+-@cindex intrinsics, QMax1
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QMax1} to use this name for an
+-external procedure.
+-
+-@node QMin1 Intrinsic
+-@subsubsection QMin1 Intrinsic
+-@cindex QMin1 intrinsic
+-@cindex intrinsics, QMin1
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QMin1} to use this name for an
+-external procedure.
+-
+-@node QMod Intrinsic
+-@subsubsection QMod Intrinsic
+-@cindex QMod intrinsic
+-@cindex intrinsics, QMod
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QMod} to use this name for an
+-external procedure.
+-
+-@node QNInt Intrinsic
+-@subsubsection QNInt Intrinsic
+-@cindex QNInt intrinsic
+-@cindex intrinsics, QNInt
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QNInt} to use this name for an
+-external procedure.
+-
+-@node QSin Intrinsic
+-@subsubsection QSin Intrinsic
+-@cindex QSin intrinsic
+-@cindex intrinsics, QSin
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QSin} to use this name for an
+-external procedure.
+-
+-@node QSinD Intrinsic
+-@subsubsection QSinD Intrinsic
+-@cindex QSinD intrinsic
+-@cindex intrinsics, QSinD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QSinD} to use this name for an
+-external procedure.
+-
+-@node QSinH Intrinsic
+-@subsubsection QSinH Intrinsic
+-@cindex QSinH intrinsic
+-@cindex intrinsics, QSinH
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QSinH} to use this name for an
+-external procedure.
+-
+-@node QSqRt Intrinsic
+-@subsubsection QSqRt Intrinsic
+-@cindex QSqRt intrinsic
+-@cindex intrinsics, QSqRt
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QSqRt} to use this name for an
+-external procedure.
+-
+-@node QTan Intrinsic
+-@subsubsection QTan Intrinsic
+-@cindex QTan intrinsic
+-@cindex intrinsics, QTan
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QTan} to use this name for an
+-external procedure.
+-
+-@node QTanD Intrinsic
+-@subsubsection QTanD Intrinsic
+-@cindex QTanD intrinsic
+-@cindex intrinsics, QTanD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QTanD} to use this name for an
+-external procedure.
+-
+-@node QTanH Intrinsic
+-@subsubsection QTanH Intrinsic
+-@cindex QTanH intrinsic
+-@cindex intrinsics, QTanH
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL QTanH} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF90
+-@node Radix Intrinsic
+-@subsubsection Radix Intrinsic
+-@cindex Radix intrinsic
+-@cindex intrinsics, Radix
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Radix} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2U
+-@node Rand Intrinsic
+-@subsubsection Rand Intrinsic
+-@cindex Rand intrinsic
+-@cindex intrinsics, Rand
+-
+-@noindent
+-@example
+-Rand(@var{Flag})
+-@end example
+-
+-@noindent
+-Rand: @code{REAL(KIND=1)} function.
+-
+-@noindent
+-@var{Flag}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns a uniform quasi-random number between 0 and 1.
+-If @var{Flag} is 0, the next number in sequence is returned; if
+-@var{Flag} is 1, the generator is restarted by calling @samp{srand(0)};
+-if @var{Flag} has any other value, it is used as a new seed with
+-@code{srand}.
+-
+-@xref{SRand Intrinsic}.
+-
+-@emph{Note:} As typically implemented (by the routine of the same
+-name in the C library), this random number generator is a very poor
+-one, though the BSD and GNU libraries provide a much better
+-implementation than the `traditional' one.
+-On a different system you
+-almost certainly want to use something better.
+-
+-@end ifset
+-@ifset familyF90
+-@node Random_Number Intrinsic
+-@subsubsection Random_Number Intrinsic
+-@cindex Random_Number intrinsic
+-@cindex intrinsics, Random_Number
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Random_Number} to use this name for an
+-external procedure.
+-
+-@node Random_Seed Intrinsic
+-@subsubsection Random_Seed Intrinsic
+-@cindex Random_Seed intrinsic
+-@cindex intrinsics, Random_Seed
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Random_Seed} to use this name for an
+-external procedure.
+-
+-@node Range Intrinsic
+-@subsubsection Range Intrinsic
+-@cindex Range intrinsic
+-@cindex intrinsics, Range
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Range} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node Real Intrinsic
+-@subsubsection Real Intrinsic
+-@cindex Real intrinsic
+-@cindex intrinsics, Real
+-
+-@noindent
+-@example
+-Real(@var{A})
+-@end example
+-
+-@noindent
+-Real: @code{REAL} function.
+-The exact type is @samp{REAL(KIND=1)} when argument @var{A} is
+-any type other than @code{COMPLEX}, or when it is @code{COMPLEX(KIND=1)}.
+-When @var{A} is any @code{COMPLEX} type other than @code{COMPLEX(KIND=1)},
+-this intrinsic is valid only when used as the argument to
+-@code{REAL()}, as explained below.
+-
+-@noindent
+-@var{A}: @code{INTEGER}, @code{REAL}, or @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Converts @var{A} to @code{REAL(KIND=1)}.
+-
+-Use of @code{REAL()} with a @code{COMPLEX} argument
+-(other than @code{COMPLEX(KIND=1)}) is restricted to the following case:
+-
+-@example
+-REAL(REAL(A))
+-@end example
+-
+-@noindent
+-This expression converts the real part of A to
+-@code{REAL(KIND=1)}.
+-
+-@xref{RealPart Intrinsic}, for information on a GNU Fortran
+-intrinsic that extracts the real part of an arbitrary
+-@code{COMPLEX} value.
+-
+-@xref{REAL() and AIMAG() of Complex}, for more information.
+-
+-@end ifset
+-@ifset familyGNU
+-@node RealPart Intrinsic
+-@subsubsection RealPart Intrinsic
+-@cindex RealPart intrinsic
+-@cindex intrinsics, RealPart
+-
+-@noindent
+-@example
+-RealPart(@var{Z})
+-@end example
+-
+-@noindent
+-RealPart: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{Z}.
+-
+-@noindent
+-@var{Z}: @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{gnu}.
+-
+-@noindent
+-Description:
+-
+-The real part of @var{Z} is returned, without conversion.
+-
+-@emph{Note:} The way to do this in standard Fortran 90
+-is @samp{REAL(@var{Z})}.
+-However, when, for example, @var{Z} is @code{COMPLEX(KIND=2)},
+-@samp{REAL(@var{Z})} means something different for some compilers
+-that are not true Fortran 90 compilers but offer some
+-extensions standardized by Fortran 90 (such as the
+-@code{DOUBLE COMPLEX} type, also known as @code{COMPLEX(KIND=2)}).
+-
+-The advantage of @code{REALPART()} is that, while not necessarily
+-more or less portable than @code{REAL()}, it is more likely to
+-cause a compiler that doesn't support it to produce a diagnostic
+-than generate incorrect code.
+-
+-@xref{REAL() and AIMAG() of Complex}, for more information.
+-
+-@end ifset
+-@ifset familyF2U
+-@node Rename Intrinsic (subroutine)
+-@subsubsection Rename Intrinsic (subroutine)
+-@cindex Rename intrinsic
+-@cindex intrinsics, Rename
+-
+-@noindent
+-@example
+-CALL Rename(@var{Path1}, @var{Path2}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Renames the file @var{Path1} to @var{Path2}.
+-A null character (@samp{CHAR(0)}) marks the end of
+-the names in @var{Path1} and @var{Path2}---otherwise,
+-trailing blanks in @var{Path1} and @var{Path2} are ignored.
+-See @code{rename(2)}.
+-If the @var{Status} argument is supplied, it contains
+-0 on success or a non-zero error code upon return.
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine, or do not support the
+-(optional) @var{Status} argument.
+-
+-For information on other intrinsics with the same name:
+-@xref{Rename Intrinsic (function)}.
+-
+-@end ifset
+-@ifset familyBADU77
+-@node Rename Intrinsic (function)
+-@subsubsection Rename Intrinsic (function)
+-@cindex Rename intrinsic
+-@cindex intrinsics, Rename
+-
+-@noindent
+-@example
+-Rename(@var{Path1}, @var{Path2})
+-@end example
+-
+-@noindent
+-Rename: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{badu77}.
+-
+-@noindent
+-Description:
+-
+-Renames the file @var{Path1} to @var{Path2}.
+-A null character (@samp{CHAR(0)}) marks the end of
+-the names in @var{Path1} and @var{Path2}---otherwise,
+-trailing blanks in @var{Path1} and @var{Path2} are ignored.
+-See @code{rename(2)}.
+-Returns 0 on success or a non-zero error code.
+-
+-Due to the side effects performed by this intrinsic, the function
+-form is not recommended.
+-
+-For information on other intrinsics with the same name:
+-@xref{Rename Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF90
+-@node Repeat Intrinsic
+-@subsubsection Repeat Intrinsic
+-@cindex Repeat intrinsic
+-@cindex intrinsics, Repeat
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Repeat} to use this name for an
+-external procedure.
+-
+-@node Reshape Intrinsic
+-@subsubsection Reshape Intrinsic
+-@cindex Reshape intrinsic
+-@cindex intrinsics, Reshape
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Reshape} to use this name for an
+-external procedure.
+-
+-@node RRSpacing Intrinsic
+-@subsubsection RRSpacing Intrinsic
+-@cindex RRSpacing intrinsic
+-@cindex intrinsics, RRSpacing
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL RRSpacing} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2C
+-@node RShift Intrinsic
+-@subsubsection RShift Intrinsic
+-@cindex RShift intrinsic
+-@cindex intrinsics, RShift
+-
+-@noindent
+-@example
+-RShift(@var{I}, @var{Shift})
+-@end example
+-
+-@noindent
+-RShift: @code{INTEGER} function, the @samp{KIND=} value of the type being that of argument @var{I}.
+-
+-@noindent
+-@var{I}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Shift}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}.
+-
+-@noindent
+-Description:
+-
+-Returns @var{I} shifted to the right
+-@var{Shift} bits.
+-
+-Although similar to the expression
+-@samp{@var{I}/(2**@var{Shift})}, there
+-are important differences.
+-For example, the sign of the result is
+-undefined.
+-
+-Currently this intrinsic is defined assuming
+-the underlying representation of @var{I}
+-is as a two's-complement integer.
+-It is unclear at this point whether that
+-definition will apply when a different
+-representation is involved.
+-
+-@xref{RShift Intrinsic}, for the inverse of this function.
+-
+-@xref{IShft Intrinsic}, for information
+-on a more widely available right-shifting
+-intrinsic that is also more precisely defined.
+-
+-@end ifset
+-@ifset familyF90
+-@node Scale Intrinsic
+-@subsubsection Scale Intrinsic
+-@cindex Scale intrinsic
+-@cindex intrinsics, Scale
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Scale} to use this name for an
+-external procedure.
+-
+-@node Scan Intrinsic
+-@subsubsection Scan Intrinsic
+-@cindex Scan intrinsic
+-@cindex intrinsics, Scan
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Scan} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyVXT
+-@node Secnds Intrinsic
+-@subsubsection Secnds Intrinsic
+-@cindex Secnds intrinsic
+-@cindex intrinsics, Secnds
+-
+-@noindent
+-@example
+-Secnds(@var{T})
+-@end example
+-
+-@noindent
+-Secnds: @code{REAL(KIND=1)} function.
+-
+-@noindent
+-@var{T}: @code{REAL(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Returns the local time in seconds since midnight minus the value
+-@var{T}.
+-
+-@cindex wraparound, timings
+-@cindex limits, timings
+-This values returned by this intrinsic
+-become numerically less than previous values
+-(they wrap around) during a single run of the
+-compiler program, under normal circumstances
+-(such as running through the midnight hour).
+-
+-@end ifset
+-@ifset familyF2U
+-@node Second Intrinsic (function)
+-@subsubsection Second Intrinsic (function)
+-@cindex Second intrinsic
+-@cindex intrinsics, Second
+-
+-@noindent
+-@example
+-Second()
+-@end example
+-
+-@noindent
+-Second: @code{REAL(KIND=1)} function.
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the process's runtime in seconds---the same value as the
+-UNIX function @code{etime} returns.
+-
+-@cindex wraparound, timings
+-@cindex limits, timings
+-On some systems, the underlying timings are represented
+-using types with sufficiently small limits that overflows
+-(wraparounds) are possible, such as 32-bit types.
+-Therefore, the values returned by this intrinsic
+-might be, or become, negative,
+-or numerically less than previous values,
+-during a single run of the compiled program.
+-
+-For information on other intrinsics with the same name:
+-@xref{Second Intrinsic (subroutine)}.
+-
+-@node Second Intrinsic (subroutine)
+-@subsubsection Second Intrinsic (subroutine)
+-@cindex Second intrinsic
+-@cindex intrinsics, Second
+-
+-@noindent
+-@example
+-CALL Second(@var{Seconds})
+-@end example
+-
+-@noindent
+-@var{Seconds}: @code{REAL}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the process's runtime in seconds in @var{Seconds}---the same value
+-as the UNIX function @code{etime} returns.
+-
+-@cindex wraparound, timings
+-@cindex limits, timings
+-On some systems, the underlying timings are represented
+-using types with sufficiently small limits that overflows
+-(wraparounds) are possible, such as 32-bit types.
+-Therefore, the values returned by this intrinsic
+-might be, or become, negative,
+-or numerically less than previous values,
+-during a single run of the compiled program.
+-
+-This routine is known from Cray Fortran. @xref{CPU_Time Intrinsic},
+-for a standard equivalent.
+-
+-For information on other intrinsics with the same name:
+-@xref{Second Intrinsic (function)}.
+-
+-@end ifset
+-@ifset familyF90
+-@node Selected_Int_Kind Intrinsic
+-@subsubsection Selected_Int_Kind Intrinsic
+-@cindex Selected_Int_Kind intrinsic
+-@cindex intrinsics, Selected_Int_Kind
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Selected_Int_Kind} to use this name for an
+-external procedure.
+-
+-@node Selected_Real_Kind Intrinsic
+-@subsubsection Selected_Real_Kind Intrinsic
+-@cindex Selected_Real_Kind intrinsic
+-@cindex intrinsics, Selected_Real_Kind
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Selected_Real_Kind} to use this name for an
+-external procedure.
+-
+-@node Set_Exponent Intrinsic
+-@subsubsection Set_Exponent Intrinsic
+-@cindex Set_Exponent intrinsic
+-@cindex intrinsics, Set_Exponent
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Set_Exponent} to use this name for an
+-external procedure.
+-
+-@node Shape Intrinsic
+-@subsubsection Shape Intrinsic
+-@cindex Shape intrinsic
+-@cindex intrinsics, Shape
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Shape} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2U
+-@node Short Intrinsic
+-@subsubsection Short Intrinsic
+-@cindex Short intrinsic
+-@cindex intrinsics, Short
+-
+-@noindent
+-@example
+-Short(@var{A})
+-@end example
+-
+-@noindent
+-Short: @code{INTEGER(KIND=6)} function.
+-
+-@noindent
+-@var{A}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns @var{A} with the fractional portion of its
+-magnitude truncated and its sign preserved, converted
+-to type @code{INTEGER(KIND=6)}.
+-
+-If @var{A} is type @code{COMPLEX}, its real part
+-is truncated and converted, and its imaginary part is disgregarded.
+-
+-@xref{Int Intrinsic}.
+-
+-The precise meaning of this intrinsic might change
+-in a future version of the GNU Fortran language,
+-as more is learned about how it is used.
+-
+-@end ifset
+-@ifset familyF77
+-@node Sign Intrinsic
+-@subsubsection Sign Intrinsic
+-@cindex Sign intrinsic
+-@cindex intrinsics, Sign
+-
+-@noindent
+-@example
+-Sign(@var{A}, @var{B})
+-@end example
+-
+-@noindent
+-Sign: @code{INTEGER} or @code{REAL} function, the exact type being the result of cross-promoting the
+-types of all the arguments.
+-
+-@noindent
+-@var{A}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{B}: @code{INTEGER} or @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns @samp{ABS(@var{A})*@var{s}}, where
+-@var{s} is +1 if @samp{@var{B}.GE.0},
+--1 otherwise.
+-
+-@xref{Abs Intrinsic}, for the function that returns
+-the magnitude of a value.
+-
+-@end ifset
+-@ifset familyF2U
+-@node Signal Intrinsic (subroutine)
+-@subsubsection Signal Intrinsic (subroutine)
+-@cindex Signal intrinsic
+-@cindex intrinsics, Signal
+-
+-@noindent
+-@example
+-CALL Signal(@var{Number}, @var{Handler}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{Number}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE})
+-or dummy/global @code{INTEGER(KIND=1)} scalar.
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=7)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-If @var{Handler} is a an @code{EXTERNAL} routine, arranges for it to be
+-invoked with a single integer argument (of system-dependent length)
+-when signal @var{Number} occurs.
+-If @var{Handler} is an integer, it can be
+-used to turn off handling of signal @var{Number} or revert to its default
+-action.
+-See @code{signal(2)}.
+-
+-Note that @var{Handler} will be called using C conventions,
+-so the value of its argument in Fortran terms
+-Fortran terms is obtained by applying @code{%LOC()} (or @var{LOC()}) to it.
+-
+-The value returned by @code{signal(2)} is written to @var{Status}, if
+-that argument is supplied.
+-Otherwise the return value is ignored.
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine, or do not support the
+-(optional) @var{Status} argument.
+-
+-@emph{Warning:} Use of the @code{libf2c} run-time library function
+-@samp{signal_} directly
+-(such as via @samp{EXTERNAL SIGNAL})
+-requires use of the @code{%VAL()} construct
+-to pass an @code{INTEGER} value
+-(such as @samp{SIG_IGN} or @samp{SIG_DFL})
+-for the @var{Handler} argument.
+-
+-However, while @samp{CALL SIGNAL(@var{signum}, %VAL(SIG_IGN))}
+-works when @samp{SIGNAL} is treated as an external procedure
+-(and resolves, at link time, to @code{libf2c}'s @samp{signal_} routine),
+-this construct is not valid when @samp{SIGNAL} is recognized
+-as the intrinsic of that name.
+-
+-Therefore, for maximum portability and reliability,
+-code such references to the @samp{SIGNAL} facility as follows:
+-
+-@smallexample
+-INTRINSIC SIGNAL
+-@dots{}
+-CALL SIGNAL(@var{signum}, SIG_IGN)
+-@end smallexample
+-
+-@code{g77} will compile such a call correctly,
+-while other compilers will generally either do so as well
+-or reject the @samp{INTRINSIC SIGNAL} statement via a diagnostic,
+-allowing you to take appropriate action.
+-
+-For information on other intrinsics with the same name:
+-@xref{Signal Intrinsic (function)}.
+-
+-@end ifset
+-@ifset familyBADU77
+-@node Signal Intrinsic (function)
+-@subsubsection Signal Intrinsic (function)
+-@cindex Signal intrinsic
+-@cindex intrinsics, Signal
+-
+-@noindent
+-@example
+-Signal(@var{Number}, @var{Handler})
+-@end example
+-
+-@noindent
+-Signal: @code{INTEGER(KIND=7)} function.
+-
+-@noindent
+-@var{Number}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Handler}: Signal handler (@code{INTEGER FUNCTION} or @code{SUBROUTINE})
+-or dummy/global @code{INTEGER(KIND=1)} scalar.
+-
+-@noindent
+-Intrinsic groups: @code{badu77}.
+-
+-@noindent
+-Description:
+-
+-If @var{Handler} is a an @code{EXTERNAL} routine, arranges for it to be
+-invoked with a single integer argument (of system-dependent length)
+-when signal @var{Number} occurs.
+-If @var{Handler} is an integer, it can be
+-used to turn off handling of signal @var{Number} or revert to its default
+-action.
+-See @code{signal(2)}.
+-
+-Note that @var{Handler} will be called using C conventions,
+-so the value of its argument in Fortran terms
+-is obtained by applying @code{%LOC()} (or @var{LOC()}) to it.
+-
+-The value returned by @code{signal(2)} is returned.
+-
+-Due to the side effects performed by this intrinsic, the function
+-form is not recommended.
+-
+-@emph{Warning:} If the returned value is stored in
+-an @code{INTEGER(KIND=1)} (default @code{INTEGER}) argument,
+-truncation of the original return value occurs on some systems
+-(such as Alphas, which have 64-bit pointers but 32-bit default integers),
+-with no warning issued by @code{g77} under normal circumstances.
+-
+-Therefore, the following code fragment might silently fail on
+-some systems:
+-
+-@smallexample
+-INTEGER RTN
+-EXTERNAL MYHNDL
+-RTN = SIGNAL(@var{signum}, MYHNDL)
+-@dots{}
+-! Restore original handler:
+-RTN = SIGNAL(@var{signum}, RTN)
+-@end smallexample
+-
+-The reason for the failure is that @samp{RTN} might not hold
+-all the information on the original handler for the signal,
+-thus restoring an invalid handler.
+-This bug could manifest itself as a spurious run-time failure
+-at an arbitrary point later during the program's execution,
+-for example.
+-
+-@emph{Warning:} Use of the @code{libf2c} run-time library function
+-@samp{signal_} directly
+-(such as via @samp{EXTERNAL SIGNAL})
+-requires use of the @code{%VAL()} construct
+-to pass an @code{INTEGER} value
+-(such as @samp{SIG_IGN} or @samp{SIG_DFL})
+-for the @var{Handler} argument.
+-
+-However, while @samp{RTN = SIGNAL(@var{signum}, %VAL(SIG_IGN))}
+-works when @samp{SIGNAL} is treated as an external procedure
+-(and resolves, at link time, to @code{libf2c}'s @samp{signal_} routine),
+-this construct is not valid when @samp{SIGNAL} is recognized
+-as the intrinsic of that name.
+-
+-Therefore, for maximum portability and reliability,
+-code such references to the @samp{SIGNAL} facility as follows:
+-
+-@smallexample
+-INTRINSIC SIGNAL
+-@dots{}
+-RTN = SIGNAL(@var{signum}, SIG_IGN)
+-@end smallexample
+-
+-@code{g77} will compile such a call correctly,
+-while other compilers will generally either do so as well
+-or reject the @samp{INTRINSIC SIGNAL} statement via a diagnostic,
+-allowing you to take appropriate action.
+-
+-For information on other intrinsics with the same name:
+-@xref{Signal Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF77
+-@node Sin Intrinsic
+-@subsubsection Sin Intrinsic
+-@cindex Sin intrinsic
+-@cindex intrinsics, Sin
+-
+-@noindent
+-@example
+-Sin(@var{X})
+-@end example
+-
+-@noindent
+-Sin: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the sine of @var{X}, an angle measured
+-in radians.
+-
+-@xref{ASin Intrinsic}, for the inverse of this function.
+-
+-@end ifset
+-@ifset familyVXT
+-@node SinD Intrinsic
+-@subsubsection SinD Intrinsic
+-@cindex SinD intrinsic
+-@cindex intrinsics, SinD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL SinD} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node SinH Intrinsic
+-@subsubsection SinH Intrinsic
+-@cindex SinH intrinsic
+-@cindex intrinsics, SinH
+-
+-@noindent
+-@example
+-SinH(@var{X})
+-@end example
+-
+-@noindent
+-SinH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the hyperbolic sine of @var{X}.
+-
+-@end ifset
+-@ifset familyF2U
+-@node Sleep Intrinsic
+-@subsubsection Sleep Intrinsic
+-@cindex Sleep intrinsic
+-@cindex intrinsics, Sleep
+-
+-@noindent
+-@example
+-CALL Sleep(@var{Seconds})
+-@end example
+-
+-@noindent
+-@var{Seconds}: @code{INTEGER(KIND=1)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Causes the process to pause for @var{Seconds} seconds.
+-See @code{sleep(2)}.
+-
+-@end ifset
+-@ifset familyF77
+-@node Sngl Intrinsic
+-@subsubsection Sngl Intrinsic
+-@cindex Sngl intrinsic
+-@cindex intrinsics, Sngl
+-
+-@noindent
+-@example
+-Sngl(@var{A})
+-@end example
+-
+-@noindent
+-Sngl: @code{REAL(KIND=1)} function.
+-
+-@noindent
+-@var{A}: @code{REAL(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{REAL()} that is specific
+-to one type for @var{A}.
+-@xref{Real Intrinsic}.
+-
+-@end ifset
+-@ifset familyVXT
+-@node SnglQ Intrinsic
+-@subsubsection SnglQ Intrinsic
+-@cindex SnglQ intrinsic
+-@cindex intrinsics, SnglQ
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL SnglQ} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF90
+-@node Spacing Intrinsic
+-@subsubsection Spacing Intrinsic
+-@cindex Spacing intrinsic
+-@cindex intrinsics, Spacing
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Spacing} to use this name for an
+-external procedure.
+-
+-@node Spread Intrinsic
+-@subsubsection Spread Intrinsic
+-@cindex Spread intrinsic
+-@cindex intrinsics, Spread
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Spread} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node SqRt Intrinsic
+-@subsubsection SqRt Intrinsic
+-@cindex SqRt intrinsic
+-@cindex intrinsics, SqRt
+-
+-@noindent
+-@example
+-SqRt(@var{X})
+-@end example
+-
+-@noindent
+-SqRt: @code{REAL} or @code{COMPLEX} function, the exact type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL} or @code{COMPLEX}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the square root of @var{X}, which must
+-not be negative.
+-
+-To calculate and represent the square root of a negative
+-number, complex arithmetic must be used.
+-For example, @samp{SQRT(COMPLEX(@var{X}))}.
+-
+-The inverse of this function is @samp{SQRT(@var{X}) * SQRT(@var{X})}.
+-
+-@end ifset
+-@ifset familyF2U
+-@node SRand Intrinsic
+-@subsubsection SRand Intrinsic
+-@cindex SRand intrinsic
+-@cindex intrinsics, SRand
+-
+-@noindent
+-@example
+-CALL SRand(@var{Seed})
+-@end example
+-
+-@noindent
+-@var{Seed}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Reinitialises the generator with the seed in @var{Seed}.
+-@xref{IRand Intrinsic}.
+-@xref{Rand Intrinsic}.
+-
+-@node Stat Intrinsic (subroutine)
+-@subsubsection Stat Intrinsic (subroutine)
+-@cindex Stat intrinsic
+-@cindex intrinsics, Stat
+-
+-@noindent
+-@example
+-CALL Stat(@var{File}, @var{SArray}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Obtains data about the given file @var{File} and places them in the array
+-@var{SArray}.
+-A null character (@samp{CHAR(0)}) marks the end of
+-the name in @var{File}---otherwise,
+-trailing blanks in @var{File} are ignored.
+-The values in this array are extracted from the
+-@code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
+-
+-@enumerate
+-@item
+-Device ID
+-
+-@item
+-Inode number
+-
+-@item
+-File mode
+-
+-@item
+-Number of links
+-
+-@item
+-Owner's uid
+-
+-@item
+-Owner's gid
+-
+-@item
+-ID of device containing directory entry for file
+-(0 if not available)
+-
+-@item
+-File size (bytes)
+-
+-@item
+-Last access time
+-
+-@item
+-Last modification time
+-
+-@item
+-Last file status change time
+-
+-@item
+-Preferred I/O block size (-1 if not available)
+-
+-@item
+-Number of blocks allocated (-1 if not available)
+-@end enumerate
+-
+-Not all these elements are relevant on all systems.
+-If an element is not relevant, it is returned as 0.
+-
+-If the @var{Status} argument is supplied, it contains
+-0 on success or a non-zero error code upon return.
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine, or do not support the
+-(optional) @var{Status} argument.
+-
+-For information on other intrinsics with the same name:
+-@xref{Stat Intrinsic (function)}.
+-
+-@node Stat Intrinsic (function)
+-@subsubsection Stat Intrinsic (function)
+-@cindex Stat intrinsic
+-@cindex intrinsics, Stat
+-
+-@noindent
+-@example
+-Stat(@var{File}, @var{SArray})
+-@end example
+-
+-@noindent
+-Stat: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{SArray}: @code{INTEGER(KIND=1)}; DIMENSION(13); INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Obtains data about the given file @var{File} and places them in the array
+-@var{SArray}.
+-A null character (@samp{CHAR(0)}) marks the end of
+-the name in @var{File}---otherwise,
+-trailing blanks in @var{File} are ignored.
+-The values in this array are extracted from the
+-@code{stat} structure as returned by @code{fstat(2)} q.v., as follows:
+-
+-@enumerate
+-@item
+-Device ID
+-
+-@item
+-Inode number
+-
+-@item
+-File mode
+-
+-@item
+-Number of links
+-
+-@item
+-Owner's uid
+-
+-@item
+-Owner's gid
+-
+-@item
+-ID of device containing directory entry for file
+-(0 if not available)
+-
+-@item
+-File size (bytes)
+-
+-@item
+-Last access time
+-
+-@item
+-Last modification time
+-
+-@item
+-Last file status change time
+-
+-@item
+-Preferred I/O block size (-1 if not available)
+-
+-@item
+-Number of blocks allocated (-1 if not available)
+-@end enumerate
+-
+-Not all these elements are relevant on all systems.
+-If an element is not relevant, it is returned as 0.
+-
+-Returns 0 on success or a non-zero error code.
+-
+-For information on other intrinsics with the same name:
+-@xref{Stat Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF90
+-@node Sum Intrinsic
+-@subsubsection Sum Intrinsic
+-@cindex Sum intrinsic
+-@cindex intrinsics, Sum
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Sum} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2U
+-@node SymLnk Intrinsic (subroutine)
+-@subsubsection SymLnk Intrinsic (subroutine)
+-@cindex SymLnk intrinsic
+-@cindex intrinsics, SymLnk
+-
+-@noindent
+-@example
+-CALL SymLnk(@var{Path1}, @var{Path2}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Makes a symbolic link from file @var{Path1} to @var{Path2}.
+-A null character (@samp{CHAR(0)}) marks the end of
+-the names in @var{Path1} and @var{Path2}---otherwise,
+-trailing blanks in @var{Path1} and @var{Path2} are ignored.
+-If the @var{Status} argument is supplied, it contains
+-0 on success or a non-zero error code upon return
+-(@code{ENOSYS} if the system does not provide @code{symlink(2)}).
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine, or do not support the
+-(optional) @var{Status} argument.
+-
+-For information on other intrinsics with the same name:
+-@xref{SymLnk Intrinsic (function)}.
+-
+-@end ifset
+-@ifset familyBADU77
+-@node SymLnk Intrinsic (function)
+-@subsubsection SymLnk Intrinsic (function)
+-@cindex SymLnk intrinsic
+-@cindex intrinsics, SymLnk
+-
+-@noindent
+-@example
+-SymLnk(@var{Path1}, @var{Path2})
+-@end example
+-
+-@noindent
+-SymLnk: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{Path1}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Path2}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{badu77}.
+-
+-@noindent
+-Description:
+-
+-Makes a symbolic link from file @var{Path1} to @var{Path2}.
+-A null character (@samp{CHAR(0)}) marks the end of
+-the names in @var{Path1} and @var{Path2}---otherwise,
+-trailing blanks in @var{Path1} and @var{Path2} are ignored.
+-Returns 0 on success or a non-zero error code
+-(@code{ENOSYS} if the system does not provide @code{symlink(2)}).
+-
+-Due to the side effects performed by this intrinsic, the function
+-form is not recommended.
+-
+-For information on other intrinsics with the same name:
+-@xref{SymLnk Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF2U
+-@node System Intrinsic (subroutine)
+-@subsubsection System Intrinsic (subroutine)
+-@cindex System intrinsic
+-@cindex intrinsics, System
+-
+-@noindent
+-@example
+-CALL System(@var{Command}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{Command}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Passes the command @var{Command} to a shell (see @code{system(3)}).
+-If argument @var{Status} is present, it contains the value returned by
+-@code{system(3)}, presumably 0 if the shell command succeeded.
+-Note that which shell is used to invoke the command is system-dependent
+-and environment-dependent.
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine, or do not support the
+-(optional) @var{Status} argument.
+-
+-For information on other intrinsics with the same name:
+-@xref{System Intrinsic (function)}.
+-
+-@end ifset
+-@ifset familyBADU77
+-@node System Intrinsic (function)
+-@subsubsection System Intrinsic (function)
+-@cindex System intrinsic
+-@cindex intrinsics, System
+-
+-@noindent
+-@example
+-System(@var{Command})
+-@end example
+-
+-@noindent
+-System: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{Command}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{badu77}.
+-
+-@noindent
+-Description:
+-
+-Passes the command @var{Command} to a shell (see @code{system(3)}).
+-Returns the value returned by
+-@code{system(3)}, presumably 0 if the shell command succeeded.
+-Note that which shell is used to invoke the command is system-dependent
+-and environment-dependent.
+-
+-Due to the side effects performed by this intrinsic, the function
+-form is not recommended.
+-However, the function form can be valid in cases where the
+-actual side effects performed by the call are unimportant to
+-the application.
+-
+-For example, on a UNIX system, @samp{SAME = SYSTEM('cmp a b')}
+-does not perform any side effects likely to be important to the
+-program, so the programmer would not care if the actual system
+-call (and invocation of @code{cmp}) was optimized away in a situation
+-where the return value could be determined otherwise, or was not
+-actually needed (@samp{SAME} not actually referenced after the
+-sample assignment statement).
+-
+-For information on other intrinsics with the same name:
+-@xref{System Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF90
+-@node System_Clock Intrinsic
+-@subsubsection System_Clock Intrinsic
+-@cindex System_Clock intrinsic
+-@cindex intrinsics, System_Clock
+-
+-@noindent
+-@example
+-CALL System_Clock(@var{Count}, @var{Rate}, @var{Max})
+-@end example
+-
+-@noindent
+-@var{Count}: @code{INTEGER(KIND=1)}; scalar; INTENT(OUT).
+-
+-@noindent
+-@var{Rate}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-@var{Max}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{f90}.
+-
+-@noindent
+-Description:
+-
+-Returns in @var{Count} the current value of the system clock; this is
+-the value returned by the UNIX function @code{times(2)}
+-in this implementation, but
+-isn't in general.
+-@var{Rate} is the number of clock ticks per second and
+-@var{Max} is the maximum value this can take, which isn't very useful
+-in this implementation since it's just the maximum C @code{unsigned
+-int} value.
+-
+-@cindex wraparound, timings
+-@cindex limits, timings
+-On some systems, the underlying timings are represented
+-using types with sufficiently small limits that overflows
+-(wraparounds) are possible, such as 32-bit types.
+-Therefore, the values returned by this intrinsic
+-might be, or become, negative,
+-or numerically less than previous values,
+-during a single run of the compiled program.
+-
+-@end ifset
+-@ifset familyF77
+-@node Tan Intrinsic
+-@subsubsection Tan Intrinsic
+-@cindex Tan intrinsic
+-@cindex intrinsics, Tan
+-
+-@noindent
+-@example
+-Tan(@var{X})
+-@end example
+-
+-@noindent
+-Tan: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the tangent of @var{X}, an angle measured
+-in radians.
+-
+-@xref{ATan Intrinsic}, for the inverse of this function.
+-
+-@end ifset
+-@ifset familyVXT
+-@node TanD Intrinsic
+-@subsubsection TanD Intrinsic
+-@cindex TanD intrinsic
+-@cindex intrinsics, TanD
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL TanD} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF77
+-@node TanH Intrinsic
+-@subsubsection TanH Intrinsic
+-@cindex TanH intrinsic
+-@cindex intrinsics, TanH
+-
+-@noindent
+-@example
+-TanH(@var{X})
+-@end example
+-
+-@noindent
+-TanH: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}.
+-
+-@noindent
+-@var{X}: @code{REAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: (standard FORTRAN 77).
+-
+-@noindent
+-Description:
+-
+-Returns the hyperbolic tangent of @var{X}.
+-
+-@end ifset
+-@ifset familyF2U
+-@node Time Intrinsic (UNIX)
+-@subsubsection Time Intrinsic (UNIX)
+-@cindex Time intrinsic
+-@cindex intrinsics, Time
+-
+-@noindent
+-@example
+-Time()
+-@end example
+-
+-@noindent
+-Time: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the current time encoded as an integer
+-(in the manner of the UNIX function @code{time(3)}).
+-This value is suitable for passing to @code{CTIME},
+-@code{GMTIME}, and @code{LTIME}.
+-
+-@cindex wraparound, timings
+-@cindex limits, timings
+-This intrinsic is not fully portable, such as to systems
+-with 32-bit @code{INTEGER} types but supporting times
+-wider than 32 bits.
+-Therefore, the values returned by this intrinsic
+-might be, or become, negative,
+-or numerically less than previous values,
+-during a single run of the compiled program.
+-
+-@xref{Time8 Intrinsic}, for information on a
+-similar intrinsic that might be portable to more
+-GNU Fortran implementations, though to fewer
+-Fortran compilers.
+-
+-For information on other intrinsics with the same name:
+-@xref{Time Intrinsic (VXT)}.
+-
+-@end ifset
+-@ifset familyVXT
+-@node Time Intrinsic (VXT)
+-@subsubsection Time Intrinsic (VXT)
+-@cindex Time intrinsic
+-@cindex intrinsics, Time
+-
+-@noindent
+-@example
+-CALL Time(@var{Time})
+-@end example
+-
+-@noindent
+-@var{Time}: @code{CHARACTER*8}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{vxt}.
+-
+-@noindent
+-Description:
+-
+-Returns in @var{Time} a character representation of the current time as
+-obtained from @code{ctime(3)}.
+-
+-@cindex Y10K compliance
+-@cindex Year 10000 compliance
+-@cindex wraparound, Y10K
+-@cindex limits, Y10K
+-Programs making use of this intrinsic
+-might not be Year 10000 (Y10K) compliant.
+-For example, the date might appear,
+-to such programs, to wrap around
+-(change from a larger value to a smaller one)
+-as of the Year 10000.
+-
+-@xref{FDate Intrinsic (subroutine)}, for an equivalent routine.
+-
+-For information on other intrinsics with the same name:
+-@xref{Time Intrinsic (UNIX)}.
+-
+-@end ifset
+-@ifset familyF2U
+-@node Time8 Intrinsic
+-@subsubsection Time8 Intrinsic
+-@cindex Time8 intrinsic
+-@cindex intrinsics, Time8
+-
+-@noindent
+-@example
+-Time8()
+-@end example
+-
+-@noindent
+-Time8: @code{INTEGER(KIND=2)} function.
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the current time encoded as a long integer
+-(in the manner of the UNIX function @code{time(3)}).
+-This value is suitable for passing to @code{CTIME},
+-@code{GMTIME}, and @code{LTIME}.
+-
+-@cindex wraparound, timings
+-@cindex limits, timings
+-@emph{Warning:} this intrinsic does not increase the range
+-of the timing values over that returned by @code{time(3)}.
+-On a system with a 32-bit @code{time(3)},
+-@code{TIME8} will return a 32-bit value,
+-even though converted to an @samp{INTEGER(KIND=2)} value.
+-That means overflows of the 32-bit value can still occur.
+-Therefore, the values returned by this intrinsic
+-might be, or become, negative,
+-or numerically less than previous values,
+-during a single run of the compiled program.
+-
+-No Fortran implementations other than GNU Fortran are
+-known to support this intrinsic at the time of this
+-writing.
+-@xref{Time Intrinsic (UNIX)}, for information on a
+-similar intrinsic that might be portable to more Fortran
+-compilers, though to fewer GNU Fortran implementations.
+-
+-@end ifset
+-@ifset familyF90
+-@node Tiny Intrinsic
+-@subsubsection Tiny Intrinsic
+-@cindex Tiny intrinsic
+-@cindex intrinsics, Tiny
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Tiny} to use this name for an
+-external procedure.
+-
+-@node Transfer Intrinsic
+-@subsubsection Transfer Intrinsic
+-@cindex Transfer intrinsic
+-@cindex intrinsics, Transfer
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Transfer} to use this name for an
+-external procedure.
+-
+-@node Transpose Intrinsic
+-@subsubsection Transpose Intrinsic
+-@cindex Transpose intrinsic
+-@cindex intrinsics, Transpose
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Transpose} to use this name for an
+-external procedure.
+-
+-@node Trim Intrinsic
+-@subsubsection Trim Intrinsic
+-@cindex Trim intrinsic
+-@cindex intrinsics, Trim
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Trim} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2U
+-@node TtyNam Intrinsic (subroutine)
+-@subsubsection TtyNam Intrinsic (subroutine)
+-@cindex TtyNam intrinsic
+-@cindex intrinsics, TtyNam
+-
+-@noindent
+-@example
+-CALL TtyNam(@var{Unit}, @var{Name})
+-@end example
+-
+-@noindent
+-@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Name}: @code{CHARACTER}; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Sets @var{Name} to the name of the terminal device open on logical unit
+-@var{Unit} or to a blank string if @var{Unit} is not connected to a
+-terminal.
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine.
+-
+-For information on other intrinsics with the same name:
+-@xref{TtyNam Intrinsic (function)}.
+-
+-@node TtyNam Intrinsic (function)
+-@subsubsection TtyNam Intrinsic (function)
+-@cindex TtyNam intrinsic
+-@cindex intrinsics, TtyNam
+-
+-@noindent
+-@example
+-TtyNam(@var{Unit})
+-@end example
+-
+-@noindent
+-TtyNam: @code{CHARACTER*(*)} function.
+-
+-@noindent
+-@var{Unit}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Returns the name of the terminal device open on logical unit
+-@var{Unit} or a blank string if @var{Unit} is not connected to a
+-terminal.
+-
+-For information on other intrinsics with the same name:
+-@xref{TtyNam Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF90
+-@node UBound Intrinsic
+-@subsubsection UBound Intrinsic
+-@cindex UBound intrinsic
+-@cindex intrinsics, UBound
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL UBound} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2U
+-@node UMask Intrinsic (subroutine)
+-@subsubsection UMask Intrinsic (subroutine)
+-@cindex UMask intrinsic
+-@cindex intrinsics, UMask
+-
+-@noindent
+-@example
+-CALL UMask(@var{Mask}, @var{Old})
+-@end example
+-
+-@noindent
+-@var{Mask}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Old}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Sets the file creation mask to @var{Mask} and returns the old value in
+-argument @var{Old} if it is supplied.
+-See @code{umask(2)}.
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine.
+-
+-For information on other intrinsics with the same name:
+-@xref{UMask Intrinsic (function)}.
+-
+-@end ifset
+-@ifset familyBADU77
+-@node UMask Intrinsic (function)
+-@subsubsection UMask Intrinsic (function)
+-@cindex UMask intrinsic
+-@cindex intrinsics, UMask
+-
+-@noindent
+-@example
+-UMask(@var{Mask})
+-@end example
+-
+-@noindent
+-UMask: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{Mask}: @code{INTEGER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{badu77}.
+-
+-@noindent
+-Description:
+-
+-Sets the file creation mask to @var{Mask} and returns the old value.
+-See @code{umask(2)}.
+-
+-Due to the side effects performed by this intrinsic, the function
+-form is not recommended.
+-
+-For information on other intrinsics with the same name:
+-@xref{UMask Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF2U
+-@node Unlink Intrinsic (subroutine)
+-@subsubsection Unlink Intrinsic (subroutine)
+-@cindex Unlink intrinsic
+-@cindex intrinsics, Unlink
+-
+-@noindent
+-@example
+-CALL Unlink(@var{File}, @var{Status})
+-@end example
+-
+-@noindent
+-@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{Status}: @code{INTEGER(KIND=1)}; OPTIONAL; scalar; INTENT(OUT).
+-
+-@noindent
+-Intrinsic groups: @code{unix}.
+-
+-@noindent
+-Description:
+-
+-Unlink the file @var{File}.
+-A null character (@samp{CHAR(0)}) marks the end of
+-the name in @var{File}---otherwise,
+-trailing blanks in @var{File} are ignored.
+-If the @var{Status} argument is supplied, it contains
+-0 on success or a non-zero error code upon return.
+-See @code{unlink(2)}.
+-
+-Some non-GNU implementations of Fortran provide this intrinsic as
+-only a function, not as a subroutine, or do not support the
+-(optional) @var{Status} argument.
+-
+-For information on other intrinsics with the same name:
+-@xref{Unlink Intrinsic (function)}.
+-
+-@end ifset
+-@ifset familyBADU77
+-@node Unlink Intrinsic (function)
+-@subsubsection Unlink Intrinsic (function)
+-@cindex Unlink intrinsic
+-@cindex intrinsics, Unlink
+-
+-@noindent
+-@example
+-Unlink(@var{File})
+-@end example
+-
+-@noindent
+-Unlink: @code{INTEGER(KIND=1)} function.
+-
+-@noindent
+-@var{File}: @code{CHARACTER}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{badu77}.
+-
+-@noindent
+-Description:
+-
+-Unlink the file @var{File}.
+-A null character (@samp{CHAR(0)}) marks the end of
+-the name in @var{File}---otherwise,
+-trailing blanks in @var{File} are ignored.
+-Returns 0 on success or a non-zero error code.
+-See @code{unlink(2)}.
+-
+-Due to the side effects performed by this intrinsic, the function
+-form is not recommended.
+-
+-For information on other intrinsics with the same name:
+-@xref{Unlink Intrinsic (subroutine)}.
+-
+-@end ifset
+-@ifset familyF90
+-@node Unpack Intrinsic
+-@subsubsection Unpack Intrinsic
+-@cindex Unpack intrinsic
+-@cindex intrinsics, Unpack
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Unpack} to use this name for an
+-external procedure.
+-
+-@node Verify Intrinsic
+-@subsubsection Verify Intrinsic
+-@cindex Verify intrinsic
+-@cindex intrinsics, Verify
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL Verify} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2C
+-@node XOr Intrinsic
+-@subsubsection XOr Intrinsic
+-@cindex XOr intrinsic
+-@cindex intrinsics, XOr
+-
+-@noindent
+-@example
+-XOr(@var{I}, @var{J})
+-@end example
+-
+-@noindent
+-XOr: @code{INTEGER} or @code{LOGICAL} function, the exact type being the result of cross-promoting the
+-types of all the arguments.
+-
+-@noindent
+-@var{I}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
+-
+-@noindent
+-@var{J}: @code{INTEGER} or @code{LOGICAL}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}.
+-
+-@noindent
+-Description:
+-
+-Returns value resulting from boolean exclusive-OR of
+-pair of bits in each of @var{I} and @var{J}.
+-
+-@node ZAbs Intrinsic
+-@subsubsection ZAbs Intrinsic
+-@cindex ZAbs intrinsic
+-@cindex intrinsics, ZAbs
+-
+-@noindent
+-@example
+-ZAbs(@var{A})
+-@end example
+-
+-@noindent
+-ZAbs: @code{REAL(KIND=2)} function.
+-
+-@noindent
+-@var{A}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{ABS()} that is specific
+-to one type for @var{A}.
+-@xref{Abs Intrinsic}.
+-
+-@node ZCos Intrinsic
+-@subsubsection ZCos Intrinsic
+-@cindex ZCos intrinsic
+-@cindex intrinsics, ZCos
+-
+-@noindent
+-@example
+-ZCos(@var{X})
+-@end example
+-
+-@noindent
+-ZCos: @code{COMPLEX(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{COS()} that is specific
+-to one type for @var{X}.
+-@xref{Cos Intrinsic}.
+-
+-@node ZExp Intrinsic
+-@subsubsection ZExp Intrinsic
+-@cindex ZExp intrinsic
+-@cindex intrinsics, ZExp
+-
+-@noindent
+-@example
+-ZExp(@var{X})
+-@end example
+-
+-@noindent
+-ZExp: @code{COMPLEX(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{EXP()} that is specific
+-to one type for @var{X}.
+-@xref{Exp Intrinsic}.
+-
+-@end ifset
+-@ifset familyVXT
+-@node ZExt Intrinsic
+-@subsubsection ZExt Intrinsic
+-@cindex ZExt intrinsic
+-@cindex intrinsics, ZExt
+-
+-This intrinsic is not yet implemented.
+-The name is, however, reserved as an intrinsic.
+-Use @samp{EXTERNAL ZExt} to use this name for an
+-external procedure.
+-
+-@end ifset
+-@ifset familyF2C
+-@node ZLog Intrinsic
+-@subsubsection ZLog Intrinsic
+-@cindex ZLog intrinsic
+-@cindex intrinsics, ZLog
+-
+-@noindent
+-@example
+-ZLog(@var{X})
+-@end example
+-
+-@noindent
+-ZLog: @code{COMPLEX(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{LOG()} that is specific
+-to one type for @var{X}.
+-@xref{Log Intrinsic}.
+-
+-@node ZSin Intrinsic
+-@subsubsection ZSin Intrinsic
+-@cindex ZSin intrinsic
+-@cindex intrinsics, ZSin
+-
+-@noindent
+-@example
+-ZSin(@var{X})
+-@end example
+-
+-@noindent
+-ZSin: @code{COMPLEX(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{SIN()} that is specific
+-to one type for @var{X}.
+-@xref{Sin Intrinsic}.
+-
+-@node ZSqRt Intrinsic
+-@subsubsection ZSqRt Intrinsic
+-@cindex ZSqRt intrinsic
+-@cindex intrinsics, ZSqRt
+-
+-@noindent
+-@example
+-ZSqRt(@var{X})
+-@end example
+-
+-@noindent
+-ZSqRt: @code{COMPLEX(KIND=2)} function.
+-
+-@noindent
+-@var{X}: @code{COMPLEX(KIND=2)}; scalar; INTENT(IN).
+-
+-@noindent
+-Intrinsic groups: @code{f2c}.
+-
+-@noindent
+-Description:
+-
+-Archaic form of @code{SQRT()} that is specific
+-to one type for @var{X}.
+-@xref{SqRt Intrinsic}.
+-
+-@end ifset
diff --git a/lang/pgcc/patches/patch-ab b/lang/pgcc/patches/patch-ab
new file mode 100644
index 00000000000..26a593f13be
--- /dev/null
+++ b/lang/pgcc/patches/patch-ab
@@ -0,0 +1,169 @@
+$NetBSD: patch-ab,v 1.1 2002/03/14 14:54:50 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/config/i386/netbsd-elf.h.orig Thu Apr 26 11:53:41 2001
++++ ../gcc-2.95.2/gcc/config/i386/netbsd-elf.h
+@@ -0,0 +1,164 @@
++/* Definitions of target machine for GNU compiler,
++ for i386 NetBSD systems.
++ Copyright (C) 1998 Free Software Foundation, Inc.
++
++This file is part of GNU CC.
++
++GNU CC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 2, or (at your option)
++any later version.
++
++GNU CC is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GNU CC; see the file COPYING. If not, write to
++the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
++
++/* This is used on i386 platforms that use the ELF format.
++ This was taken from the NetBSD/alpha configuration, and modified
++ for NetBSD/i386 by Christos Zoulas <christos@netbsd.org> */
++
++/* Get generic i386 definitions. */
++
++/* This goes away when the math-emulator is fixed */
++#define TARGET_CPU_DEFAULT 0400 /* TARGET_NO_FANCY_MATH_387 */
++
++#include <i386/gstabs.h>
++
++/* Get perform_* macros to build libgcc.a. */
++#include <i386/perform.h>
++
++/* Get generic NetBSD ELF definitions. We will override these if necessary. */
++
++#define NETBSD_ELF
++#include <netbsd.h>
++
++#undef ASM_FINAL_SPEC
++
++/* Names to predefine in the preprocessor for this target machine. */
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES "\
++-Dunix -Di386 -D__NetBSD__ -D__ELF__ \
++-Asystem(unix) -Asystem(NetBSD) -Acpu(i386) -Amachine(i386)"
++
++/* Make gcc agree with <machine/ansi.h> */
++
++#undef SIZE_TYPE
++#define SIZE_TYPE "unsigned int"
++
++#undef PTRDIFF_TYPE
++#define PTRDIFF_TYPE "int"
++
++#undef WCHAR_TYPE
++#define WCHAR_TYPE "int"
++
++#undef WCHAR_UNSIGNED
++#define WCHAR_UNSIGNED 0
++
++#undef WCHAR_TYPE_SIZE
++#define WCHAR_TYPE_SIZE 32
++
++/* Output assembler code to FILE to increment profiler label # LABELNO
++ for profiling a function entry. Under NetBSD/i386, the assembler does
++ nothing special with -pg. */
++
++#undef ASM_APP_ON
++#define ASM_APP_ON "#APP\n"
++
++#undef ASM_APP_OFF
++#define ASM_APP_OFF "#NO_APP\n"
++
++#define bsd4_4
++#undef HAS_INIT_SECTION
++
++/* Provide a LINK_SPEC appropriate for a NetBSD/alpha ELF target. Only
++ the linker emulation is i386-specific. The rest are
++ common to all ELF targets, except for the name of the start function. */
++
++#undef LINK_SPEC
++#define LINK_SPEC \
++ "-m elf_i386 \
++ %{assert*} %{R*} \
++ %{shared:-shared} \
++ %{!shared: \
++ -dc -dp \
++ %{!nostdlib:%{!r*:%{!e*:-e __start}}} \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \
++ %{static:-static}}"
++
++#undef DEFAULT_VTABLE_THUNKS
++#define DEFAULT_VTABLE_THUNKS 1
++
++#undef ASM_OUTPUT_ALIGN
++#define ASM_OUTPUT_ALIGN(FILE,LOG) \
++ if ((LOG)!=0) fprintf ((FILE), "\t.align %d\n", 1 << (LOG))
++
++/* This is how we tell the assembler that two symbols have the same value. */
++
++#define ASM_OUTPUT_DEF(FILE,NAME1,NAME2) \
++ do { assemble_name(FILE, NAME1); \
++ fputs(" = ", FILE); \
++ assemble_name(FILE, NAME2); \
++ fputc('\n', FILE); } while (0)
++
++/*
++ * We always use gas here, so we don't worry about ECOFF assembler problems.
++ */
++#undef TARGET_GAS
++#define TARGET_GAS (1)
++
++/* The following macros are stolen from i386v4.h */
++/* These have to be defined to get PIC code correct */
++
++/* This is how to output an element of a case-vector that is relative.
++ This is only used for PIC code. See comments by the `casesi' insn in
++ i386.md for an explanation of the expression this outputs. */
++
++#undef ASM_OUTPUT_ADDR_DIFF_ELT
++#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \
++ fprintf (FILE, "\t.long _GLOBAL_OFFSET_TABLE_+[.-%s%d]\n", LPREFIX, VALUE)
++
++/* Indicate that jump tables go in the text section. This is
++ necessary when compiling PIC code. */
++
++#define JUMP_TABLES_IN_TEXT_SECTION 1
++
++/* Default to pcc-struct-return, because this is the ELF abi and
++ we don't care about compatibility with older gcc versions. */
++#define DEFAULT_PCC_STRUCT_RETURN 1
++
++/* Profiling routines, partially copied from i386/osfrose.h. */
++
++/* Redefine this to use %eax instead of %edx. */
++#undef FUNCTION_PROFILER
++#define FUNCTION_PROFILER(FILE, LABELNO) \
++{ \
++ if (flag_pic) \
++ { \
++ fprintf (FILE, "\tcall __mcount@PLT\n"); \
++ } \
++ else \
++ { \
++ fprintf (FILE, "\tcall __mcount\n"); \
++ } \
++}
++
++/* Put relocations in the constant pool in the writable data section. */
++#undef SELECT_RTX_SECTION
++#define SELECT_RTX_SECTION(MODE,RTX) \
++{ \
++ if (flag_pic && symbolic_operand (RTX)) \
++ data_section (); \
++ else \
++ readonly_data_section (); \
++}
++
++/* Use sjlj exceptions. */
++#define DWARF2_UNWIND_INFO 0
diff --git a/lang/pgcc/patches/patch-ac b/lang/pgcc/patches/patch-ac
new file mode 100644
index 00000000000..5d76de16c15
--- /dev/null
+++ b/lang/pgcc/patches/patch-ac
@@ -0,0 +1,28 @@
+$NetBSD: patch-ac,v 1.1 2002/03/14 14:54:51 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/config/i386/xm-netbsd.h.orig Sat Sep 16 00:17:42 2000
++++ ../gcc-2.95.2/gcc/config/i386/xm-netbsd.h Sat Sep 16 00:17:42 2000
+@@ -0,0 +1,23 @@
++/* Configuration file for i386 hosts running NetBSD.
++ Copyright (C) 1999 Free Software Foundation, Inc.
++
++This file is part of GNU CC.
++
++GNU CC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 2, or (at your option)
++any later version.
++
++GNU CC is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GNU CC; see the file COPYING. If not, write to
++the Free Software Foundation, 59 Temple Place - Suite 330,
++Boston, MA 02111-1307, USA. */
++
++#include <xm-netbsd.h>
++#include <i386/xm-i386.h>
++
diff --git a/lang/pgcc/patches/patch-ad b/lang/pgcc/patches/patch-ad
new file mode 100644
index 00000000000..93d73ce75f7
--- /dev/null
+++ b/lang/pgcc/patches/patch-ad
@@ -0,0 +1,74 @@
+$NetBSD: patch-ad,v 1.1 2002/03/14 14:54:51 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/config/sparc/netbsd-elf-common.h.orig Sat Sep 16 00:17:42 2000
++++ ../gcc-2.95.2/gcc/config/sparc/netbsd-elf-common.h Sat Sep 16 00:17:42 2000
+@@ -0,0 +1,69 @@
++/* NetBSD/sparc ELF common 32/64 bit configuration */
++
++#define OBJECT_FORMAT_ELF
++#define NETBSD_ELF
++#include <netbsd.h>
++
++/* Fix up CPP_SPEC. This merges the code from <netbsd.h> and <sparc/sparc.h> */
++#undef CPP_SPEC
++#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} \
++%(cpp_cpu) %(cpp_arch) %(cpp_endian) %(cpp_subtarget)"
++
++#undef CPP_PREDEFINES
++#define CPP_PREDEFINES "-D__sparc__ -D__NetBSD__ -D__ELF__ \
++-Asystem(unix) -Asystem(NetBSD)"
++
++#undef SIZE_TYPE
++#define SIZE_TYPE "long unsigned int"
++
++#undef PTRDIFF_TYPE
++#define PTRDIFF_TYPE "long int"
++
++#undef WCHAR_TYPE
++#define WCHAR_TYPE "int"
++
++#undef WCHAR_TYPE_SIZE
++#define WCHAR_TYPE_SIZE 32
++
++#undef WCHAR_UNSIGNED
++#define WCHAR_UNSIGNED 0
++
++#undef PREFERRED_DEBUGGING_TYPE
++#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
++
++/* This is the char to use for continuation (in case we need to turn
++ continuation back on). */
++#undef DBX_CONTIN_CHAR
++#define DBX_CONTIN_CHAR '?'
++
++#undef DBX_REGISTER_NUMBER
++#define DBX_REGISTER_NUMBER(REGNO) \
++ (TARGET_FLAT && REGNO == FRAME_POINTER_REGNUM ? 31 : REGNO)
++
++/* This is how to output a definition of an internal numbered label where
++ PREFIX is the class of label and NUM is the number within the class. */
++
++#undef ASM_OUTPUT_INTERNAL_LABEL
++#define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) \
++ fprintf (FILE, ".L%s%d:\n", PREFIX, NUM)
++
++/* This is how to store into the string LABEL
++ the symbol_ref name of an internal numbered label where
++ PREFIX is the class of label and NUM is the number within the class.
++ This is suitable for output with `assemble_name'. */
++
++#undef ASM_GENERATE_INTERNAL_LABEL
++#define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM) \
++ sprintf ((LABEL), "*.L%s%ld", (PREFIX), (long)(NUM))
++
++#undef ASM_SPEC
++#define ASM_SPEC "%{fpic:-K PIC} %{fPIC:-K PIC} \
++%{mlittle-endian:-EL} \
++%(asm_cpu) %(asm_arch)\
++"
++
++#undef STDC_0_IN_SYSTEM_HEADERS
++
++/* XXX Redefine this; <sparc/sparc.h> mucks with it. */
++#undef TARGET_VERSION
++#define TARGET_VERSION fprintf (stderr, " (%s)", TARGET_NAME);
diff --git a/lang/pgcc/patches/patch-ae b/lang/pgcc/patches/patch-ae
new file mode 100644
index 00000000000..cc8f42f3337
--- /dev/null
+++ b/lang/pgcc/patches/patch-ae
@@ -0,0 +1,50 @@
+$NetBSD: patch-ae,v 1.1 2002/03/14 14:54:51 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/config/sparc/netbsd-elf.h.orig Fri Apr 27 10:59:15 2001
++++ ../gcc-2.95.2/gcc/config/sparc/netbsd-elf.h
+@@ -0,0 +1,45 @@
++/* NetBSD/sparc ELF configuration */
++
++/*
++ * Pull in generic SPARC ELF configuration, and then clean up
++ * afterwards
++ */
++#include <sparc/elf.h>
++
++/* Name the target CPU. */
++#ifndef TARGET_CPU_DEFAULT
++#define TARGET_CPU_DEFAULT TARGET_CPU_sparc
++#endif
++
++#undef MULDI3_LIBCALL
++#undef DIVDI3_LIBCALL
++#undef UDIVDI3_LIBCALL
++#undef MODDI3_LIBCALL
++#undef UMODDI3_LIBCALL
++#undef INIT_SUBTARGET_OPTABS
++#define INIT_SUBTARGET_OPTABS
++
++#undef CPP_SUBTARGET_SPEC
++#define CPP_SUBTARGET_SPEC "-D__sparc"
++
++#include <sparc/netbsd-elf-common.h>
++
++#undef LINK_SPEC
++#define LINK_SPEC \
++ "-m elf32_sparc \
++ %{assert*} %{R*} \
++ %{shared:-shared} \
++ %{!shared: \
++ -dy -dc -dp \
++ %{!nostdlib:%{!r*:%{!e*:-e __start}}} \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \
++ %{static:-static}}"
++
++/* Name the port. */
++#undef TARGET_NAME
++#define TARGET_NAME "sparc-netbsdelf"
++
++/* Use sjlj exceptions. */
++#define DWARF2_UNWIND_INFO 0
diff --git a/lang/pgcc/patches/patch-af b/lang/pgcc/patches/patch-af
new file mode 100644
index 00000000000..aca3b11cca6
--- /dev/null
+++ b/lang/pgcc/patches/patch-af
@@ -0,0 +1,177 @@
+$NetBSD: patch-af,v 1.1 2002/03/14 14:54:51 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/config/sparc/netbsd64.h.orig Fri Apr 27 10:59:15 2001
++++ ../gcc-2.95.2/gcc/config/sparc/netbsd64.h
+@@ -0,0 +1,172 @@
++/* NetBSD/sparc64 ELF configuration */
++
++/*
++ * Pull in generic SPARC64 ELF configuration, and then clean up
++ * afterwards
++ */
++
++/* Let us output 32 bit code as well */
++#define SPARC_BI_ARCH
++
++/* Name the target CPU. This must be before <sparc/sparc.h>. */
++#ifndef TARGET_CPU_DEFAULT
++#define TARGET_CPU_DEFAULT TARGET_CPU_ultrasparc
++#endif
++
++#include <sparc/sp64-elf.h>
++
++#include <sparc/netbsd-elf-common.h>
++
++#undef CPP_SUBTARGET_SPEC
++#define CPP_SUBTARGET_SPEC "-D__sparc64__"
++
++#undef LINK_SPEC64
++#define LINK_SPEC64 \
++ "-m elf64_sparc \
++ %{assert*} %{R*} \
++ %{shared:-shared} \
++ %{!shared: \
++ -dy -dc -dp \
++ %{!nostdlib:%{!r*:%{!e*:-e __start}}} \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \
++ %{static:-static}}"
++
++#undef LINK_SPEC
++#define LINK_SPEC LINK_SPEC64
++
++#ifdef SPARC_BI_ARCH
++
++#undef STARTFILE_SPEC64
++#define STARTFILE_SPEC64 \
++ "%{!shared: \
++ %{pg:gcrt0%O%s} \
++ %{!pg: \
++ %{p:gcrt0%O%s} \
++ %{!p:crt0%O%s}}} \
++ %{!shared:crtbegin%O%s} %{shared:crtbeginS%O%s}"
++
++#undef STARTFILE_SPEC32
++#define STARTFILE_SPEC32 \
++ "%{!shared: \
++ %{pg:/emul/netbsd32/usr/lib/gcrt0%O%s} \
++ %{!pg: \
++ %{p:/emul/netbsd32/usr/lib/gcrt0%O%s} \
++ %{!p:/emul/netbsd32/usr/lib/crt0%O%s}}} \
++ %{!shared:/emul/netbsd32/usr/lib/crtbegin%O%s} %{shared:/emul/netbsd32/usr/lib/crtbeginS%O%s}"
++
++#undef STARTFILE_SPEC
++#if DEFAULT_ARCH32_P
++#define STARTFILE_SPEC "\
++%{m32:" STARTFILE_SPEC32 "} \
++%{m64:" STARTFILE_SPEC64 "} \
++%{!m32:%{!m64:" STARTFILE_SPEC32 "}}"
++#else
++#define STARTFILE_SPEC "\
++%{m32:" STARTFILE_SPEC32 "} \
++%{m64:" STARTFILE_SPEC64 "} \
++%{!m32:%{!m64:" STARTFILE_SPEC64 "}}"
++#endif
++
++#undef ENDFILE_SPEC64
++#define ENDFILE_SPEC64 \
++ "%{!shared:crtend%O%s} %{shared:crtendS%O%s}"
++
++#undef ENDFILE_SPEC32
++#define ENDFILE_SPEC32 \
++ "%{!shared:/emul/netbsd32/usr/lib/crtend%O%s} %{shared:/emul/netbsd32/usr/lib/crtendS%O%s}"
++
++#undef ENDFILE_SPEC
++#if DEFAULT_ARCH32_P
++#define ENDFILE_SPEC "\
++%{m32:" ENDFILE_SPEC32 "} \
++%{m64:" ENDFILE_SPEC64 "} \
++%{!m32:%{!m64:" ENDFILE_SPEC32 "}}"
++#else
++#define ENDFILE_SPEC "\
++%{m32:" ENDFILE_SPEC32 "} \
++%{m64:" ENDFILE_SPEC64 "} \
++%{!m32:%{!m64:" ENDFILE_SPEC64 "}}"
++#endif
++
++#undef SUBTARGET_EXTRA_SPECS
++#define SUBTARGET_EXTRA_SPECS \
++ { "link_arch32", LINK_ARCH32_SPEC }, \
++ { "link_arch64", LINK_ARCH64_SPEC }, \
++ { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
++ { "link_arch", LINK_ARCH_SPEC },
++
++#undef LINK_ARCH32_SPEC
++#define LINK_ARCH32_SPEC \
++ "-m elf32_sparc \
++ -Y P,/emul/netbsd32/usr/lib \
++ %{assert*} %{R*} \
++ %{shared:-shared} \
++ %{!shared: \
++ -dy -dc -dp \
++ %{!nostdlib:%{!r*:%{!e*:-e __start}}} \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \
++ %{static:-static}}"
++
++#undef LINK_ARCH64_SPEC
++#define LINK_ARCH64_SPEC LINK_SPEC64
++
++#define LINK_ARCH_SPEC "\
++%{m32:%(link_arch32)} \
++%{m64:%(link_arch64)} \
++%{!m32:%{!m64:%(link_arch_default)}} \
++"
++
++#define LINK_ARCH_DEFAULT_SPEC \
++(DEFAULT_ARCH32_P ? LINK_ARCH32_SPEC : LINK_ARCH64_SPEC)
++
++#undef LINK_SPEC
++#define LINK_SPEC "\
++%(link_arch) \
++%{mlittle-endian:-EL} \
++"
++
++#undef CC1_SPEC
++#if DEFAULT_ARCH32_P
++#define CC1_SPEC "\
++%{sun4:} %{target:} \
++%{mcypress:-mcpu=cypress} \
++%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
++%{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
++%{m64:-mptr64 -mcpu=ultrasparc -mstack-bias} \
++"
++#else
++#define CC1_SPEC "\
++%{sun4:} %{target:} \
++%{mcypress:-mcpu=cypress} \
++%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
++%{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
++%{m32:-mptr32 -mcpu=cypress -mno-stack-bias} \
++"
++#endif
++
++#if DEFAULT_ARCH32_P
++#define MULTILIB_DEFAULTS { "m32" }
++#else
++#define MULTILIB_DEFAULTS { "m64" }
++#endif
++
++#undef CPP_SUBTARGET_SPEC
++#define CPP_SUBTARGET_SPEC \
++(DEFAULT_ARCH32_P ? "\
++%{m64:-D__sparc64__}%{!m64:-D__sparc} \
++" : "\
++%{!m32:-D__sparc64__}%{m32:-D__sparc} \
++")
++
++#endif /* SPARC_BI_ARCH */
++
++/* Name the port. */
++#undef TARGET_NAME
++#define TARGET_NAME "sparc64-netbsd"
++
++/* Use sjlj exceptions. */
++#define DWARF2_UNWIND_INFO 0
diff --git a/lang/pgcc/patches/patch-ag b/lang/pgcc/patches/patch-ag
new file mode 100644
index 00000000000..11cdb0c2f1b
--- /dev/null
+++ b/lang/pgcc/patches/patch-ag
@@ -0,0 +1,16 @@
+$NetBSD: patch-ag,v 1.1 2002/03/14 14:54:52 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/config/sparc/sparc.md.orig Thu Oct 21 07:35:40 1999
++++ ../gcc-2.95.2/gcc/config/sparc/sparc.md Sat Sep 16 00:17:42 2000
+@@ -3472,10 +3472,7 @@
+ (define_split
+ [(set (match_operand:TF 0 "register_operand" "")
+ (match_operand:TF 1 "register_operand" ""))]
+- "reload_completed
+- && (! TARGET_ARCH64
+- || (TARGET_FPU
+- && ! TARGET_HARD_QUAD))"
++ "reload_completed"
+ [(clobber (const_int 0))]
+ "
+ {
diff --git a/lang/pgcc/patches/patch-ah b/lang/pgcc/patches/patch-ah
new file mode 100644
index 00000000000..5dc34259968
--- /dev/null
+++ b/lang/pgcc/patches/patch-ah
@@ -0,0 +1,34 @@
+$NetBSD: patch-ah,v 1.1 2002/03/14 14:54:52 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/config/sparc/sysv4.h.orig Mon Jun 21 19:48:53 1999
++++ ../gcc-2.95.2/gcc/config/sparc/sysv4.h Sat Sep 16 00:17:42 2000
+@@ -210,6 +210,29 @@
+ #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
+ asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
+
++/* A C statement (sans semicolon) to output an element in the table of
++ global constructors. */
++#undef ASM_OUTPUT_CONSTRUCTOR
++#define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME) \
++ do { \
++ ctors_section (); \
++ fprintf (FILE, "\t%s\t ", TARGET_ARCH64 ? ASM_LONGLONG : INT_ASM_OP); \
++ assemble_name (FILE, NAME); \
++ fprintf (FILE, "\n"); \
++ } while (0)
++
++/* A C statement (sans semicolon) to output an element in the table of
++ global destructors. */
++#undef ASM_OUTPUT_DESTRUCTOR
++#define ASM_OUTPUT_DESTRUCTOR(FILE,NAME) \
++ do { \
++ dtors_section (); \
++ fprintf (FILE, "\t%s\t ", TARGET_ARCH64 ? ASM_LONGLONG : INT_ASM_OP); \
++ assemble_name (FILE, NAME); \
++ fprintf (FILE, "\n"); \
++ } while (0)
++
++
+ /* Override the name of the mcount profiling function. */
+
+ #undef MCOUNT_FUNCTION
diff --git a/lang/pgcc/patches/patch-ai b/lang/pgcc/patches/patch-ai
new file mode 100644
index 00000000000..914868519c5
--- /dev/null
+++ b/lang/pgcc/patches/patch-ai
@@ -0,0 +1,9 @@
+$NetBSD: patch-ai,v 1.1 2002/03/14 14:54:52 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/config/sparc/xm-netbsd.h.orig Sat Sep 16 00:17:42 2000
++++ ../gcc-2.95.2/gcc/config/sparc/xm-netbsd.h Sat Sep 16 00:17:42 2000
+@@ -0,0 +1,4 @@
++/* Configuration for GCC for Sun SPARC running NetBSD as host. */
++
++#include <sparc/xm-sparc.h>
++#include <xm-netbsd.h>
diff --git a/lang/pgcc/patches/patch-aj b/lang/pgcc/patches/patch-aj
new file mode 100644
index 00000000000..8cd14ed002a
--- /dev/null
+++ b/lang/pgcc/patches/patch-aj
@@ -0,0 +1,9 @@
+$NetBSD: patch-aj,v 1.1 2002/03/14 14:54:52 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/config/sparc/xm-netbsd64.h.orig Sat Sep 16 00:17:42 2000
++++ ../gcc-2.95.2/gcc/config/sparc/xm-netbsd64.h Sat Sep 16 00:17:42 2000
+@@ -0,0 +1,4 @@
++/* Configuration for GCC for Sun SPARC V9 running NetBSD as host. */
++
++#include <xm-netbsd.h>
++#include <sparc/xm-sp64.h>
diff --git a/lang/pgcc/patches/patch-ak b/lang/pgcc/patches/patch-ak
new file mode 100644
index 00000000000..de1868cf496
--- /dev/null
+++ b/lang/pgcc/patches/patch-ak
@@ -0,0 +1,49 @@
+$NetBSD: patch-ak,v 1.1 2002/03/14 14:54:52 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/config/elfos.h.orig Fri Mar 26 11:45:26 1999
++++ ../gcc-2.95.2/gcc/config/elfos.h Sat Sep 16 00:17:42 2000
+@@ -48,6 +48,7 @@
+
+ /* Output #ident as a .ident. */
+
++#undef ASM_OUTPUT_IDENT
+ #define ASM_OUTPUT_IDENT(FILE, NAME) \
+ fprintf (FILE, "\t%s\t\"%s\"\n", IDENT_ASM_OP, NAME);
+
+@@ -92,6 +93,10 @@
+ #undef SET_ASM_OP
+ #define SET_ASM_OP ".set"
+
++/* We want local labels to start with period if made with asm_fprintf. */
++#undef LOCAL_LABEL_PREFIX
++#define LOCAL_LABEL_PREFIX "."
++
+ /* This is how to begin an assembly language file. Most svr4 assemblers want
+ at least a .file directive to come first, and some want to see a .version
+ directive come right after that. Here we just establish a default
+@@ -130,7 +135,7 @@
+ #undef ASM_OUTPUT_INTERNAL_LABEL
+ #define ASM_OUTPUT_INTERNAL_LABEL(FILE, PREFIX, NUM) \
+ do { \
+- fprintf (FILE, ".%s%d:\n", PREFIX, NUM); \
++ fprintf (FILE, "%s%s%d:\n", LOCAL_LABEL_PREFIX, PREFIX, NUM); \
+ } while (0)
+
+ /* This is how to store into the string LABEL
+@@ -144,7 +149,7 @@
+ #undef ASM_GENERATE_INTERNAL_LABEL
+ #define ASM_GENERATE_INTERNAL_LABEL(LABEL, PREFIX, NUM) \
+ do { \
+- sprintf (LABEL, "*.%s%d", PREFIX, NUM); \
++ sprintf (LABEL, "*%s%s%d", LOCAL_LABEL_PREFIX, PREFIX, NUM); \
+ } while (0)
+
+ /* Output the label which precedes a jumptable. Note that for all svr4
+@@ -461,6 +466,7 @@
+
+ /* This is how we tell the assembler that a symbol is weak. */
+
++#undef ASM_WEAKEN_LABEL
+ #define ASM_WEAKEN_LABEL(FILE,NAME) \
+ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
+ fputc ('\n', FILE); } while (0)
diff --git a/lang/pgcc/patches/patch-al b/lang/pgcc/patches/patch-al
new file mode 100644
index 00000000000..f676fad1fdc
--- /dev/null
+++ b/lang/pgcc/patches/patch-al
@@ -0,0 +1,113 @@
+$NetBSD: patch-al,v 1.1 2002/03/14 14:54:53 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/config/netbsd.h.orig Wed Dec 16 20:59:58 1998
++++ ../gcc-2.95.2/gcc/config/netbsd.h
+@@ -48,17 +48,38 @@
+ #define ASM_SPEC " %| %{fpic:-k} %{fPIC:-k -K}"
+
+ /* Provide a LIB_SPEC appropriate for NetBSD. Just select the appropriate
+- libc, depending on whether we're doing profiling. */
++ libc, depending on whether we're doing profiling; if `-posix' is specified,
++ link against the appropriate libposix first. Don't include libc when
++ linking a shared library. */
+
+ #undef LIB_SPEC
+-#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"
++#define LIB_SPEC \
++ "%{posix:%{!p:%{!pg:-lposix}}%{p:-lposix_p}%{pg:-lposix_p}} \
++ %{!shared:%{!symbolic:%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}}}"
++
++/* Provide a LIBGCC_SPEC appropriate for NetBSD. We also want to exclude
++ libgcc when -symbolic. */
++
++#undef LIBGCC_SPEC
++#define LIBGCC_SPEC "%{!shared:%{!symbolic:-lgcc}}"
++
++/* #ifdef NETBSD_AOUT */
++
++/* Provide a STARTFILE_SPEC appropriate for NetBSD a.out. Here we
++ provide support for the special GCC option -static. */
++
++#undef STARTFILE_SPEC
++#define STARTFILE_SPEC \
++ "%{!shared:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:%{!static:crt0%O%s}%{static:scrt0%O%s}}}} %{shared:c++rt0%O%s}"
+
+ /* Provide a LINK_SPEC appropriate for NetBSD. Here we provide support
+ for the special GCC options -static, -assert, and -nostdlib. */
+
+ #undef LINK_SPEC
+ #define LINK_SPEC \
+- "%{!nostdlib:%{!r*:%{!e*:-e start}}} -dc -dp %{R*} %{static:-Bstatic} %{assert*}"
++ "%{nostdlib:-nostdlib} %{!shared:%{!nostdlib:%{!r*:%{!e*:-e start}}} -dc -dp %{static:-Bstatic}} %{shared:-Bshareable} %{R*} %{assert*}"
++
++/* #endif NETBSD_AOUT */
+
+ /* This defines which switch letters take arguments. */
+ #undef SWITCH_TAKES_ARG
+@@ -127,6 +148,9 @@
+ entries in an ELF object file under SVR4. These macros also output
+ the starting labels for the relevant functions/objects. */
+
++/* XXX. This is WRONG for alpha. Needs to be verified on other ELF ports. */
++#ifndef NETBSD_ELF
++
+ /* Write the extra assembler code needed to declare a function properly.
+ Some svr4 assemblers need to also have something extra said about the
+ function's return value. We allow for that here. */
+@@ -207,3 +231,56 @@
+ putc ('\n', FILE); \
+ } \
+ } while (0)
++
++#endif /* ! NETBSD_ELF */
++
++/* NetBSD ELF support begins here. */
++
++#ifdef NETBSD_ELF
++
++/* Start with generic ELF definitions. */
++#if !defined(__sparc__)
++#include "elfos.h"
++
++#undef DWARF_DEBUGGING_INFO /* XXX */
++#undef DWARF2_DEBUGGING_INFO /* XXX */
++#endif
++
++/* Provide a STARTFILE_SPEC appropriate for NetBSD ELF targets. Here we
++ provide support for the special GCC option -static. On ELF targets,
++ we also add the crtbegin.o file which provides part of the support
++ for getting C++ file-scope static objects constructed before entering
++ `main'. */
++
++#undef STARTFILE_SPEC
++#define STARTFILE_SPEC \
++ "%{!shared: \
++ %{pg:gcrt0%O%s} \
++ %{!pg: \
++ %{p:gcrt0%O%s} \
++ %{!p:crt0%O%s}}} \
++ %{!shared:crtbegin%O%s} %{shared:crtbeginS%O%s}"
++
++/* Provide an ENDFILE_SPEC appropriate for NetBSD ELF targets. Here we
++ add crtend.o, which provides part of the support for getting C++
++ file-scope static objects deconstructed after exiting `main'. */
++
++#undef ENDFILE_SPEC
++#define ENDFILE_SPEC \
++ "%{!shared:crtend%O%s} %{shared:crtendS%O%s}"
++
++/* Provide a LINK_SPEC appropriate for a NetBSD ELF target. */
++
++#undef LINK_SPEC
++#define LINK_SPEC \
++ "%{assert*} \
++ %{shared:-shared} \
++ %{!shared: \
++ -dc -dp \
++ %{!nostdlib:%{!r*:%{!e*:-e __start}}} \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \
++ %{static:-static}}"
++
++#endif /* NETBSD_ELF */
diff --git a/lang/pgcc/patches/patch-am b/lang/pgcc/patches/patch-am
new file mode 100644
index 00000000000..c8c6e4a6184
--- /dev/null
+++ b/lang/pgcc/patches/patch-am
@@ -0,0 +1,37 @@
+$NetBSD: patch-am,v 1.1 2002/03/14 14:54:53 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/config/xm-netbsd.h.orig Sat Sep 16 00:17:42 2000
++++ ../gcc-2.95.2/gcc/config/xm-netbsd.h Sat Sep 16 00:17:42 2000
+@@ -0,0 +1,32 @@
++/* Configuration for GNU C-compiler for hosts running NetBSD.
++ Copyright (C) 1995 Free Software Foundation, Inc.
++
++This file is part of GNU CC.
++
++GNU CC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 2, or (at your option)
++any later version.
++
++GNU CC is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GNU CC; see the file COPYING. If not, write to
++the Free Software Foundation, 59 Temple Place - Suite 330,
++Boston, MA 02111-1307, USA. */
++
++/* This file defines machine-independent things specific to a host
++ running NetBSD. This file should not be specified as $xm_file itself;
++ instead $xm_file should be CPU/xm-netbsd.h, which should include both
++ CPU/xm-CPU.h and this file xm-netbsd.h. */
++
++#undef POSIX
++#define POSIX
++
++/* Ensure we get gnu C's defaults. */
++#ifdef __GNUC__
++#define alloca __builtin_alloca
++#endif
diff --git a/lang/pgcc/patches/patch-an b/lang/pgcc/patches/patch-an
new file mode 100644
index 00000000000..b384a08a2ac
--- /dev/null
+++ b/lang/pgcc/patches/patch-an
@@ -0,0 +1,11 @@
+$NetBSD: patch-an,v 1.1 2002/03/14 14:54:53 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/config/xm-target64.h.orig Sat Sep 16 00:17:42 2000
++++ ../gcc-2.95.2/gcc/config/xm-target64.h Sat Sep 16 00:17:42 2000
+@@ -0,0 +1,6 @@
++/* Hack to extend HOST_WIDE_INT on 64-bit target cross compilers. */
++
++#ifdef __GNUC__
++#define HOST_WIDE_INT long long
++#define HOST_BITS_PER_WIDE_INT 64
++#endif
diff --git a/lang/pgcc/patches/patch-ao b/lang/pgcc/patches/patch-ao
new file mode 100644
index 00000000000..20edb5f83f8
--- /dev/null
+++ b/lang/pgcc/patches/patch-ao
@@ -0,0 +1,18 @@
+$NetBSD: patch-ao,v 1.1 2002/03/14 14:54:53 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/objc/objc-act.c.orig Wed Apr 14 22:28:54 1999
++++ ../gcc-2.95.2/gcc/objc/objc-act.c Sat Sep 16 00:17:43 2000
+@@ -8399,8 +8399,11 @@
+ pushdecl (decl);
+ rest_of_decl_compilation (decl, 0, 0, 0);
+
+- /* Make following constant read-only (why not)? */
+- readonly_data_section ();
++ /* Make following constant read-only, if not compiling PIC. */
++ if (flag_pic)
++ data_section();
++ else
++ readonly_data_section ();
+
+ exp = build1 (ADDR_EXPR, string_type_node, decl);
+
diff --git a/lang/pgcc/patches/patch-ap b/lang/pgcc/patches/patch-ap
new file mode 100644
index 00000000000..7b6370c5074
--- /dev/null
+++ b/lang/pgcc/patches/patch-ap
@@ -0,0 +1,12 @@
+$NetBSD: patch-ap,v 1.1 2002/03/14 14:54:53 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/collect2.c.orig Tue Oct 12 23:16:52 1999
++++ ../gcc-2.95.2/gcc/collect2.c Sat Sep 16 00:17:41 2000
+@@ -53,7 +53,6 @@
+ #define obstack_chunk_alloc xmalloc
+ #define obstack_chunk_free free
+
+-extern char *make_temp_file PROTO ((char *));
+
+ /* On certain systems, we have code that works by scanning the object file
+ directly. But this code uses system-specific header files and library
diff --git a/lang/pgcc/patches/patch-aq b/lang/pgcc/patches/patch-aq
new file mode 100644
index 00000000000..c5e00fa14e5
--- /dev/null
+++ b/lang/pgcc/patches/patch-aq
@@ -0,0 +1,64 @@
+$NetBSD: patch-aq,v 1.1 2002/03/14 14:54:54 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/configure.in.orig Wed Oct 13 09:58:02 1999
++++ ../gcc-2.95.2/gcc/configure.in Sat Sep 16 01:07:10 2000
+@@ -1156,9 +1156,20 @@
+ tmake_file=t-freebsd
+ ;;
+ changequote(,)dnl
++ i[34567]86-*-netbsdelf* | \
++ i[34567]86-*-netbsd1.4[I-Z]* | \
++ i[34567]86-*-netbsd1.[5-9]* | \
++ i[34567]86-*-netbsd2*)
++changequote([,])dnl
++ tm_file=i386/netbsd-elf.h
++ xm_file=i386/xm-netbsd.h
++ tmake_file=t-netbsd
++ ;;
++changequote(,)dnl
+ i[34567]86-*-netbsd*)
+ changequote([,])dnl
+ tm_file=i386/netbsd.h
++ xm_file=i386/xm-netbsd.h
+ tmake_file=t-netbsd
+ use_collect2=yes
+ ;;
+@@ -3021,6 +3032,12 @@
+ tmake_file=sparc/t-sparcbare
+ tm_file="sparc/aout.h libgloss.h"
+ ;;
++ sparc-*-netbsd*elf*)
++ tm_file=sparc/netbsd-elf.h
++ xm_file=sparc/xm-netbsd.h
++ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
++ tmake_file="t-netbsd sparc/t-netbsd"
++ ;;
+ sparc-*-netbsd*)
+ tm_file=sparc/netbsd.h
+ tmake_file=t-netbsd
+@@ -3216,6 +3233,12 @@
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+ gnu_ld=yes
+ ;;
++ sparc64-*-netbsd*)
++ tm_file=sparc/netbsd64.h
++ xm_file=sparc/xm-netbsd64.h
++ tmake_file=t-netbsd
++ use_collect2=yes
++ ;;
+ # This hasn't been upgraded to GCC 2.
+ # tahoe-harris-*) # Harris tahoe, using COFF.
+ # tm_file=tahoe/harris.h
+@@ -3556,6 +3579,12 @@
+ enable_haifa=yes;;
+ esac
+ fi
++
++case $target in
++ alpha*|sparc64*)
++ build_xm_file="${build_xm_file} xm-target64.h"
++ host_xm_file="${host_xm_file} xm-target64.h";;
++esac
+
+ # Handle cpp installation.
+ if test x$enable_cpp != xno
diff --git a/lang/pgcc/patches/patch-ar b/lang/pgcc/patches/patch-ar
new file mode 100644
index 00000000000..bd9376e04ff
--- /dev/null
+++ b/lang/pgcc/patches/patch-ar
@@ -0,0 +1,832 @@
+$NetBSD: patch-ar,v 1.1 2002/03/14 14:54:54 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/configure.orig Tue Feb 27 14:32:38 2001
++++ ../gcc-2.95.2/gcc/configure
+@@ -1310,7 +1310,7 @@
+ fi
+
+ # Find some useful tools
+-for ac_prog in gawk mawk nawk awk
++for ac_prog in mawk gawk nawk awk
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+@@ -3552,8 +3552,17 @@
+ tm_file=i386/freebsd.h
+ tmake_file=t-freebsd
+ ;;
++ i[34567]86-*-netbsdelf* | \
++ i[34567]86-*-netbsd1.4[I-Z]* | \
++ i[34567]86-*-netbsd1.[5-9]* | \
++ i[34567]86-*-netbsd2*)
++ tm_file=i386/netbsd-elf.h
++ xm_file=i386/xm-netbsd.h
++ tmake_file=t-netbsd
++ ;;
+ i[34567]86-*-netbsd*)
+ tm_file=i386/netbsd.h
++ xm_file=i386/xm-netbsd.h
+ tmake_file=t-netbsd
+ use_collect2=yes
+ ;;
+@@ -5326,6 +5335,12 @@
+ tmake_file=sparc/t-sparcbare
+ tm_file="sparc/aout.h libgloss.h"
+ ;;
++ sparc-*-netbsd*elf*)
++ tm_file=sparc/netbsd-elf.h
++ xm_file=sparc/xm-netbsd.h
++ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
++ tmake_file="t-netbsd sparc/t-netbsd"
++ ;;
+ sparc-*-netbsd*)
+ tm_file=sparc/netbsd.h
+ tmake_file=t-netbsd
+@@ -5415,7 +5430,7 @@
+ xmake_file=sparc/x-sysv4
+ extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
+ case $machine in
+- *-*-solaris2.[0-4])
++ *-*-solaris2.0-4)
+ float_format=i128
+ ;;
+ *)
+@@ -5519,6 +5534,12 @@
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+ gnu_ld=yes
+ ;;
++ sparc64-*-netbsd*)
++ tm_file=sparc/netbsd64.h
++ xm_file=sparc/xm-netbsd64.h
++ tmake_file=t-netbsd
++ use_collect2=yes
++ ;;
+ # This hasn't been upgraded to GCC 2.
+ # tahoe-harris-*) # Harris tahoe, using COFF.
+ # tm_file=tahoe/harris.h
+@@ -5860,6 +5881,12 @@
+ esac
+ fi
+
++case $target in
++ alpha*|sparc64*)
++ build_xm_file="${build_xm_file} xm-target64.h"
++ host_xm_file="${host_xm_file} xm-target64.h";;
++esac
++
+ # Handle cpp installation.
+ if test x$enable_cpp != xno
+ then
+@@ -6049,7 +6076,7 @@
+
+
+ echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6
+-echo "configure:6044: checking for strerror in -lcposix" >&5
++echo "configure:6080: checking for strerror in -lcposix" >&5
+ ac_lib_var=`echo cposix'_'strerror | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -6057,7 +6084,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lcposix $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 6052 "configure"
++#line 6088 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -6068,7 +6095,7 @@
+ strerror()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6063: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6099: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -6091,12 +6118,12 @@
+
+
+ echo $ac_n "checking for working const""... $ac_c" 1>&6
+-echo "configure:6086: checking for working const" >&5
++echo "configure:6122: checking for working const" >&5
+ if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6091 "configure"
++#line 6127 "configure"
+ #include "confdefs.h"
+
+ int main() {
+@@ -6145,7 +6172,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6140: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:6176: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_c_const=yes
+ else
+@@ -6166,21 +6193,21 @@
+ fi
+
+ echo $ac_n "checking for inline""... $ac_c" 1>&6
+-echo "configure:6161: checking for inline" >&5
++echo "configure:6197: checking for inline" >&5
+ if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ ac_cv_c_inline=no
+ for ac_kw in inline __inline__ __inline; do
+ cat > conftest.$ac_ext <<EOF
+-#line 6168 "configure"
++#line 6204 "configure"
+ #include "confdefs.h"
+
+ int main() {
+ } $ac_kw foo() {
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6175: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:6211: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_c_inline=$ac_kw; break
+ else
+@@ -6206,12 +6233,12 @@
+ esac
+
+ echo $ac_n "checking for off_t""... $ac_c" 1>&6
+-echo "configure:6201: checking for off_t" >&5
++echo "configure:6237: checking for off_t" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6206 "configure"
++#line 6242 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #if STDC_HEADERS
+@@ -6239,12 +6266,12 @@
+ fi
+
+ echo $ac_n "checking for size_t""... $ac_c" 1>&6
+-echo "configure:6234: checking for size_t" >&5
++echo "configure:6270: checking for size_t" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6239 "configure"
++#line 6275 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #if STDC_HEADERS
+@@ -6274,19 +6301,19 @@
+ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+ # for constant arguments. Useless!
+ echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
+-echo "configure:6269: checking for working alloca.h" >&5
++echo "configure:6305: checking for working alloca.h" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6274 "configure"
++#line 6310 "configure"
+ #include "confdefs.h"
+ #include <alloca.h>
+ int main() {
+ char *p = alloca(2 * sizeof(int));
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6281: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6317: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_header_alloca_h=yes
+ else
+@@ -6307,12 +6334,12 @@
+ fi
+
+ echo $ac_n "checking for alloca""... $ac_c" 1>&6
+-echo "configure:6302: checking for alloca" >&5
++echo "configure:6338: checking for alloca" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6307 "configure"
++#line 6343 "configure"
+ #include "confdefs.h"
+
+ #ifdef __GNUC__
+@@ -6340,7 +6367,7 @@
+ char *p = (char *) alloca(1);
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6335: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_func_alloca_works=yes
+ else
+@@ -6372,12 +6399,12 @@
+
+
+ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
+-echo "configure:6367: checking whether alloca needs Cray hooks" >&5
++echo "configure:6403: checking whether alloca needs Cray hooks" >&5
+ if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6372 "configure"
++#line 6408 "configure"
+ #include "confdefs.h"
+ #if defined(CRAY) && ! defined(CRAY2)
+ webecray
+@@ -6402,12 +6429,12 @@
+ if test $ac_cv_os_cray = yes; then
+ for ac_func in _getb67 GETB67 getb67; do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:6397: checking for $ac_func" >&5
++echo "configure:6433: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6402 "configure"
++#line 6438 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -6430,7 +6457,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6425: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6461: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -6457,7 +6484,7 @@
+ fi
+
+ echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
+-echo "configure:6452: checking stack direction for C alloca" >&5
++echo "configure:6488: checking stack direction for C alloca" >&5
+ if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -6465,7 +6492,7 @@
+ ac_cv_c_stack_direction=0
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6460 "configure"
++#line 6496 "configure"
+ #include "confdefs.h"
+ find_stack_direction ()
+ {
+@@ -6484,7 +6511,7 @@
+ exit (find_stack_direction() < 0);
+ }
+ EOF
+-if { (eval echo configure:6479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:6515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ ac_cv_c_stack_direction=1
+ else
+@@ -6509,17 +6536,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:6504: checking for $ac_hdr" >&5
++echo "configure:6540: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6509 "configure"
++#line 6545 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:6514: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:6550: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -6548,12 +6575,12 @@
+ for ac_func in getpagesize
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:6543: checking for $ac_func" >&5
++echo "configure:6579: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6548 "configure"
++#line 6584 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -6576,7 +6603,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -6601,7 +6628,7 @@
+ done
+
+ echo $ac_n "checking for working mmap""... $ac_c" 1>&6
+-echo "configure:6596: checking for working mmap" >&5
++echo "configure:6632: checking for working mmap" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -6609,7 +6636,7 @@
+ ac_cv_func_mmap_fixed_mapped=no
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6604 "configure"
++#line 6640 "configure"
+ #include "confdefs.h"
+
+ /* Thanks to Mike Haertel and Jim Avera for this test.
+@@ -6749,7 +6776,7 @@
+ }
+
+ EOF
+-if { (eval echo configure:6744: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:6780: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ ac_cv_func_mmap_fixed_mapped=yes
+ else
+@@ -6777,17 +6804,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:6772: checking for $ac_hdr" >&5
++echo "configure:6808: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6777 "configure"
++#line 6813 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:6782: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:6818: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -6817,12 +6844,12 @@
+ strdup __argz_count __argz_stringify __argz_next
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:6812: checking for $ac_func" >&5
++echo "configure:6848: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6817 "configure"
++#line 6853 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -6845,7 +6872,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6840: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6876: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -6874,12 +6901,12 @@
+ for ac_func in stpcpy
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:6869: checking for $ac_func" >&5
++echo "configure:6905: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6874 "configure"
++#line 6910 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -6902,7 +6929,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6897: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6933: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -6936,19 +6963,19 @@
+
+ if test $ac_cv_header_locale_h = yes; then
+ echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
+-echo "configure:6931: checking for LC_MESSAGES" >&5
++echo "configure:6967: checking for LC_MESSAGES" >&5
+ if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 6936 "configure"
++#line 6972 "configure"
+ #include "confdefs.h"
+ #include <locale.h>
+ int main() {
+ return LC_MESSAGES
+ ; return 0; }
+ EOF
+-if { (eval echo configure:6943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:6979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ am_cv_val_LC_MESSAGES=yes
+ else
+@@ -6969,7 +6996,7 @@
+ fi
+ fi
+ echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
+-echo "configure:6964: checking whether NLS is requested" >&5
++echo "configure:7000: checking whether NLS is requested" >&5
+ # Check whether --enable-nls or --disable-nls was given.
+ if test "${enable_nls+set}" = set; then
+ enableval="$enable_nls"
+@@ -6989,7 +7016,7 @@
+ EOF
+
+ echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
+-echo "configure:6984: checking whether included gettext is requested" >&5
++echo "configure:7020: checking whether included gettext is requested" >&5
+ # Check whether --with-included-gettext or --without-included-gettext was given.
+ if test "${with_included_gettext+set}" = set; then
+ withval="$with_included_gettext"
+@@ -7008,17 +7035,17 @@
+
+ ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
+-echo "configure:7003: checking for libintl.h" >&5
++echo "configure:7039: checking for libintl.h" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 7008 "configure"
++#line 7044 "configure"
+ #include "confdefs.h"
+ #include <libintl.h>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:7013: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:7049: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -7035,19 +7062,19 @@
+ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
+-echo "configure:7030: checking for gettext in libc" >&5
++echo "configure:7066: checking for gettext in libc" >&5
+ if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 7035 "configure"
++#line 7071 "configure"
+ #include "confdefs.h"
+ #include <libintl.h>
+ int main() {
+ return (int) gettext ("")
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ gt_cv_func_gettext_libc=yes
+ else
+@@ -7063,7 +7090,7 @@
+
+ if test "$gt_cv_func_gettext_libc" != "yes"; then
+ echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
+-echo "configure:7058: checking for bindtextdomain in -lintl" >&5
++echo "configure:7094: checking for bindtextdomain in -lintl" >&5
+ ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -7071,7 +7098,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lintl $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 7066 "configure"
++#line 7102 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -7082,7 +7109,7 @@
+ bindtextdomain()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7077: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -7098,12 +7125,12 @@
+ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
+-echo "configure:7093: checking for gettext in libintl" >&5
++echo "configure:7129: checking for gettext in libintl" >&5
+ if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6
+-echo "configure:7098: checking for gettext in -lintl" >&5
++echo "configure:7134: checking for gettext in -lintl" >&5
+ ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -7111,7 +7138,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lintl $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 7106 "configure"
++#line 7142 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -7122,7 +7149,7 @@
+ gettext()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7117: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7153: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -7161,7 +7188,7 @@
+ # Extract the first word of "msgfmt", so it can be a program name with args.
+ set dummy msgfmt; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:7156: checking for $ac_word" >&5
++echo "configure:7192: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -7195,12 +7222,12 @@
+ for ac_func in dcgettext
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:7190: checking for $ac_func" >&5
++echo "configure:7226: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 7195 "configure"
++#line 7231 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -7223,7 +7250,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7218: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7254: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -7250,7 +7277,7 @@
+ # Extract the first word of "gmsgfmt", so it can be a program name with args.
+ set dummy gmsgfmt; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:7245: checking for $ac_word" >&5
++echo "configure:7281: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -7286,7 +7313,7 @@
+ # Extract the first word of "xgettext", so it can be a program name with args.
+ set dummy xgettext; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:7281: checking for $ac_word" >&5
++echo "configure:7317: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -7318,7 +7345,7 @@
+ fi
+
+ cat > conftest.$ac_ext <<EOF
+-#line 7313 "configure"
++#line 7349 "configure"
+ #include "confdefs.h"
+
+ int main() {
+@@ -7326,7 +7353,7 @@
+ return _nl_msg_cat_cntr
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ CATOBJEXT=.gmo
+ DATADIRNAME=share
+@@ -7349,7 +7376,7 @@
+
+ if test "$CATOBJEXT" = "NONE"; then
+ echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6
+-echo "configure:7344: checking whether catgets can be used" >&5
++echo "configure:7380: checking whether catgets can be used" >&5
+ # Check whether --with-catgets or --without-catgets was given.
+ if test "${with_catgets+set}" = set; then
+ withval="$with_catgets"
+@@ -7362,7 +7389,7 @@
+
+ if test "$nls_cv_use_catgets" = "yes"; then
+ echo $ac_n "checking for main in -li""... $ac_c" 1>&6
+-echo "configure:7357: checking for main in -li" >&5
++echo "configure:7393: checking for main in -li" >&5
+ ac_lib_var=`echo i'_'main | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -7370,14 +7397,14 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-li $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 7365 "configure"
++#line 7401 "configure"
+ #include "confdefs.h"
+
+ int main() {
+ main()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7408: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -7405,12 +7432,12 @@
+ fi
+
+ echo $ac_n "checking for catgets""... $ac_c" 1>&6
+-echo "configure:7400: checking for catgets" >&5
++echo "configure:7436: checking for catgets" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 7405 "configure"
++#line 7441 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char catgets(); below. */
+@@ -7433,7 +7460,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:7428: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:7464: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_catgets=yes"
+ else
+@@ -7455,7 +7482,7 @@
+ # Extract the first word of "gencat", so it can be a program name with args.
+ set dummy gencat; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:7450: checking for $ac_word" >&5
++echo "configure:7486: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -7491,7 +7518,7 @@
+ # Extract the first word of "gmsgfmt", so it can be a program name with args.
+ set dummy gmsgfmt; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:7486: checking for $ac_word" >&5
++echo "configure:7522: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -7528,7 +7555,7 @@
+ # Extract the first word of "msgfmt", so it can be a program name with args.
+ set dummy msgfmt; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:7523: checking for $ac_word" >&5
++echo "configure:7559: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -7563,7 +7590,7 @@
+ # Extract the first word of "xgettext", so it can be a program name with args.
+ set dummy xgettext; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:7558: checking for $ac_word" >&5
++echo "configure:7594: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -7621,7 +7648,7 @@
+ # Extract the first word of "msgfmt", so it can be a program name with args.
+ set dummy msgfmt; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:7616: checking for $ac_word" >&5
++echo "configure:7652: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -7655,7 +7682,7 @@
+ # Extract the first word of "gmsgfmt", so it can be a program name with args.
+ set dummy gmsgfmt; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:7650: checking for $ac_word" >&5
++echo "configure:7686: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -7691,7 +7718,7 @@
+ # Extract the first word of "xgettext", so it can be a program name with args.
+ set dummy xgettext; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:7686: checking for $ac_word" >&5
++echo "configure:7722: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -7784,7 +7811,7 @@
+ LINGUAS=
+ else
+ echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
+-echo "configure:7779: checking for catalogs to be installed" >&5
++echo "configure:7815: checking for catalogs to be installed" >&5
+ NEW_LINGUAS=
+ for lang in ${LINGUAS=$ALL_LINGUAS}; do
+ case "$ALL_LINGUAS" in
+@@ -7812,17 +7839,17 @@
+ if test "$CATOBJEXT" = ".cat"; then
+ ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
+-echo "configure:7807: checking for linux/version.h" >&5
++echo "configure:7843: checking for linux/version.h" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 7812 "configure"
++#line 7848 "configure"
+ #include "confdefs.h"
+ #include <linux/version.h>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:7817: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:7853: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -8056,7 +8083,7 @@
+
+ # Figure out what assembler alignment features are present.
+ echo $ac_n "checking assembler alignment features""... $ac_c" 1>&6
+-echo "configure:8051: checking assembler alignment features" >&5
++echo "configure:8087: checking assembler alignment features" >&5
+ gcc_cv_as=
+ gcc_cv_as_alignment_features=
+ gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
+@@ -8177,7 +8204,7 @@
+ echo "$ac_t""$gcc_cv_as_alignment_features" 1>&6
+
+ echo $ac_n "checking assembler subsection support""... $ac_c" 1>&6
+-echo "configure:8172: checking assembler subsection support" >&5
++echo "configure:8208: checking assembler subsection support" >&5
+ gcc_cv_as_subsections=
+ if test x$gcc_cv_as != x; then
+ # Check if we have .subsection
+@@ -8217,7 +8244,7 @@
+ echo "$ac_t""$gcc_cv_as_subsections" 1>&6
+
+ echo $ac_n "checking assembler instructions""... $ac_c" 1>&6
+-echo "configure:8212: checking assembler instructions" >&5
++echo "configure:8248: checking assembler instructions" >&5
+ gcc_cv_as_instructions=
+ if test x$gcc_cv_as != x; then
+ set "filds fists" "filds mem; fists mem"
diff --git a/lang/pgcc/patches/patch-as b/lang/pgcc/patches/patch-as
new file mode 100644
index 00000000000..d11b5fd9291
--- /dev/null
+++ b/lang/pgcc/patches/patch-as
@@ -0,0 +1,20 @@
+$NetBSD: patch-as,v 1.1 2002/03/14 14:54:54 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/emit-rtl.c.orig Wed Aug 11 09:28:52 1999
++++ ../gcc-2.95.2/gcc/emit-rtl.c Sat Sep 16 00:17:42 2000
+@@ -1378,6 +1378,15 @@
+ val = ((val & 0xffffffff) ^ 0x80000000) - 0x80000000;
+ return GEN_INT (val);
+ }
++#if HOST_BITS_PER_WIDE_INT >= 64
++ else if (BITS_PER_WORD >= 64 && i <= 1)
++ {
++ val = k[i*2 + ! WORDS_BIG_ENDIAN];
++ val = (((val & 0xffffffff) ^ 0x80000000) - 0x80000000) << 32;
++ val |= (HOST_WIDE_INT) k[i*2 + WORDS_BIG_ENDIAN] & 0xffffffff;
++ return GEN_INT (val);
++ }
++#endif
+ else
+ abort ();
+ }
diff --git a/lang/pgcc/patches/patch-at b/lang/pgcc/patches/patch-at
new file mode 100644
index 00000000000..0f72153be15
--- /dev/null
+++ b/lang/pgcc/patches/patch-at
@@ -0,0 +1,43 @@
+$NetBSD: patch-at,v 1.1 2002/03/14 14:54:55 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/ginclude/stddef.h.orig Wed Dec 16 16:19:25 1998
++++ ../gcc-2.95.2/gcc/ginclude/stddef.h
+@@ -45,6 +45,12 @@
+ #define _WCHAR_T
+ #endif
+ #endif
++/* On NetBSD, machine/ansi.h defines _BSD_WINT_T_ instead of _WINT_T. */
++#if !defined(_WINT_T_) && !defined(_BSD_WINT_T_)
++#ifndef _BSD_WINT_T_
++#define _WINT_T
++#endif
++#endif
+ /* Undef _FOO_T_ if we are supposed to define foo_t. */
+ #if defined (__need_ptrdiff_t) || defined (_STDDEF_H_)
+ #undef _PTRDIFF_T_
+@@ -58,6 +64,10 @@
+ #undef _WCHAR_T_
+ #undef _BSD_WCHAR_T_
+ #endif
++#if defined (__need_wint_t) || defined (_STDDEF_H_)
++#undef _WINT_T_
++#undef _BSD_WINT_T_
++#endif
+ #endif /* defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_) */
+
+ /* Sequent's header files use _PTRDIFF_T_ in some conflicting way.
+@@ -272,12 +282,14 @@
+
+ #if defined (_STDDEF_H) || defined (__need_wint_t)
+ #ifndef _WINT_T
++#ifndef _BSD_WINT_T_
+ #define _WINT_T
+
+ #ifndef __WINT_TYPE__
+ #define __WINT_TYPE__ unsigned int
+ #endif
+ typedef __WINT_TYPE__ wint_t;
++#endif
+ #endif
+ #undef __need_wint_t
+ #endif
diff --git a/lang/pgcc/patches/patch-au b/lang/pgcc/patches/patch-au
new file mode 100644
index 00000000000..87a1094bd5e
--- /dev/null
+++ b/lang/pgcc/patches/patch-au
@@ -0,0 +1,63 @@
+$NetBSD: patch-au,v 1.1 2002/03/14 14:54:55 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/crtstuff.c.orig Tue Feb 27 14:34:52 2001
++++ ../gcc-2.95.2/gcc/crtstuff.c
+@@ -181,16 +181,16 @@
+
+ /* Stick a call to __do_global_dtors_aux into the .fini section. */
+
+-static void __attribute__ ((__unused__))
+-fini_dummy (void)
++asm (FINI_SECTION_ASM_OP);
++void __attribute__ ((__unused__))
++_fini (void)
+ {
+- asm (FINI_SECTION_ASM_OP);
+ __do_global_dtors_aux ();
+ #ifdef FORCE_FINI_SECTION_ALIGN
+ FORCE_FINI_SECTION_ALIGN;
+ #endif
+- asm (TEXT_SECTION_ASM_OP);
+ }
++asm (TEXT_SECTION_ASM_OP);
+
+ #ifdef EH_FRAME_SECTION_ASM_OP
+ /* Stick a call to __register_frame_info into the .init section. For some
+@@ -205,6 +205,21 @@
+ __register_frame_info (__EH_FRAME_BEGIN__, &object);
+ }
+
++static void
++__nop (void)
++{
++ //asm("unimp 0x42"); // We must not call this function ever. If we happen to
++ // do it accidently, use the emergency exit.
++}
++
++asm (INIT_SECTION_ASM_OP);
++void __attribute__ ((__unused__))
++_init (void)
++{
++ asm (TEXT_SECTION_ASM_OP);
++ __nop();
++}
++
+ static void __attribute__ ((__unused__))
+ init_dummy (void)
+ {
+@@ -378,7 +393,6 @@
+ #ifdef FORCE_INIT_SECTION_ALIGN
+ FORCE_INIT_SECTION_ALIGN;
+ #endif
+- asm (TEXT_SECTION_ASM_OP);
+
+ /* This is a kludge. The i386 GNU/Linux dynamic linker needs ___brk_addr,
+ __environ and atexit (). We have to make sure they are in the .dynsym
+@@ -395,6 +409,7 @@
+ }
+ #endif
+ }
++asm (TEXT_SECTION_ASM_OP);
+
+ #else /* OBJECT_FORMAT_ELF */
+
diff --git a/lang/pgcc/patches/patch-av b/lang/pgcc/patches/patch-av
new file mode 100644
index 00000000000..72460902ce6
--- /dev/null
+++ b/lang/pgcc/patches/patch-av
@@ -0,0 +1,14 @@
+$NetBSD: patch-av,v 1.1 2002/03/14 14:54:55 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/config/sparc/t-netbsd.orig Tue Feb 27 14:37:27 2001
++++ ../gcc-2.95.2/gcc/config/sparc/t-netbsd
+@@ -0,0 +1,9 @@
++# We have to include libgcc.a also in shared libraries, so
++# let's compile the code position independent
++
++TARGET_LIBGCC2_CFLAGS = -fPIC
++
++# Same for crtbeginS.o and crtendS.o . All code that goes into a shared
++# library has to be PIC
++
++CRTSTUFF_T_CFLAGS_S = -fPIC
diff --git a/lang/pgcc/patches/patch-aw b/lang/pgcc/patches/patch-aw
new file mode 100644
index 00000000000..f5a3df96a76
--- /dev/null
+++ b/lang/pgcc/patches/patch-aw
@@ -0,0 +1,13 @@
+$NetBSD: patch-aw,v 1.1 2002/03/14 14:54:55 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/config/arm/netbsd.h.orig Mon Jan 11 13:33:58 1999
++++ ../gcc-2.95.2/gcc/config/arm/netbsd.h
+@@ -48,7 +48,7 @@
+
+ /* Until they use ELF or something that handles dwarf2 unwinds
+ and initialization stuff better. */
+-#undef DWARF2_UNWIND_INFO
++#define DWARF2_UNWIND_INFO 0
+
+ /* Some defines for CPP.
+ arm32 is the NetBSD port name, so we always define arm32 and __arm32__. */
diff --git a/lang/pgcc/patches/patch-ax b/lang/pgcc/patches/patch-ax
new file mode 100644
index 00000000000..6a937f87ce7
--- /dev/null
+++ b/lang/pgcc/patches/patch-ax
@@ -0,0 +1,11 @@
+$NetBSD: patch-ax,v 1.1 2002/03/14 14:54:56 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/config/vax/netbsd.h.orig Wed Dec 16 21:14:22 1998
++++ ../gcc-2.95.2/gcc/config/vax/netbsd.h
+@@ -20,5 +20,4 @@
+
+ /* Until they use ELF or something that handles dwarf2 unwinds
+ and initialization stuff better. */
+-#undef DWARF2_UNWIND_INFO
+-
++#define DWARF2_UNWIND_INFO 0
diff --git a/lang/pgcc/patches/patch-ay b/lang/pgcc/patches/patch-ay
new file mode 100644
index 00000000000..76c4ab6e73c
--- /dev/null
+++ b/lang/pgcc/patches/patch-ay
@@ -0,0 +1,11 @@
+$NetBSD: patch-ay,v 1.1 2002/03/14 14:54:56 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/config/mips/netbsd.h.orig Wed Dec 16 21:09:19 1998
++++ ../gcc-2.95.2/gcc/config/mips/netbsd.h
+@@ -225,3 +225,6 @@
+ /* Since gas and gld are standard on NetBSD, we don't need these */
+ #undef ASM_FINAL_SPEC
+ #undef STARTFILE_SPEC
++
++/* Use sjlj exceptions. */
++#define DWARF2_UNWIND_INFO 0
diff --git a/lang/pgcc/patches/patch-az b/lang/pgcc/patches/patch-az
new file mode 100644
index 00000000000..7a5633d9cb4
--- /dev/null
+++ b/lang/pgcc/patches/patch-az
@@ -0,0 +1,13 @@
+$NetBSD: patch-az,v 1.1 2002/03/14 14:54:56 wiz Exp $
+
+--- ../gcc-2.95.2/libstdc++/configure.in.orig Tue Jun 8 00:28:10 1999
++++ ../gcc-2.95.2/libstdc++/configure.in
+@@ -73,6 +73,8 @@
+ *-*-linux*aout*) ;;
+ *-*-freebsd2*) ;;
+ *-*-freebsd*) frags="${frags} freebsd.ml" ;;
++ *-*-netbsdelf*) frags="${frags} netbsdelf.ml" ;;
++ *-*-netbsd*) frags="${frags} netbsd.ml" ;;
+ *-*-linux*) frags="${frags} linux.ml" ;;
+ *-*-openbsd*) frags="${frags} openbsd.ml" ;;
+ *-*-sysv[45]*|*-*-udk*) frags="${frags} elf.ml" ;;
diff --git a/lang/pgcc/patches/patch-ba b/lang/pgcc/patches/patch-ba
new file mode 100644
index 00000000000..be94f371f89
--- /dev/null
+++ b/lang/pgcc/patches/patch-ba
@@ -0,0 +1,18 @@
+$NetBSD: patch-ba,v 1.1 2002/03/14 14:54:56 wiz Exp $
+
+--- ../gcc-2.95.2/gcc/ch/chill.texi.orig Wed Dec 16 14:59:05 1998
++++ ../gcc-2.95.2/gcc/ch/chill.texi
+@@ -5,9 +5,10 @@
+
+ @ifinfo
+ @format
+-START-INFO-DIR-ENTRY
+-* Chill:: Chill compiler
+-END-INFO-DIR-ENTRY
++@dircategory Programming
++@direntry
++* Chill: (chill). Chill compiler
++@end direntry
+ @end format
+ @end ifinfo
+