aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2022-11-13 22:03:35 +0100
committerMartin Liska <mliska@suse.cz>2022-11-14 09:35:07 +0100
commit191dbc35688262c9c2bb1d623950a197eff80b80 (patch)
treee0916846cb998030725c9785ee12158ed642fe75 /gcc/fortran
parent1191a412bb17a734c58716237382a8348b057546 (diff)
downloadgcc-191dbc35688262c9c2bb1d623950a197eff80b80.zip
gcc-191dbc35688262c9c2bb1d623950a197eff80b80.tar.gz
gcc-191dbc35688262c9c2bb1d623950a197eff80b80.tar.bz2
Revert "sphinx: copy files from texi2rst-generated repository"
This reverts commit c63539ffe4c0e327337a1a51f638d9c8c958cb26.
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/doc/gfc-internals/code-that-interacts-with-the-user.rst15
-rw-r--r--gcc/fortran/doc/gfc-internals/command-line-options.rst30
-rw-r--r--gcc/fortran/doc/gfc-internals/conf.py24
-rw-r--r--gcc/fortran/doc/gfc-internals/copyright.rst25
-rw-r--r--gcc/fortran/doc/gfc-internals/error-handling.rst75
-rw-r--r--gcc/fortran/doc/gfc-internals/frontend-data-structures.rst23
-rw-r--r--gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst24
-rw-r--r--gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst16
-rw-r--r--gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst67
-rw-r--r--gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst48
-rw-r--r--gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst14
-rw-r--r--gcc/fortran/doc/gfc-internals/gfccode.rst146
-rw-r--r--gcc/fortran/doc/gfc-internals/gfcexpr.rst156
-rw-r--r--gcc/fortran/doc/gfc-internals/gnu-free-documentation-license.rst6
-rw-r--r--gcc/fortran/doc/gfc-internals/index.rst24
-rw-r--r--gcc/fortran/doc/gfc-internals/indices-and-tables.rst1
-rw-r--r--gcc/fortran/doc/gfc-internals/internals-of-fortran-2003-oop-features.rst15
-rw-r--r--gcc/fortran/doc/gfc-internals/introduction.rst32
-rw-r--r--gcc/fortran/doc/gfc-internals/symbol-versioning.rst63
-rw-r--r--gcc/fortran/doc/gfc-internals/the-libgfortran-runtime-library.rst14
-rw-r--r--gcc/fortran/doc/gfc-internals/type-bound-operators.rst33
-rw-r--r--gcc/fortran/doc/gfc-internals/type-bound-procedures.rst101
-rw-r--r--gcc/fortran/doc/gfortran/about-gnu-fortran.rst115
-rw-r--r--gcc/fortran/doc/gfortran/coarray-programming.rst17
-rw-r--r--gcc/fortran/doc/gfortran/compiler-characteristics.rst27
-rw-r--r--gcc/fortran/doc/gfortran/compiler-characteristics/asynchronous-i-o.rst21
-rw-r--r--gcc/fortran/doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst80
-rw-r--r--gcc/fortran/doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst18
-rw-r--r--gcc/fortran/doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst63
-rw-r--r--gcc/fortran/doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst28
-rw-r--r--gcc/fortran/doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst23
-rw-r--r--gcc/fortran/doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst24
-rw-r--r--gcc/fortran/doc/gfortran/compiler-characteristics/kind-type-parameters.rst54
-rw-r--r--gcc/fortran/doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst21
-rw-r--r--gcc/fortran/doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst53
-rw-r--r--gcc/fortran/doc/gfortran/conf.py30
-rw-r--r--gcc/fortran/doc/gfortran/contributing.rst28
-rw-r--r--gcc/fortran/doc/gfortran/contributors-to-gnu-fortran.rst109
-rw-r--r--gcc/fortran/doc/gfortran/copyright.rst25
-rw-r--r--gcc/fortran/doc/gfortran/extensions-implemented-in-gnu-fortran.rst1535
-rw-r--r--gcc/fortran/doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst186
-rw-r--r--gcc/fortran/doc/gfortran/extensions.rst24
-rw-r--r--gcc/fortran/doc/gfortran/function-abi-documentation.rst1526
-rw-r--r--gcc/fortran/doc/gfortran/funding.rst6
-rw-r--r--gcc/fortran/doc/gfortran/general-public-license-3.rst6
-rw-r--r--gcc/fortran/doc/gfortran/gnu-fortran-and-gcc.rst48
-rw-r--r--gcc/fortran/doc/gfortran/gnu-fortran-command-options.rst33
-rw-r--r--gcc/fortran/doc/gfortran/gnu-fortran-command-options/description.rst39
-rw-r--r--gcc/fortran/doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst298
-rw-r--r--gcc/fortran/doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst24
-rw-r--r--gcc/fortran/doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst67
-rw-r--r--gcc/fortran/doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst37
-rw-r--r--gcc/fortran/doc/gfortran/gnu-fortran-command-options/option-summary.rst104
-rw-r--r--gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst411
-rw-r--r--gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst583
-rw-r--r--gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst134
-rw-r--r--gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst54
-rw-r--r--gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst63
-rw-r--r--gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst411
-rw-r--r--gcc/fortran/doc/gfortran/gnu-fortran-compiler-directives.rst174
-rw-r--r--gcc/fortran/doc/gfortran/gnu-free-documentation-license.rst6
-rw-r--r--gcc/fortran/doc/gfortran/index.rst56
-rw-r--r--gcc/fortran/doc/gfortran/indices-and-tables.rst1
-rw-r--r--gcc/fortran/doc/gfortran/interoperability-with-c.rst413
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-modules.rst20
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst29
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-modules/isocbinding.rst227
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-modules/isofortranenv.rst116
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-modules/openacc-module-openacc.rst27
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst161
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures.rst299
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/abort.rst44
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/abs.rst117
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/access.rst61
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/achar.rst56
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/acos.rst73
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/acosd.rst74
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/acosh.rst70
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/adjustl.rst48
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/adjustr.rst48
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/aimag.rst81
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/aint.rst78
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/alarm.rst59
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/all.rst61
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/allocated.rst49
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/and.rst60
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/anint.rst76
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/any.rst61
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/asin.rst73
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/asind.rst74
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/asinh.rst70
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/associated.rst74
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/atan.rst80
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/atan2.rst85
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/atan2d.rst85
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/atand.rst80
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/atanh.rst70
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/atomicadd.rst60
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/atomicand.rst60
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/atomiccas.rst67
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/atomicdefine.rst62
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/atomicfetchadd.rst65
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/atomicfetchand.rst64
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/atomicfetchor.rst64
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/atomicfetchxor.rst64
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/atomicor.rst60
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/atomicref.rst68
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/atomicxor.rst60
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/backtrace.rst34
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/besselj0.rst64
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/besselj1.rst64
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/besseljn.rst85
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/bessely0.rst62
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/bessely1.rst62
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/besselyn.rst85
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/bge.rst42
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/bgt.rst41
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/bitsize.rst44
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ble.rst42
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/blt.rst41
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/btest.rst89
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/cassociated.rst54
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ceiling.rst51
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/cfpointer.rst63
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/cfprocpointer.rst64
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/cfunloc.rst64
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/char.rst71
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/chdir.rst51
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/chmod.rst70
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/cloc.rst51
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/cmplx.rst61
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/cobroadcast.rst65
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/comax.rst66
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/comin.rst66
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/commandargumentcount.rst43
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/compileroptions.rst48
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/compilerversion.rst47
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/complex.rst50
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/conjg.rst63
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/coreduce.rst94
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/cos.rst91
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/cosd.rst91
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/cosh.rst73
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/cosum.rst67
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/cotan.rst71
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/cotand.rst74
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/count.rst72
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/cputime.rst49
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/cshift.rst61
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/csizeof.rst55
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ctime.rst62
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/dateandtime.rst70
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/dble.rst46
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/dcmplx.rst54
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/digits.rst46
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/dim.rst78
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/dotproduct.rst57
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/dprod.rst62
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/dreal.rst43
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/dshiftl.rst52
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/dshiftr.rst52
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/dtime.rst64
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/eoshift.rst67
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/epsilon.rst43
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/erf.rst57
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/erfc.rst57
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/erfcscaled.rst41
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/etime.rst62
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/eventquery.rst57
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/executecommandline.rst70
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/exit.rst47
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/exp.rst83
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/exponent.rst44
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/extendstypeof.rst41
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/fdate.rst57
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/fget.rst60
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/fgetc.rst62
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/findloc.rst78
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/floor.rst51
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/flush.rst72
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/fnum.rst44
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/fput.rst54
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/fputc.rst60
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/fraction.rst44
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/free.rst43
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/fseek.rst72
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/fstat.rst47
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ftell.rst50
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/gamma.rst67
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/gerror.rst43
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/getarg.rst64
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/getcommand.rst58
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/getcommandargument.rst76
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/getcwd.rst46
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/getenv.rst49
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst68
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/getgid.rst37
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/getlog.rst47
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/getpid.rst43
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/getuid.rst37
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/gmtime.rst47
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/hostnm.rst38
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/huge.rst41
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/hypot.rst45
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/iachar.rst55
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/iall.rst61
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/iand.rst99
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/iany.rst61
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/iargc.rst44
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ibclr.rst87
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ibits.rst93
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ibset.rst85
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ichar.rst93
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/idate.rst50
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ieor.rst91
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ierrno.rst37
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/imageindex.rst48
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/index.rst72
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/int.rst76
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/int2.rst39
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/int8.rst39
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst43
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ior.rst91
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/iparity.rst62
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/irand.rst48
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/isatty.rst46
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/iscontiguous.rst52
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ishft.rst85
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ishftc.rst91
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/isiostatend.rst48
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/isiostateor.rst48
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/isnan.rst45
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/itime.rst50
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/kill.rst51
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/kind.rst46
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/lbound.rst51
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/lcobound.rst48
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/leadz.rst47
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/len.rst62
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/lentrim.rst43
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/lge.rst63
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/lgt.rst63
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/link.rst45
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/lle.rst63
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/llt.rst63
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/lnblnk.rst39
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/loc.rst44
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/log.rst93
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/log10.rst69
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/loggamma.rst76
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/logical.rst43
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/lshift.rst48
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/lstat.rst49
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ltime.rst46
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/malloc.rst66
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/maskl.rst42
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/maskr.rst42
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/matmul.rst44
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/max.rst86
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/maxexponent.rst45
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/maxloc.rst76
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/maxval.rst58
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/mclock.rst39
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/mclock8.rst39
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/merge.rst41
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/mergebits.rst44
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/min.rst86
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/minexponent.rst37
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/minloc.rst76
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/minval.rst58
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/mod.rst118
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/modulo.rst55
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/movealloc.rst51
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/mvbits.rst95
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/nearest.rst51
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/newline.rst42
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/nint.rst75
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/norm2.rst46
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/not.rst85
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/null.rst41
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/numimages.rst61
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/or.rst60
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/pack.rst72
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/parity.rst46
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/perror.rst35
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/popcnt.rst48
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/poppar.rst50
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/precision.rst50
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/present.rst47
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/product.rst56
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/radix.rst44
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ran.rst27
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/rand.rst51
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/randominit.rst62
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/randomnumber.rst42
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/randomseed.rst62
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/range.rst42
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/rank.rst43
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/real.rst104
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/rename.rst44
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/repeat.rst43
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/reshape.rst62
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/rrspacing.rst38
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/rshift.rst50
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/sametypeas.rst41
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/scale.rst45
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/scan.rst57
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/secnds.rst52
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/second.rst40
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/selectedcharkind.rst56
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/selectedintkind.rst48
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/selectedrealkind.rst67
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/setexponent.rst48
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/shape.rst55
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/shifta.rst46
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/shiftl.rst44
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/shiftr.rst44
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/sign.rst78
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/signal.rst59
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/sin.rst89
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/sind.rst89
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/sinh.rst66
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/size.rst55
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/sizeof.rst58
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/sleep.rst36
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/spacing.rst47
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/spread.rst54
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/sqrt.rst86
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/srand.rst53
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/stat.rst72
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/storagesize.rst42
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/sum.rst56
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/symlnk.rst46
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/system.rst41
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/systemclock.rst57
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/tan.rst70
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/tand.rst70
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/tanh.rst72
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/thisimage.rst75
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/time.rst39
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/time8.rst39
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/tiny.rst36
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/trailz.rst46
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/transfer.rst55
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/transpose.rst34
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/trim.rst45
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ttynam.rst47
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ubound.rst52
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/ucobound.rst48
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/umask.rst36
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/unlink.rst41
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/unpack.rst57
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/verify.rst59
-rw-r--r--gcc/fortran/doc/gfortran/intrinsic-procedures/xor.rst60
-rw-r--r--gcc/fortran/doc/gfortran/introduction.rst18
-rw-r--r--gcc/fortran/doc/gfortran/mixed-language-programming.rst37
-rw-r--r--gcc/fortran/doc/gfortran/naming-and-argument-passing-conventions.rst178
-rw-r--r--gcc/fortran/doc/gfortran/non-fortran-main-program.rst251
-rw-r--r--gcc/fortran/doc/gfortran/projects.rst29
-rw-r--r--gcc/fortran/doc/gfortran/runtime.rst33
-rw-r--r--gcc/fortran/doc/gfortran/runtime/gfortranconvertunit.rst97
-rw-r--r--gcc/fortran/doc/gfortran/runtime/gfortranerrorbacktrace.rst16
-rw-r--r--gcc/fortran/doc/gfortran/runtime/gfortranformattedbuffersize.rst13
-rw-r--r--gcc/fortran/doc/gfortran/runtime/gfortranlistseparator.rst21
-rw-r--r--gcc/fortran/doc/gfortran/runtime/gfortranoptionalplus.rst15
-rw-r--r--gcc/fortran/doc/gfortran/runtime/gfortranshowlocus.rst14
-rw-r--r--gcc/fortran/doc/gfortran/runtime/gfortranstderrunit.rst13
-rw-r--r--gcc/fortran/doc/gfortran/runtime/gfortranstdinunit.rst13
-rw-r--r--gcc/fortran/doc/gfortran/runtime/gfortranstdoutunit.rst13
-rw-r--r--gcc/fortran/doc/gfortran/runtime/gfortranunbufferedall.rst15
-rw-r--r--gcc/fortran/doc/gfortran/runtime/gfortranunbufferedpreconnected.rst15
-rw-r--r--gcc/fortran/doc/gfortran/runtime/gfortranunformattedbuffersize.rst13
-rw-r--r--gcc/fortran/doc/gfortran/runtime/tmpdir.rst22
-rw-r--r--gcc/fortran/doc/gfortran/standards.rst130
-rw-r--r--gcc/fortran/doc/gfortran/type-and-enum-abi-documentation.rst189
375 files changed, 0 insertions, 26484 deletions
diff --git a/gcc/fortran/doc/gfc-internals/code-that-interacts-with-the-user.rst b/gcc/fortran/doc/gfc-internals/code-that-interacts-with-the-user.rst
deleted file mode 100644
index 43a47db..0000000
--- a/gcc/fortran/doc/gfc-internals/code-that-interacts-with-the-user.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _user-interface:
-
-Code that Interacts with the User
----------------------------------
-
-.. toctree::
- :maxdepth: 2
-
- command-line-options
- error-handling \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/command-line-options.rst b/gcc/fortran/doc/gfc-internals/command-line-options.rst
deleted file mode 100644
index abb5fda..0000000
--- a/gcc/fortran/doc/gfc-internals/command-line-options.rst
+++ /dev/null
@@ -1,30 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _command-line-options:
-
-Command-Line Options
-********************
-
-Command-line options for :command:`gfortran` involve four interrelated
-pieces within the Fortran compiler code.
-
-The relevant command-line flag is defined in :samp:`lang.opt`, according
-to the documentation in :ref:`gccint:options`. This is then processed by the overall GCC
-machinery to create the code that enables :command:`gfortran` and
-:command:`gcc` to recognize the option in the command-line arguments and
-call the relevant handler function.
-
-This generated code calls the ``gfc_handle_option`` code in
-:samp:`options.cc` with an enumerator variable indicating which option is
-to be processed, and the relevant integer or string values associated
-with that option flag. Typically, ``gfc_handle_option`` uses these
-arguments to set global flags which record the option states.
-
-The global flags that record the option states are stored in the
-``gfc_option_t`` struct, which is defined in :samp:`gfortran.h`.
-Before the options are processed, initial values for these flags are set
-in ``gfc_init_option`` in :samp:`options.cc`; these become the default
-values for the options. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/conf.py b/gcc/fortran/doc/gfc-internals/conf.py
deleted file mode 100644
index 176e631..0000000
--- a/gcc/fortran/doc/gfc-internals/conf.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# Configuration file for the Sphinx documentation builder.
-
-import sys
-sys.path.append('../../../..//doc')
-
-from baseconf import *
-
-name = 'gfc-internals'
-project = 'GNU Fortran Internals'
-copyright = '2007-2022 Free Software Foundation, Inc.'
-authors = 'The gfortran team'
-
-# Grouping the document tree into Texinfo files. List of tuples
-# (source start file, target name, title, author,
-# dir menu entry, description, category)
-latex_documents = [
- ('index', f'{name}.tex', project, authors, 'manual'),
-]
-
-texinfo_documents = [
- ('index', name, project, authors, None, None, None, True)
-]
-
-set_common(name, globals()) \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/copyright.rst b/gcc/fortran/doc/gfc-internals/copyright.rst
deleted file mode 100644
index c778eb1..0000000
--- a/gcc/fortran/doc/gfc-internals/copyright.rst
+++ /dev/null
@@ -1,25 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the GPL license file
-
-Copyright
-^^^^^^^^^
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being **GNU General Public License** and
-**Funding Free Software**, the Front-Cover texts being (a) (see below), and with
-the Back-Cover Texts being (b) (see below). A copy of the license is
-in the :ref:`gnu_fdl`.
-
-(a) The FSF's Front-Cover Text is:
-
- A GNU Manual
-
-(b) The FSF's Back-Cover Text is:
-
- You have freedom to copy and modify this GNU Manual, like GNU
- software. Copies published by the Free Software Foundation raise
- funds for GNU development. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/error-handling.rst b/gcc/fortran/doc/gfc-internals/error-handling.rst
deleted file mode 100644
index 11c12b6..0000000
--- a/gcc/fortran/doc/gfc-internals/error-handling.rst
+++ /dev/null
@@ -1,75 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _error-handling:
-
-Error Handling
-**************
-
-The GNU Fortran compiler's parser operates by testing each piece of
-source code against a variety of matchers. In some cases, if these
-matchers do not match the source code, they will store an error message
-in a buffer. If the parser later finds a matcher that does correctly
-match the source code, then the buffered error is discarded. However,
-if the parser cannot find a match, then the buffered error message is
-reported to the user. This enables the compiler to provide more
-meaningful error messages even in the many cases where (erroneous)
-Fortran syntax is ambiguous due to things like the absence of reserved
-keywords.
-
-As an example of how this works, consider the following line:
-
-.. code-block:: c++
-
- IF = 3
-
-Hypothetically, this may get passed to the matcher for an ``IF``
-statement. Since this could plausibly be an erroneous ``IF``
-statement, the matcher will buffer an error message reporting the
-absence of an expected :samp:`(` following an ``IF``. Since no
-matchers reported an error-free match, however, the parser will also try
-matching this against a variable assignment. When ``IF`` is a valid
-variable, this will be parsed as an assignment statement, and the error
-discarded. However, when ``IF`` is not a valid variable, this
-buffered error message will be reported to the user.
-
-The error handling code is implemented in :samp:`error.cc`. Errors are
-normally entered into the buffer with the ``gfc_error`` function.
-Warnings go through a similar buffering process, and are entered into
-the buffer with ``gfc_warning``. There is also a special-purpose
-function, ``gfc_notify_std``, for things which have an error/warning
-status that depends on the currently-selected language standard.
-
-The ``gfc_error_check`` function checks the buffer for errors,
-reports the error message to the user if one exists, clears the buffer,
-and returns a flag to the user indicating whether or not an error
-existed. To check the state of the buffer without changing its state or
-reporting the errors, the ``gfc_error_flag_test`` function can be
-used. The ``gfc_clear_error`` function will clear out any errors in
-the buffer, without reporting them. The ``gfc_warning_check`` and
-``gfc_clear_warning`` functions provide equivalent functionality for
-the warning buffer.
-
-Only one error and one warning can be in the buffers at a time, and
-buffering another will overwrite the existing one. In cases where one
-may wish to work on a smaller piece of source code without disturbing an
-existing error state, the ``gfc_push_error``, ``gfc_pop_error``,
-and ``gfc_free_error`` mechanism exists to implement a stack for the
-error buffer.
-
-For cases where an error or warning should be reported immediately
-rather than buffered, the ``gfc_error_now`` and
-``gfc_warning_now`` functions can be used. Normally, the compiler
-will continue attempting to parse the program after an error has
-occurred, but if this is not appropriate, the ``gfc_fatal_error``
-function should be used instead. For errors that are always the result
-of a bug somewhere in the compiler, the ``gfc_internal_error``
-function should be used.
-
-The syntax for the strings used to produce the error/warning message in
-the various error and warning functions is similar to the ``printf``
-syntax, with :samp:`%`-escapes to insert variable values. The details,
-and the allowable codes, are documented in the ``error_print``
-function in :samp:`error.cc`. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/frontend-data-structures.rst b/gcc/fortran/doc/gfc-internals/frontend-data-structures.rst
deleted file mode 100644
index 0b4411a..0000000
--- a/gcc/fortran/doc/gfc-internals/frontend-data-structures.rst
+++ /dev/null
@@ -1,23 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: data structures
-
-.. _frontend-data-structures:
-
-Frontend Data Structures
-------------------------
-
-This chapter should describe the details necessary to understand how
-the various ``gfc_*`` data are used and interact. In general it is
-advisable to read the code in :samp:`dump-parse-tree.cc` as its routines
-should exhaust all possible valid combinations of content for these
-structures.
-
-.. toctree::
- :maxdepth: 2
-
- gfccode
- gfcexpr \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst b/gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst
deleted file mode 100644
index 37bfe30..0000000
--- a/gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _translating-to-generic:
-
-Generating the intermediate language for later stages.
-------------------------------------------------------
-
-This chapter deals with the transformation of gfortran's frontend data
-structures to the intermediate language used by the later stages of
-the compiler, the so-called middle end.
-
-Data structures relating to this are found in the source files
-:samp:`trans*.h` and :samp:`trans-*.c`.
-
-.. toctree::
- :maxdepth: 2
-
- generating-the-intermediate-language-for-later-stages/basic-data-structures
- generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree
- generating-the-intermediate-language-for-later-stages/translating-statements
- generating-the-intermediate-language-for-later-stages/accessing-declarations \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst b/gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst
deleted file mode 100644
index 0c2c016..0000000
--- a/gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _accessing-declarations:
-
-Accessing declarations
-**********************
-
-``gfc_symbol``, ``gfc_charlen`` and other front-end structures
-contain a ``backend_decl`` variable, which contains the ``tree``
-used for accessing that entity in the middle-end.
-
-Accessing declarations is usually done by functions called
-``gfc_get*``. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst b/gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst
deleted file mode 100644
index 2c564da..0000000
--- a/gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst
+++ /dev/null
@@ -1,67 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _basic-data-structures:
-
-Basic data structures
-*********************
-
-Gfortran creates GENERIC as an intermediate language for the
-middle-end. Details about GENERIC can be found in the GCC manual.
-
-The basic data structure of GENERIC is a ``tree``. Everything in
-GENERIC is a ``tree``, including types and statements. Fortunately
-for the gfortran programmer, ``tree`` variables are
-garbage-collected, so doing memory management for them is not
-necessary.
-
-``tree`` expressions are built using functions such as, for
-example, ``fold_build2_loc``. For two tree variables ``a`` and
-``b``, both of which have the type ``gfc_arry_index_type``,
-calculation ``c = a * b`` would be done by
-
-.. code-block:: c++
-
- c = fold_build2_loc (input_location, MULT_EXPR,
- gfc_array_index_type, a, b);
-
-The types have to agree, otherwise internal compiler errors will occur
-at a later stage. Expressions can be converted to a different type
-using ``fold_convert``.
-
-Accessing individual members in the ``tree`` structures should not
-be done. Rather, access should be done via macros.
-
-One basic data structure is the ``stmtblock_t`` struct. This is
-used for holding a list of statements, expressed as ``tree``
-expressions. If a block is created using ``gfc_start_block``, it
-has its own scope for variables; if it is created using
-``gfc_init_block``, it does not have its own scope.
-
-It is possible to
-
-* Add an expression to the end of a block using ``gfc_add_expr_to_block``
-
-* Add an expression to the beginning of a block using ``void gfc_prepend_expr_to_block``
-
-* Make a block into a single ``tree`` using
- ``gfc_finish_block``. For example, this is needed to put the
- contents of a block into the ``if`` or ``else`` branch of
- a ``COND_EXPR``.
-
-Variables are also ``tree`` expressions, they can be created using
-``gfc_create_var``. Assigning to a variable can be done with
-``gfc_add_modify``.
-
-An example: Creating a default integer type variable in the current
-scope with the prefix 'everything' in the ``stmt_block``
-``block`` and assigning the value 42 would be
-
-.. code-block:: c++
-
- tree var, *block;
- /* Initialize block somewhere here. */
- var = gfc_create_var (integer_type_node, "everything");
- gfc_add_modify (block, var, build_int_cst (integer_type_node, 42)); \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst b/gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst
deleted file mode 100644
index f683804..0000000
--- a/gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst
+++ /dev/null
@@ -1,48 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _converting-expressions:
-
-Converting Expressions to tree
-******************************
-
-Converting expressions to ``tree`` is done by functions called
-``gfc_conv_*``.
-
-The central data structure for a GENERIC expression is the
-``gfc_se`` structure. Its ``expr`` member is a ``tree`` that
-holds the value of the expression. A ``gfc_se`` structure is
-initialized using ``gfc_init_se`` ; it needs to be embedded in an
-outer ``gfc_se``.
-
-Evaluating Fortran expressions often require things to be done before
-and after evaluation of the expression, for example code for the
-allocation of a temporary variable and its subsequent deallocation.
-Therefore, ``gfc_se`` contains the members ``pre`` and
-``post``, which point to ``stmt_block`` blocks for code that
-needs to be executed before and after evaluation of the expression.
-
-When using a local ``gfc_se`` to convert some expression, it is
-often necessary to add the generated ``pre`` and ``post`` blocks
-to the ``pre`` or ``post`` blocks of the outer ``gfc_se``.
-Code like this (lifted from :samp:`trans-expr.cc`) is fairly common:
-
-.. code-block:: c++
-
- gfc_se cont_se;
- tree cont_var;
-
- /* cont_var = is_contiguous (expr); . */
- gfc_init_se (&cont_se, parmse);
- gfc_conv_is_contiguous_expr (&cont_se, expr);
- gfc_add_block_to_block (&se->pre, &(&cont_se)->pre);
- gfc_add_modify (&se->pre, cont_var, cont_se.expr);
- gfc_add_block_to_block (&se->pre, &(&cont_se)->post);
-
-Conversion functions which need a ``gfc_se`` structure will have a
-corresponding argument.
-
-``gfc_se`` also contains pointers to a ``gfc_ss`` and a
-``gfc_loopinfo`` structure. These are needed by the scalarizer. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst b/gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst
deleted file mode 100644
index f53310e..0000000
--- a/gcc/fortran/doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _translating-statements:
-
-Translating statements
-**********************
-
-Translating statements to ``tree`` is done by functions called
-``gfc_trans_*``. These functions usually get passed a
-``gfc_code`` structure, evaluate any expressions and then
-return a ``tree`` structure. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/gfccode.rst b/gcc/fortran/doc/gfc-internals/gfccode.rst
deleted file mode 100644
index 838205d..0000000
--- a/gcc/fortran/doc/gfc-internals/gfccode.rst
+++ /dev/null
@@ -1,146 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: statement chaining
-
-.. _gfc_code:
-
-gfc_code
-********
-
-.. index:: gfc_code, struct gfc_code
-
-The executable statements in a program unit are represented by a
-nested chain of ``gfc_code`` structures. The type of statement is
-identified by the ``op`` member of the structure, the different
-possible values are enumerated in ``gfc_exec_op``. A special
-member of this ``enum`` is ``EXEC_NOP`` which is used to
-represent the various ``END`` statements if they carry a label.
-Depending on the type of statement some of the other fields will be
-filled in. Fields that are generally applicable are the ``next``
-and ``here`` fields. The former points to the next statement in
-the current block or is ``NULL`` if the current statement is the
-last in a block, ``here`` points to the statement label of the
-current statement.
-
-If the current statement is one of ``IF``, ``DO``, ``SELECT``
-it starts a block, i.e. a nested level in the program. In order to
-represent this, the ``block`` member is set to point to a
-``gfc_code`` structure whose ``next`` member starts the chain of
-statements inside the block; this structure's ``op`` member should be set to
-the same value as the parent structure's ``op`` member. The ``SELECT``
-and ``IF`` statements may contain various blocks (the chain of ``ELSE IF``
-and ``ELSE`` blocks or the various ``CASE`` s, respectively). These chains
-are linked-lists formed by the ``block`` members.
-
-Consider the following example code:
-
-.. code-block:: fortran
-
- IF (foo < 20) THEN
- PRINT *, "Too small"
- foo = 20
- ELSEIF (foo > 50) THEN
- PRINT *, "Too large"
- foo = 50
- ELSE
- PRINT *, "Good"
- END IF
-
-This statement-block will be represented in the internal gfortran tree as
-follows, were the horizontal link-chains are those induced by the ``next``
-members and vertical links down are those of ``block``. :samp:`==|` and
-:samp:`--|` mean ``NULL`` pointers to mark the end of a chain:
-
-.. code-block:: c++
-
- ... ==> IF ==> ...
- |
- +--> IF foo < 20 ==> PRINT *, "Too small" ==> foo = 20 ==|
- |
- +--> IF foo > 50 ==> PRINT *, "Too large" ==> foo = 50 ==|
- |
- +--> ELSE ==> PRINT *, "Good" ==|
- |
- +--|
-
-IF Blocks
-^^^^^^^^^
-
-Conditionals are represented by ``gfc_code`` structures with their
-``op`` member set to ``EXEC_IF``. This structure's ``block``
-member must point to another ``gfc_code`` node that is the header of the
-if-block. This header's ``op`` member must be set to ``EXEC_IF``, too,
-its ``expr`` member holds the condition to check for, and its ``next``
-should point to the code-chain of the statements to execute if the condition is
-true.
-
-If in addition an ``ELSEIF`` or ``ELSE`` block is present, the
-``block`` member of the if-block-header node points to yet another
-``gfc_code`` structure that is the header of the elseif- or else-block. Its
-structure is identical to that of the if-block-header, except that in case of an
-``ELSE`` block without a new condition the ``expr`` member should be
-``NULL``. This block can itself have its ``block`` member point to the
-next ``ELSEIF`` or ``ELSE`` block if there's a chain of them.
-
-Loops
-^^^^^
-
-``DO`` loops are stored in the tree as ``gfc_code`` nodes with their
-``op`` set to ``EXEC_DO`` for a ``DO`` loop with iterator variable and
-to ``EXEC_DO_WHILE`` for infinite ``DO`` s and ``DO WHILE`` blocks.
-Their ``block`` member should point to a ``gfc_code`` structure heading
-the code-chain of the loop body; its ``op`` member should be set to
-``EXEC_DO`` or ``EXEC_DO_WHILE``, too, respectively.
-
-For ``DO WHILE`` loops, the loop condition is stored on the top
-``gfc_code`` structure's ``expr`` member; ``DO`` forever loops are
-simply ``DO WHILE`` loops with a constant ``.TRUE.`` loop condition in
-the internal representation.
-
-Similarly, ``DO`` loops with an iterator have instead of the condition their
-``ext.iterator`` member set to the correct values for the loop iterator
-variable and its range.
-
-SELECT Statements
-^^^^^^^^^^^^^^^^^
-
-A ``SELECT`` block is introduced by a ``gfc_code`` structure with an
-``op`` member of ``EXEC_SELECT`` and ``expr`` containing the expression
-to evaluate and test. Its ``block`` member starts a list of ``gfc_code``
-structures linked together by their ``block`` members that stores the various
-``CASE`` parts.
-
-Each ``CASE`` node has its ``op`` member set to ``EXEC_SELECT``, too,
-its ``next`` member points to the code-chain to be executed in the current
-case-block, and ``extx.case_list`` contains the case-values this block
-corresponds to. The ``block`` member links to the next case in the list.
-
-BLOCK and ASSOCIATE
-^^^^^^^^^^^^^^^^^^^
-
-The code related to a ``BLOCK`` statement is stored inside an
-``gfc_code`` structure (say :samp:`{c}`)
-with ``c.op`` set to ``EXEC_BLOCK``. The
-``gfc_namespace`` holding the locally defined variables of the
-``BLOCK`` is stored in ``c.ext.block.ns``. The code inside the
-construct is in ``c.code``.
-
-``ASSOCIATE`` constructs are based on ``BLOCK`` and thus also have
-the internal storage structure described above (including ``EXEC_BLOCK``).
-However, for them ``c.ext.block.assoc`` is set additionally and points
-to a linked list of ``gfc_association_list`` structures. Those
-structures basically store a link of associate-names to target expressions.
-The associate-names themselves are still also added to the ``BLOCK`` 's
-namespace as ordinary symbols, but they have their ``gfc_symbol`` 's
-member ``assoc`` set also pointing to the association-list structure.
-This way associate-names can be distinguished from ordinary variables
-and their target expressions identified.
-
-For association to expressions (as opposed to variables), at the very beginning
-of the ``BLOCK`` construct assignments are automatically generated to
-set the corresponding variables to their target expressions' values, and
-later on the compiler simply disallows using such associate-names in contexts
-that may change the value. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/gfcexpr.rst b/gcc/fortran/doc/gfc-internals/gfcexpr.rst
deleted file mode 100644
index 7036ee4..0000000
--- a/gcc/fortran/doc/gfc-internals/gfcexpr.rst
+++ /dev/null
@@ -1,156 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _gfc_expr:
-
-gfc_expr
-********
-
-.. index:: gfc_expr, struct gfc_expr
-
-Expressions and 'values', including constants, variable-, array- and
-component-references as well as complex expressions consisting of operators and
-function calls are internally represented as one or a whole tree of
-``gfc_expr`` objects. The member ``expr_type`` specifies the overall
-type of an expression (for instance, ``EXPR_CONSTANT`` for constants or
-``EXPR_VARIABLE`` for variable references). The members ``ts`` and
-``rank`` as well as ``shape``, which can be ``NULL``, specify
-the type, rank and, if applicable, shape of the whole expression or expression
-tree of which the current structure is the root. ``where`` is the locus of
-this expression in the source code.
-
-Depending on the flavor of the expression being described by the object
-(that is, the value of its ``expr_type`` member), the corresponding structure
-in the ``value`` union will usually contain additional data describing the
-expression's value in a type-specific manner. The ``ref`` member is used to
-build chains of (array-, component- and substring-) references if the expression
-in question contains such references, see below for details.
-
-Constants
-^^^^^^^^^
-
-Scalar constants are represented by ``gfc_expr`` nodes with their
-``expr_type`` set to ``EXPR_CONSTANT``. The constant's value shall
-already be known at compile-time and is stored in the ``logical``,
-``integer``, ``real``, ``complex`` or ``character`` struct inside
-``value``, depending on the constant's type specification.
-
-Operators
-^^^^^^^^^
-
-Operator-expressions are expressions that are the result of the execution of
-some operator on one or two operands. The expressions have an ``expr_type``
-of ``EXPR_OP``. Their ``value.op`` structure contains additional data.
-
-``op1`` and optionally ``op2`` if the operator is binary point to the
-two operands, and ``operator`` or ``uop`` describe the operator that
-should be evaluated on these operands, where ``uop`` describes a user-defined
-operator.
-
-Function Calls
-^^^^^^^^^^^^^^
-
-If the expression is the return value of a function-call, its ``expr_type``
-is set to ``EXPR_FUNCTION``, and ``symtree`` must point to the symtree
-identifying the function to be called. ``value.function.actual`` holds the
-actual arguments given to the function as a linked list of
-``gfc_actual_arglist`` nodes.
-
-The other members of ``value.function`` describe the function being called
-in more detail, containing a link to the intrinsic symbol or user-defined
-function symbol if the call is to an intrinsic or external function,
-respectively. These values are determined during resolution-phase from the
-structure's ``symtree`` member.
-
-A special case of function calls are 'component calls' to type-bound
-procedures; those have the ``expr_type`` ``EXPR_COMPCALL`` with
-``value.compcall`` containing the argument list and the procedure called,
-while ``symtree`` and ``ref`` describe the object on which the procedure
-was called in the same way as a ``EXPR_VARIABLE`` expression would.
-See :ref:`type-bound-procedures`.
-
-Array- and Structure-Constructors
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Array- and structure-constructors (one could probably call them 'array-' and
-'derived-type constants') are ``gfc_expr`` structures with their
-``expr_type`` member set to ``EXPR_ARRAY`` or ``EXPR_STRUCTURE``,
-respectively. For structure constructors, ``symtree`` points to the
-derived-type symbol for the type being constructed.
-
-The values for initializing each array element or structure component are
-stored as linked-list of ``gfc_constructor`` nodes in the
-``value.constructor`` member.
-
-Null
-^^^^
-
-``NULL`` is a special value for pointers; it can be of different base types.
-Such a ``NULL`` value is represented in the internal tree by a
-``gfc_expr`` node with ``expr_type`` ``EXPR_NULL``. If the base type
-of the ``NULL`` expression is known, it is stored in ``ts`` (that's for
-instance the case for default-initializers of ``ALLOCATABLE`` components),
-but this member can also be set to ``BT_UNKNOWN`` if the information is not
-available (for instance, when the expression is a pointer-initializer
-``NULL()``).
-
-Variables and Reference Expressions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Variable references are ``gfc_expr`` structures with their ``expr_type``
-set to ``EXPR_VARIABLE`` ; their ``symtree`` should point to the variable
-that is referenced.
-
-For this type of expression, it's also possible to chain array-, component-
-or substring-references to the original expression to get something like
-:samp:`struct%component(2:5)`, where ``component`` is either an array or
-a ``CHARACTER`` member of ``struct`` that is of some derived-type. Such a
-chain of references is achieved by a linked list headed by ``ref`` of the
-``gfc_expr`` node. For the example above it would be (:samp:`==|` is the
-last ``NULL`` pointer):
-
-.. code-block:: c++
-
- EXPR_VARIABLE(struct) ==> REF_COMPONENT(component) ==> REF_ARRAY(2:5) ==|
-
-If ``component`` is a string rather than an array, the last element would be
-a ``REF_SUBSTRING`` reference, of course. If the variable itself or some
-component referenced is an array and the expression should reference the whole
-array rather than being followed by an array-element or -section reference, a
-``REF_ARRAY`` reference must be built as the last element in the chain with
-an array-reference type of ``AR_FULL``. Consider this example code:
-
-.. code-block:: fortran
-
- TYPE :: mytype
- INTEGER :: array(42)
- END TYPE mytype
-
- TYPE(mytype) :: variable
- INTEGER :: local_array(5)
-
- CALL do_something (variable%array, local_array)
-
-The ``gfc_expr`` nodes representing the arguments to the :samp:`do_something`
-call will have a reference-chain like this:
-
-.. code-block:: c++
-
- EXPR_VARIABLE(variable) ==> REF_COMPONENT(array) ==> REF_ARRAY(FULL) ==|
- EXPR_VARIABLE(local_array) ==> REF_ARRAY(FULL) ==|
-
-Constant Substring References
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-``EXPR_SUBSTRING`` is a special type of expression that encodes a substring
-reference of a constant string, as in the following code snippet:
-
-.. code-block:: c++
-
- x = "abcde"(1:2)
-
-In this case, ``value.character`` contains the full string's data as if it
-was a string constant, but the ``ref`` member is also set and points to a
-substring reference as described in the subsection above. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/gnu-free-documentation-license.rst b/gcc/fortran/doc/gfc-internals/gnu-free-documentation-license.rst
deleted file mode 100644
index 9a3dac6..0000000
--- a/gcc/fortran/doc/gfc-internals/gnu-free-documentation-license.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. include:: ../../../../doc/gnu_free_documentation_license.rst \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/index.rst b/gcc/fortran/doc/gfc-internals/index.rst
deleted file mode 100644
index 3e37acf..0000000
--- a/gcc/fortran/doc/gfc-internals/index.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-GNU Fortran Compiler Internals
-==============================
-
-.. only:: html
-
- Contents:
-
-.. toctree::
-
- copyright
- introduction
- code-that-interacts-with-the-user
- frontend-data-structures
- internals-of-fortran-2003-oop-features
- generating-the-intermediate-language-for-later-stages
- the-libgfortran-runtime-library
- gnu-free-documentation-license
-
- indices-and-tables \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/indices-and-tables.rst b/gcc/fortran/doc/gfc-internals/indices-and-tables.rst
deleted file mode 100644
index 50865c6..0000000
--- a/gcc/fortran/doc/gfc-internals/indices-and-tables.rst
+++ /dev/null
@@ -1 +0,0 @@
-.. include:: ../../../../doc/indices-and-tables.rst \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/internals-of-fortran-2003-oop-features.rst b/gcc/fortran/doc/gfc-internals/internals-of-fortran-2003-oop-features.rst
deleted file mode 100644
index b57f60e..0000000
--- a/gcc/fortran/doc/gfc-internals/internals-of-fortran-2003-oop-features.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _object-orientation:
-
-Internals of Fortran 2003 OOP Features
---------------------------------------
-
-.. toctree::
- :maxdepth: 2
-
- type-bound-procedures
- type-bound-operators \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/introduction.rst b/gcc/fortran/doc/gfc-internals/introduction.rst
deleted file mode 100644
index cc13920..0000000
--- a/gcc/fortran/doc/gfc-internals/introduction.rst
+++ /dev/null
@@ -1,32 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _introduction:
-
-Introduction
-============
-
-.. index:: Introduction
-
-This manual documents the internals of :command:`gfortran`,
-the GNU Fortran compiler.
-
-.. only:: development
-
- .. warning::
- This document, and the compiler it describes, are still
- under development. While efforts are made to keep it up-to-date, it might
- not accurately reflect the status of the most recent GNU Fortran compiler.
-
-------------
-
-.. The following duplicates the text on the TexInfo table of contents.
-
-At present, this manual is very much a work in progress, containing
-miscellaneous notes about the internals of the compiler. It is hoped
-that at some point in the future it will become a reasonably complete
-guide; in the interim, GNU Fortran developers are strongly encouraged to
-contribute to it as a way of keeping notes while working on the
-compiler. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/symbol-versioning.rst b/gcc/fortran/doc/gfc-internals/symbol-versioning.rst
deleted file mode 100644
index 37bc1e7..0000000
--- a/gcc/fortran/doc/gfc-internals/symbol-versioning.rst
+++ /dev/null
@@ -1,63 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _symbol-versioning:
-
-Symbol Versioning
-*****************
-
-In general, this capability exists only on a few platforms, thus there
-is a need for configure magic so that it is used only on those targets
-where it is supported.
-
-The central concept in symbol versioning is the so-called map file,
-which specifies the version node(s) exported symbols are labeled with.
-Also, the map file is used to hide local symbols.
-
-Some relevant references:
-
-* `GNU ld manual <https://sourceware.org/binutils/docs/ld/VERSION.html>`_
-
-* `ELF Symbol
- Versioning - Ulrich Depper <https://www.akkadia.org/drepper/symbol-versioning>`_
-
-* `How to Write Shared
- Libraries - Ulrich Drepper (see Chapter 3) <https://www.akkadia.org/drepper/dsohowto.pdf>`_
-
-If one adds a new symbol to a library that should be exported, the new
-symbol should be mentioned in the map file and a new version node
-defined, e.g., if one adds a new symbols ``foo`` and ``bar`` to
-libgfortran for the next GCC release, the following should be added to
-the map file:
-
-::
-
- GFORTRAN_1.1 {
- global:
- foo;
- bar;
- } GFORTRAN_1.0;
-
-where ``GFORTRAN_1.0`` is the version node of the current release,
-and ``GFORTRAN_1.1`` is the version node of the next release where
-foo and bar are made available.
-
-If one wants to change an existing interface, it is possible by using
-some asm trickery (from the :command:`ld` manual referenced above):
-
-.. code-block:: c++
-
- __asm__(".symver original_foo,foo@");
- __asm__(".symver old_foo,foo@VERS_1.1");
- __asm__(".symver old_foo1,foo@VERS_1.2");
- __asm__(".symver new_foo,foo@VERS_2.0");
-
-In this example, ``foo@`` represents the symbol ``foo`` bound to
-the unspecified base version of the symbol. The source file that
-contains this example would define 4 C functions: ``original_foo``,
-``old_foo``, ``old_foo1``, and ``new_foo``.
-
-In this case the map file must contain ``foo`` in ``VERS_1.1``
-and ``VERS_1.2`` as well as in ``VERS_2.0``. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/the-libgfortran-runtime-library.rst b/gcc/fortran/doc/gfc-internals/the-libgfortran-runtime-library.rst
deleted file mode 100644
index 6b48b39..0000000
--- a/gcc/fortran/doc/gfc-internals/the-libgfortran-runtime-library.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _libgfortran:
-
-The LibGFortran Runtime Library
--------------------------------
-
-.. toctree::
- :maxdepth: 2
-
- symbol-versioning \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/type-bound-operators.rst b/gcc/fortran/doc/gfc-internals/type-bound-operators.rst
deleted file mode 100644
index 395de8f..0000000
--- a/gcc/fortran/doc/gfc-internals/type-bound-operators.rst
+++ /dev/null
@@ -1,33 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _type-bound-operators:
-
-Type-bound Operators
-********************
-
-Type-bound operators are in fact basically just ``GENERIC`` procedure
-bindings and are represented much in the same way as those (see
-:ref:`type-bound-procedures`).
-
-They come in two flavours:
-User-defined operators (like ``.MYOPERATOR.``)
-are stored in the ``f2k_derived`` namespace's ``tb_uop_root``
-symtree exactly like ordinary type-bound procedures are stored in
-``tb_sym_root`` ; their symtrees' names are the operator-names (e.g.
-:samp:`myoperator` in the example).
-Intrinsic operators on the other hand are stored in the namespace's
-array member ``tb_op`` indexed by the intrinsic operator's enum
-value. Those need not be packed into ``gfc_symtree`` structures and are
-only ``gfc_typebound_proc`` instances.
-
-When an operator call or assignment is found that cannot be handled in
-another way (i.e. neither matches an intrinsic nor interface operator
-definition) but that contains a derived-type expression, all type-bound
-operators defined on that derived-type are checked for a match with
-the operator call. If there's indeed a relevant definition, the
-operator call is replaced with an internally generated ``GENERIC``
-type-bound procedure call to the respective definition and that call is
-further processed. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfc-internals/type-bound-procedures.rst b/gcc/fortran/doc/gfc-internals/type-bound-procedures.rst
deleted file mode 100644
index 2f2d7c1..0000000
--- a/gcc/fortran/doc/gfc-internals/type-bound-procedures.rst
+++ /dev/null
@@ -1,101 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _type-bound-procedures:
-
-Type-bound Procedures
-*********************
-
-Type-bound procedures are stored in the ``tb_sym_root`` of the namespace
-``f2k_derived`` associated with the derived-type symbol as ``gfc_symtree``
-nodes. The name and symbol of these symtrees corresponds to the binding-name
-of the procedure, i.e. the name that is used to call it from the context of an
-object of the derived-type.
-
-In addition, this type of symtrees stores in ``n.tb`` a struct of type
-``gfc_typebound_proc`` containing the additional data needed: The
-binding attributes (like ``PASS`` and ``NOPASS``, ``NON_OVERRIDABLE``
-or the access-specifier), the binding's target(s) and, if the current binding
-overrides or extends an inherited binding of the same name, ``overridden``
-points to this binding's ``gfc_typebound_proc`` structure.
-
-Specific Bindings
-^^^^^^^^^^^^^^^^^
-
-.. -
-
-For specific bindings (declared with ``PROCEDURE``), if they have a
-passed-object argument, the passed-object dummy argument is first saved by its
-name, and later during resolution phase the corresponding argument is looked for
-and its position remembered as ``pass_arg_num`` in ``gfc_typebound_proc``.
-The binding's target procedure is pointed-to by ``u.specific``.
-
-``DEFERRED`` bindings are just like ordinary specific bindings, except
-that their ``deferred`` flag is set of course and that ``u.specific``
-points to their 'interface' defining symbol (might be an abstract interface)
-instead of the target procedure.
-
-At the moment, all type-bound procedure calls are statically dispatched and
-transformed into ordinary procedure calls at resolution time; their actual
-argument list is updated to include at the right position the passed-object
-argument, if applicable, and then a simple procedure call to the binding's
-target procedure is built. To handle dynamic dispatch in the future, this will
-be extended to allow special code generation during the trans-phase to dispatch
-based on the object's dynamic type.
-
-Generic Bindings
-^^^^^^^^^^^^^^^^
-
-.. -
-
-Bindings declared as ``GENERIC`` store the specific bindings they target as
-a linked list using nodes of type ``gfc_tbp_generic`` in ``u.generic``.
-For each specific target, the parser records its symtree and during resolution
-this symtree is bound to the corresponding ``gfc_typebound_proc`` structure
-of the specific target.
-
-Calls to generic bindings are handled entirely in the resolution-phase, where
-for the actual argument list present the matching specific binding is found
-and the call's target procedure (``value.compcall.tbp``) is re-pointed to
-the found specific binding and this call is subsequently handled by the logic
-for specific binding calls.
-
-Calls to Type-bound Procedures
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. -
-
-Calls to type-bound procedures are stored in the parse-tree as ``gfc_expr``
-nodes of type ``EXPR_COMPCALL``. Their ``value.compcall.actual`` saves
-the actual argument list of the call and ``value.compcall.tbp`` points to the
-``gfc_typebound_proc`` structure of the binding to be called. The object
-in whose context the procedure was called is saved by combination of
-``symtree`` and ``ref``, as if the expression was of type
-``EXPR_VARIABLE``.
-
-For code like this:
-
-.. code-block:: fortran
-
- CALL myobj%procedure (arg1, arg2)
-
-the ``CALL`` is represented in the parse-tree as a ``gfc_code`` node of
-type ``EXEC_COMPCALL``. The ``expr`` member of this node holds an
-expression of type ``EXPR_COMPCALL`` of the same structure as mentioned above
-except that its target procedure is of course a ``SUBROUTINE`` and not a
-``FUNCTION``.
-
-Expressions that are generated internally (as expansion of a type-bound
-operator call) may also use additional flags and members.
-``value.compcall.ignore_pass`` signals that even though a ``PASS``
-attribute may be present the actual argument list should not be updated because
-it already contains the passed-object.
-``value.compcall.base_object`` overrides, if it is set, the base-object
-(that is normally stored in ``symtree`` and ``ref`` as mentioned above);
-this is needed because type-bound operators can be called on a base-object that
-need not be of type ``EXPR_VARIABLE`` and thus representable in this way.
-Finally, if ``value.compcall.assign`` is set, the call was produced in
-expansion of a type-bound assignment; this means that proper dependency-checking
-needs to be done when relevant. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/about-gnu-fortran.rst b/gcc/fortran/doc/gfortran/about-gnu-fortran.rst
deleted file mode 100644
index 8185248..0000000
--- a/gcc/fortran/doc/gfortran/about-gnu-fortran.rst
+++ /dev/null
@@ -1,115 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _about-gnu-fortran:
-
-About GNU Fortran
-*****************
-
-The GNU Fortran compiler is the successor to :command:`g77`, the
-Fortran 77 front end included in GCC prior to version 4 (released in
-2005). While it is backward-compatible with most :command:`g77`
-extensions and command-line options, :command:`gfortran` is a completely new
-implemention designed to support more modern dialects of Fortran.
-GNU Fortran implements the Fortran 77, 90 and 95 standards
-completely, most of the Fortran 2003 and 2008 standards, and some
-features from the 2018 standard. It also implements several extensions
-including OpenMP and OpenACC support for parallel programming.
-
-The GNU Fortran compiler passes the
-`NIST Fortran 77 Test Suite <http://www.fortran-2000.com/ArnaudRecipes/fcvs21_f95.html>`_, and produces acceptable results on the
-`LAPACK Test Suite <https://www.netlib.org/lapack/faq.html>`_.
-It also provides respectable performance on
-the `Polyhedron Fortran compiler benchmarks <https://polyhedron.com/?page_id=175>`_ and the
-`Livermore Fortran Kernels test <https://www.netlib.org/benchmark/livermore>`_. It has been used to compile a number of
-large real-world programs, including
-`the HARMONIE and HIRLAM weather forecasting code <http://hirlam.org/>`_ and
-`the Tonto quantum chemistry package <https://github.com/dylan-jayatilaka/tonto>`_; see
-https://gcc.gnu.org/wiki/GfortranApps for an extended list.
-
-GNU Fortran provides the following functionality:
-
-* Read a program, stored in a file and containing :dfn:`source code`
- instructions written in Fortran 77.
-
-* Translate the program into instructions a computer
- can carry out more quickly than it takes to translate the
- original Fortran instructions.
- The result after compilation of a program is
- :dfn:`machine code`,
- which is efficiently translated and processed
- by a machine such as your computer.
- Humans usually are not as good writing machine code
- as they are at writing Fortran (or C++, Ada, or Java),
- because it is easy to make tiny mistakes writing machine code.
-
-* Provide information about the reasons why
- the compiler may be unable to create a binary from the source code,
- for example if the source code is flawed.
- The Fortran language standards require that the compiler can point out
- mistakes in your code.
- An incorrect usage of the language causes an :dfn:`error message`.
-
- The compiler also attempts to diagnose cases where your
- program contains a correct usage of the language,
- but instructs the computer to do something questionable.
- This kind of diagnostic message is called a :dfn:`warning message`.
-
-* Provide optional information about the translation passes
- from the source code to machine code.
- This can help you to find the cause of
- certain bugs which may not be obvious in the source code,
- but may be more easily found at a lower level compiler output.
- It also helps developers to find bugs in the compiler itself.
-
-* Provide information in the generated machine code that can
- make it easier to find bugs in the program (using a debugging tool,
- called a :dfn:`debugger`, such as the GNU Debugger :command:`gdb`).
-
-* Locate and gather machine code already generated to
- perform actions requested by statements in the program.
- This machine code is organized into :dfn:`modules` and is located
- and :dfn:`linked` to the user program.
-
-The GNU Fortran compiler consists of several components:
-
-* A version of the :command:`gcc` command
- (which also might be installed as the system's :command:`cc` command)
- that also understands and accepts Fortran source code.
- The :command:`gcc` command is the :dfn:`driver` program for
- all the languages in the GNU Compiler Collection (GCC);
- With :command:`gcc`,
- you can compile the source code of any language for
- which a front end is available in GCC.
-
-* The :command:`gfortran` command itself,
- which also might be installed as the
- system's :command:`f95` command.
- :command:`gfortran` is just another driver program,
- but specifically for the Fortran compiler only.
- The primary difference between the :command:`gcc` and :command:`gfortran`
- commands is that the latter automatically links the correct libraries
- to your program.
-
-* A collection of run-time libraries.
- These libraries contain the machine code needed to support
- capabilities of the Fortran language that are not directly
- provided by the machine code generated by the
- :command:`gfortran` compilation phase,
- such as intrinsic functions and subroutines,
- and routines for interaction with files and the operating system.
-
- .. and mechanisms to spawn,
-
- .. unleash and pause threads in parallelized code.
-
-* The Fortran compiler itself, (:command:`f951`).
- This is the GNU Fortran parser and code generator,
- linked to and interfaced with the GCC backend library.
- :command:`f951` 'translates' the source code to
- assembler code. You would typically not use this
- program directly;
- instead, the :command:`gcc` or :command:`gfortran` driver
- programs call it for you. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/coarray-programming.rst b/gcc/fortran/doc/gfortran/coarray-programming.rst
deleted file mode 100644
index 4dce202..0000000
--- a/gcc/fortran/doc/gfortran/coarray-programming.rst
+++ /dev/null
@@ -1,17 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: Coarrays
-
-.. _coarray-programming:
-
-Coarray Programming
--------------------
-
-.. toctree::
- :maxdepth: 2
-
- type-and-enum-abi-documentation
- function-abi-documentation \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/compiler-characteristics.rst b/gcc/fortran/doc/gfortran/compiler-characteristics.rst
deleted file mode 100644
index c222102..0000000
--- a/gcc/fortran/doc/gfortran/compiler-characteristics.rst
+++ /dev/null
@@ -1,27 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _compiler-characteristics:
-
-Compiler Characteristics
-------------------------
-
-This chapter describes certain characteristics of the GNU Fortran
-compiler, that are not specified by the Fortran standard, but which
-might in some way or another become visible to the programmer.
-
-.. toctree::
- :maxdepth: 2
-
- compiler-characteristics/kind-type-parameters
- compiler-characteristics/internal-representation-of-logical-variables
- compiler-characteristics/evaluation-of-logical-expressions
- compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments
- compiler-characteristics/thread-safety-of-the-runtime-library
- compiler-characteristics/data-consistency-and-durability
- compiler-characteristics/files-opened-without-an-explicit-action=-specifier
- compiler-characteristics/file-operations-on-symbolic-links
- compiler-characteristics/file-format-of-unformatted-sequential-files
- compiler-characteristics/asynchronous-i-o \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/compiler-characteristics/asynchronous-i-o.rst b/gcc/fortran/doc/gfortran/compiler-characteristics/asynchronous-i-o.rst
deleted file mode 100644
index c5fd4ea..0000000
--- a/gcc/fortran/doc/gfortran/compiler-characteristics/asynchronous-i-o.rst
+++ /dev/null
@@ -1,21 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: input/output, asynchronous, asynchronous I/O
-
-.. _asynchronous-i-o:
-
-Asynchronous I/O
-****************
-
-Asynchronous I/O is supported if the program is linked against the
-POSIX thread library. If that is not the case, all I/O is performed
-as synchronous. On systems which do not support pthread condition
-variables, such as AIX, I/O is also performed as synchronous.
-
-On some systems, such as Darwin or Solaris, the POSIX thread library
-is always linked in, so asynchronous I/O is always performed. On other
-sytems, such as Linux, it is necessary to specify :option:`-pthread`,
-:option:`-lpthread` or :option:`-fopenmp` during the linking step. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst b/gcc/fortran/doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst
deleted file mode 100644
index d499a8d..0000000
--- a/gcc/fortran/doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst
+++ /dev/null
@@ -1,80 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: consistency, durability
-
-.. _data-consistency-and-durability:
-
-Data consistency and durability
-*******************************
-
-This section contains a brief overview of data and metadata
-consistency and durability issues when doing I/O.
-
-With respect to durability, GNU Fortran makes no effort to ensure that
-data is committed to stable storage. If this is required, the GNU
-Fortran programmer can use the intrinsic ``FNUM`` to retrieve the
-low level file descriptor corresponding to an open Fortran unit. Then,
-using e.g. the ``ISO_C_BINDING`` feature, one can call the
-underlying system call to flush dirty data to stable storage, such as
-``fsync`` on POSIX, ``_commit`` on MingW, or ``fcntl(fd,
-F_FULLSYNC, 0)`` on Mac OS X. The following example shows how to call
-fsync:
-
-.. code-block:: fortran
-
- ! Declare the interface for POSIX fsync function
- interface
- function fsync (fd) bind(c,name="fsync")
- use iso_c_binding, only: c_int
- integer(c_int), value :: fd
- integer(c_int) :: fsync
- end function fsync
- end interface
-
- ! Variable declaration
- integer :: ret
-
- ! Opening unit 10
- open (10,file="foo")
-
- ! ...
- ! Perform I/O on unit 10
- ! ...
-
- ! Flush and sync
- flush(10)
- ret = fsync(fnum(10))
-
- ! Handle possible error
- if (ret /= 0) stop "Error calling FSYNC"
-
-With respect to consistency, for regular files GNU Fortran uses
-buffered I/O in order to improve performance. This buffer is flushed
-automatically when full and in some other situations, e.g. when
-closing a unit. It can also be explicitly flushed with the
-``FLUSH`` statement. Also, the buffering can be turned off with the
-``GFORTRAN_UNBUFFERED_ALL`` and
-``GFORTRAN_UNBUFFERED_PRECONNECTED`` environment variables. Special
-files, such as terminals and pipes, are always unbuffered. Sometimes,
-however, further things may need to be done in order to allow other
-processes to see data that GNU Fortran has written, as follows.
-
-The Windows platform supports a relaxed metadata consistency model,
-where file metadata is written to the directory lazily. This means
-that, for instance, the ``dir`` command can show a stale size for a
-file. One can force a directory metadata update by closing the unit,
-or by calling ``_commit`` on the file descriptor. Note, though,
-that ``_commit`` will force all dirty data to stable storage, which
-is often a very slow operation.
-
-The Network File System (NFS) implements a relaxed consistency model
-called open-to-close consistency. Closing a file forces dirty data and
-metadata to be flushed to the server, and opening a file forces the
-client to contact the server in order to revalidate cached
-data. ``fsync`` will also force a flush of dirty data and metadata
-to the server. Similar to ``open`` and ``close``, acquiring and
-releasing ``fcntl`` file locks, if the server supports them, will
-also force cache validation and flushing dirty data and metadata. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst b/gcc/fortran/doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst
deleted file mode 100644
index ddb472b..0000000
--- a/gcc/fortran/doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst
+++ /dev/null
@@ -1,18 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _evaluation-of-logical-expressions:
-
-Evaluation of logical expressions
-*********************************
-
-The Fortran standard does not require the compiler to evaluate all parts of an
-expression, if they do not contribute to the final result. For logical
-expressions with ``.AND.`` or ``.OR.`` operators, in particular, GNU
-Fortran will optimize out function calls (even to impure functions) if the
-result of the expression can be established without them. However, since not
-all compilers do that, and such an optimization can potentially modify the
-program flow and subsequent results, GNU Fortran throws warnings for such
-situations with the :option:`-Wfunction-elimination` flag. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst b/gcc/fortran/doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst
deleted file mode 100644
index 55c332c..0000000
--- a/gcc/fortran/doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst
+++ /dev/null
@@ -1,63 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: file, unformatted sequential, unformatted sequential, sequential, unformatted, record marker, subrecord
-
-.. _file-format-of-unformatted-sequential-files:
-
-File format of unformatted sequential files
-*******************************************
-
-Unformatted sequential files are stored as logical records using
-record markers. Each logical record consists of one of more
-subrecords.
-
-Each subrecord consists of a leading record marker, the data written
-by the user program, and a trailing record marker. The record markers
-are four-byte integers by default, and eight-byte integers if the
-:option:`-fmax-subrecord-length=8` option (which exists for backwards
-compability only) is in effect.
-
-The representation of the record markers is that of unformatted files
-given with the :option:`-fconvert` option, the :ref:`convert-specifier`
-in an open statement or the :ref:`GFORTRAN_CONVERT_UNIT` environment
-variable.
-
-The maximum number of bytes of user data in a subrecord is 2147483639
-(2 GiB - 9) for a four-byte record marker. This limit can be lowered
-with the :option:`-fmax-subrecord-length` option, although this is
-rarely useful. If the length of a logical record exceeds this limit,
-the data is distributed among several subrecords.
-
-The absolute of the number stored in the record markers is the number
-of bytes of user data in the corresponding subrecord. If the leading
-record marker of a subrecord contains a negative number, another
-subrecord follows the current one. If the trailing record marker
-contains a negative number, then there is a preceding subrecord.
-
-In the most simple case, with only one subrecord per logical record,
-both record markers contain the number of bytes of user data in the
-record.
-
-The format for unformatted sequential data can be duplicated using
-unformatted stream, as shown in the example program for an unformatted
-record containing a single subrecord:
-
-.. code-block:: fortran
-
- program main
- use iso_fortran_env, only: int32
- implicit none
- integer(int32) :: i
- real, dimension(10) :: a, b
- call random_number(a)
- open (10,file='test.dat',form='unformatted',access='stream')
- inquire (iolength=i) a
- write (10) i, a, i
- close (10)
- open (10,file='test.dat',form='unformatted')
- read (10) b
- if (all (a == b)) print *,'success!'
- end program main \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst b/gcc/fortran/doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst
deleted file mode 100644
index c0d1e10..0000000
--- a/gcc/fortran/doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst
+++ /dev/null
@@ -1,28 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: file, symbolic link
-
-.. _file-operations-on-symbolic-links:
-
-File operations on symbolic links
-*********************************
-
-This section documents the behavior of GNU Fortran for file operations on
-symbolic links, on systems that support them.
-
-* Results of INQUIRE statements of the 'inquire by file' form will
- relate to the target of the symbolic link. For example,
- ``INQUIRE(FILE="foo",EXIST=ex)`` will set :samp:`{ex}` to :samp:`{.true.}` if
- :samp:`{foo}` is a symbolic link pointing to an existing file, and :samp:`{.false.}`
- if :samp:`{foo}` points to an non-existing file ('dangling' symbolic link).
-
-* Using the ``OPEN`` statement with a ``STATUS="NEW"`` specifier
- on a symbolic link will result in an error condition, whether the symbolic
- link points to an existing target or is dangling.
-
-* If a symbolic link was connected, using the ``CLOSE`` statement
- with a ``STATUS="DELETE"`` specifier will cause the symbolic link itself
- to be deleted, not its target. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst b/gcc/fortran/doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst
deleted file mode 100644
index 2f7a6dc..0000000
--- a/gcc/fortran/doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst
+++ /dev/null
@@ -1,23 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: open, action
-
-.. _files-opened-without-an-explicit-action=-specifier:
-
-Files opened without an explicit ACTION= specifier
-**************************************************
-
-The Fortran standard says that if an ``OPEN`` statement is executed
-without an explicit ``ACTION=`` specifier, the default value is
-processor dependent. GNU Fortran behaves as follows:
-
-* Attempt to open the file with ``ACTION='READWRITE'``
-
-* If that fails, try to open with ``ACTION='READ'``
-
-* If that fails, try to open with ``ACTION='WRITE'``
-
-* If that fails, generate an error \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst b/gcc/fortran/doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst
deleted file mode 100644
index 2628065..0000000
--- a/gcc/fortran/doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: logical, variable representation
-
-.. _internal-representation-of-logical-variables:
-
-Internal representation of LOGICAL variables
-********************************************
-
-The Fortran standard does not specify how variables of ``LOGICAL``
-type are represented, beyond requiring that ``LOGICAL`` variables
-of default kind have the same storage size as default ``INTEGER``
-and ``REAL`` variables. The GNU Fortran internal representation is
-as follows.
-
-A ``LOGICAL(KIND=N)`` variable is represented as an
-``INTEGER(KIND=N)`` variable, however, with only two permissible
-values: ``1`` for ``.TRUE.`` and ``0`` for
-``.FALSE.``. Any other integer value results in undefined behavior.
-
-See also :ref:`argument-passing-conventions` and :ref:`interoperability-with-c`. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/compiler-characteristics/kind-type-parameters.rst b/gcc/fortran/doc/gfortran/compiler-characteristics/kind-type-parameters.rst
deleted file mode 100644
index 8f74c8d..0000000
--- a/gcc/fortran/doc/gfortran/compiler-characteristics/kind-type-parameters.rst
+++ /dev/null
@@ -1,54 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: kind
-
-.. _kind-type-parameters:
-
-KIND Type Parameters
-********************
-
-The ``KIND`` type parameters supported by GNU Fortran for the primitive
-data types are:
-
-``INTEGER``
-
- 1, 2, 4, 8 [#f1]_, 16 [#f1]_, default: 4 [#f2]_
-
-``LOGICAL``
-
- 1, 2, 4, 8 [#f1]_, 16 [#f1]_, default: 4 [#f2]_
-
-``REAL``
-
- 4, 8, 10 [#f1]_, 16 [#f1]_, default: 4 [#f3]_
-
-``COMPLEX``
-
- 4, 8, 10 [#f1]_, 16 [#f1]_, default: 4 [#f3]_
-
-``DOUBLE PRECISION``
-
- 4, 8, 10 [#f1]_, 16 [#f1]_, default: 8 [#f3]_
-
-``CHARACTER``
-
- 1, 4, default: 1
-
-.. [#f1] not available on all systems
-.. [#f2] unless :option:`-fdefault-integer-8` is used
-.. [#f3] unless :option:`-fdefault-real-8` is used (see :ref:`fortran-dialect-options`)
-
-The ``KIND`` value matches the storage size in bytes, except for
-``COMPLEX`` where the storage size is twice as much (or both real and
-imaginary part are a real value of the given size). It is recommended to use
-the :ref:`SELECTED_CHAR_KIND`, :ref:`SELECTED_INT_KIND` and
-:ref:`SELECTED_REAL_KIND` intrinsics or the ``INT8``, ``INT16``,
-``INT32``, ``INT64``, ``REAL32``, ``REAL64``, and ``REAL128``
-parameters of the ``ISO_FORTRAN_ENV`` module instead of the concrete values.
-The available kind parameters can be found in the constant arrays
-``CHARACTER_KINDS``, ``INTEGER_KINDS``, ``LOGICAL_KINDS`` and
-``REAL_KINDS`` in the :ref:`ISO_FORTRAN_ENV` module. For C interoperability,
-the kind parameters of the :ref:`ISO_C_BINDING` module should be used. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst b/gcc/fortran/doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst
deleted file mode 100644
index 5b56829..0000000
--- a/gcc/fortran/doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst
+++ /dev/null
@@ -1,21 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: MAX, MIN, NaN
-
-.. _max-and-min-intrinsics-with-real-nan-arguments:
-
-MAX and MIN intrinsics with REAL NaN arguments
-**********************************************
-
-The Fortran standard does not specify what the result of the
-``MAX`` and ``MIN`` intrinsics are if one of the arguments is a
-``NaN``. Accordingly, the GNU Fortran compiler does not specify
-that either, as this allows for faster and more compact code to be
-generated. If the programmer wishes to take some specific action in
-case one of the arguments is a ``NaN``, it is necessary to
-explicitly test the arguments before calling ``MAX`` or ``MIN``,
-e.g. with the ``IEEE_IS_NAN`` function from the intrinsic module
-``IEEE_ARITHMETIC``. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst b/gcc/fortran/doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst
deleted file mode 100644
index e2282ca..0000000
--- a/gcc/fortran/doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst
+++ /dev/null
@@ -1,53 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: thread-safety, threads
-
-.. _thread-safety-of-the-runtime-library:
-
-Thread-safety of the runtime library
-************************************
-
-GNU Fortran can be used in programs with multiple threads, e.g. by
-using OpenMP, by calling OS thread handling functions via the
-``ISO_C_BINDING`` facility, or by GNU Fortran compiled library code
-being called from a multi-threaded program.
-
-The GNU Fortran runtime library, (``libgfortran``), supports being
-called concurrently from multiple threads with the following
-exceptions.
-
-During library initialization, the C ``getenv`` function is used,
-which need not be thread-safe. Similarly, the ``getenv``
-function is used to implement the ``GET_ENVIRONMENT_VARIABLE`` and
-``GETENV`` intrinsics. It is the responsibility of the user to
-ensure that the environment is not being updated concurrently when any
-of these actions are taking place.
-
-The ``EXECUTE_COMMAND_LINE`` and ``SYSTEM`` intrinsics are
-implemented with the ``system`` function, which need not be
-thread-safe. It is the responsibility of the user to ensure that
-``system`` is not called concurrently.
-
-For platforms not supporting thread-safe POSIX functions, further
-functionality might not be thread-safe. For details, please consult
-the documentation for your operating system.
-
-The GNU Fortran runtime library uses various C library functions that
-depend on the locale, such as ``strtod`` and ``snprintf``. In
-order to work correctly in locale-aware programs that set the locale
-using ``setlocale``, the locale is reset to the default 'C'
-locale while executing a formatted ``READ`` or ``WRITE``
-statement. On targets supporting the POSIX 2008 per-thread locale
-functions (e.g. ``newlocale``, ``uselocale``,
-``freelocale``), these are used and thus the global locale set
-using ``setlocale`` or the per-thread locales in other threads are
-not affected. However, on targets lacking this functionality, the
-global LC_NUMERIC locale is set to 'C' during the formatted I/O.
-Thus, on such targets it's not safe to call ``setlocale``
-concurrently from another thread while a Fortran formatted I/O
-operation is in progress. Also, other threads doing something
-dependent on the LC_NUMERIC locale might not work correctly if a
-formatted I/O operation is in progress in another thread. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/conf.py b/gcc/fortran/doc/gfortran/conf.py
deleted file mode 100644
index 8be1e53..0000000
--- a/gcc/fortran/doc/gfortran/conf.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# Configuration file for the Sphinx documentation builder.
-
-import sys
-sys.path.append('../../../..//doc')
-
-from baseconf import *
-
-name = 'gfortran'
-project = 'Using GNU Fortran'
-copyright = '1999-2022 Free Software Foundation, Inc.'
-authors = 'The gfortran team'
-
-# Grouping the document tree into Texinfo files. List of tuples
-# (source start file, target name, title, author,
-# dir menu entry, description, category)
-latex_documents = [
- ('index', f'{name}.tex', project, authors, 'manual'),
-]
-
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
-man_pages = [
- ('gnu-fortran-command-options', name, 'GNU Fortran compiler', [authors], 1),
-]
-
-texinfo_documents = [
- ('index', name, project, authors, None, None, None, True)
-]
-
-set_common(name, globals()) \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/contributing.rst b/gcc/fortran/doc/gfortran/contributing.rst
deleted file mode 100644
index bb06b37..0000000
--- a/gcc/fortran/doc/gfortran/contributing.rst
+++ /dev/null
@@ -1,28 +0,0 @@
-.. _contributing:
-
-Contributing
-============
-
-.. index:: Contributing
-
-Free software is only possible if people contribute to efforts
-to create it.
-We're always in need of more people helping out with ideas
-and comments, writing documentation and contributing code.
-
-If you want to contribute to GNU Fortran,
-have a look at the long lists of projects you can take on.
-Some of these projects are small,
-some of them are large;
-some are completely orthogonal to the rest of what is
-happening on GNU Fortran,
-but others are 'mainstream' projects in need of enthusiastic hackers.
-All of these projects are important!
-We will eventually get around to the things here,
-but they are also things doable by someone who is willing and able.
-
-.. toctree::
- :maxdepth: 2
-
- contributors-to-gnu-fortran
- projects \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/contributors-to-gnu-fortran.rst b/gcc/fortran/doc/gfortran/contributors-to-gnu-fortran.rst
deleted file mode 100644
index 5a9c615..0000000
--- a/gcc/fortran/doc/gfortran/contributors-to-gnu-fortran.rst
+++ /dev/null
@@ -1,109 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: Contributors, Credits, Authors
-
-.. _contributors:
-
-Contributors to GNU Fortran
-***************************
-
-Most of the parser was hand-crafted by *Andy Vaught*, who is
-also the initiator of the whole project. Thanks Andy!
-Most of the interface with GCC was written by *Paul Brook*.
-
-The following individuals have contributed code and/or
-ideas and significant help to the GNU Fortran project
-(in alphabetical order):
-
-* Janne Blomqvist
-
-* Steven Bosscher
-
-* Paul Brook
-
-* Tobias Burnus
-
-* François-Xavier Coudert
-
-* Bud Davis
-
-* Jerry DeLisle
-
-* Erik Edelmann
-
-* Bernhard Fischer
-
-* Daniel Franke
-
-* Richard Guenther
-
-* Richard Henderson
-
-* Katherine Holcomb
-
-* Jakub Jelinek
-
-* Niels Kristian Bech Jensen
-
-* Steven Johnson
-
-* Steven G. Kargl
-
-* Thomas Koenig
-
-* Asher Langton
-
-* H.J. Lu
-
-* Toon Moene
-
-* Brooks Moses
-
-* Andrew Pinski
-
-* Tim Prince
-
-* Christopher D. Rickett
-
-* Richard Sandiford
-
-* Tobias Schlüter
-
-* Roger Sayle
-
-* Paul Thomas
-
-* Andy Vaught
-
-* Feng Wang
-
-* Janus Weil
-
-* Daniel Kraft
-
-The following people have contributed bug reports,
-smaller or larger patches,
-and much needed feedback and encouragement for the
-GNU Fortran project:
-
-* Bill Clodius
-
-* Dominique d'Humiēres
-
-* Kate Hedstrom
-
-* Erik Schnetter
-
-* Gerhard Steinmetz
-
-* Joost VandeVondele
-
-Many other individuals have helped debug,
-test and improve the GNU Fortran compiler over the past few years,
-and we welcome you to do the same!
-If you already have done so,
-and you would like to see your name listed in the
-list above, please contact us. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/copyright.rst b/gcc/fortran/doc/gfortran/copyright.rst
deleted file mode 100644
index c778eb1..0000000
--- a/gcc/fortran/doc/gfortran/copyright.rst
+++ /dev/null
@@ -1,25 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the GPL license file
-
-Copyright
-^^^^^^^^^
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being **GNU General Public License** and
-**Funding Free Software**, the Front-Cover texts being (a) (see below), and with
-the Back-Cover Texts being (b) (see below). A copy of the license is
-in the :ref:`gnu_fdl`.
-
-(a) The FSF's Front-Cover Text is:
-
- A GNU Manual
-
-(b) The FSF's Back-Cover Text is:
-
- You have freedom to copy and modify this GNU Manual, like GNU
- software. Copies published by the Free Software Foundation raise
- funds for GNU development. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/extensions-implemented-in-gnu-fortran.rst b/gcc/fortran/doc/gfortran/extensions-implemented-in-gnu-fortran.rst
deleted file mode 100644
index bffdd27..0000000
--- a/gcc/fortran/doc/gfortran/extensions-implemented-in-gnu-fortran.rst
+++ /dev/null
@@ -1,1535 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: extensions, implemented
-
-.. _extensions-implemented-in-gnu-fortran:
-
-Extensions implemented in GNU Fortran
-*************************************
-
-GNU Fortran implements a number of extensions over standard Fortran.
-This chapter contains information on their syntax and meaning. There
-are currently two categories of GNU Fortran extensions, those that
-provide functionality beyond that provided by any standard, and those
-that are supported by GNU Fortran purely for backward compatibility
-with legacy compilers. By default, :option:`-std=gnu` allows the
-compiler to accept both types of extensions, but to warn about the use
-of the latter. Specifying either :option:`-std=f95`,
-:option:`-std=f2003`, :option:`-std=f2008`, or :option:`-std=f2018`
-disables both types of extensions, and :option:`-std=legacy` allows
-both without warning. The special compile flag :option:`-fdec` enables
-additional compatibility extensions along with those enabled by
-:option:`-std=legacy`.
-
-.. toctree::
- :maxdepth: 2
-
-
-.. index:: kind, old-style
-
-.. _old-style-kind-specifications:
-
-Old-style kind specifications
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GNU Fortran allows old-style kind specifications in declarations. These
-look like:
-
-.. code-block:: fortran
-
- TYPESPEC*size x,y,z
-
-where ``TYPESPEC`` is a basic type (``INTEGER``, ``REAL``,
-etc.), and where ``size`` is a byte count corresponding to the
-storage size of a valid kind for that type. (For ``COMPLEX``
-variables, ``size`` is the total size of the real and imaginary
-parts.) The statement then declares ``x``, ``y`` and ``z`` to
-be of type ``TYPESPEC`` with the appropriate kind. This is
-equivalent to the standard-conforming declaration
-
-.. code-block:: fortran
-
- TYPESPEC(k) x,y,z
-
-where ``k`` is the kind parameter suitable for the intended precision. As
-kind parameters are implementation-dependent, use the ``KIND``,
-``SELECTED_INT_KIND`` and ``SELECTED_REAL_KIND`` intrinsics to retrieve
-the correct value, for instance ``REAL*8 x`` can be replaced by:
-
-.. code-block:: fortran
-
- INTEGER, PARAMETER :: dbl = KIND(1.0d0)
- REAL(KIND=dbl) :: x
-
-.. _old-style-variable-initialization:
-
-Old-style variable initialization
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GNU Fortran allows old-style initialization of variables of the
-form:
-
-.. code-block:: fortran
-
- INTEGER i/1/,j/2/
- REAL x(2,2) /3*0.,1./
-
-The syntax for the initializers is as for the ``DATA`` statement, but
-unlike in a ``DATA`` statement, an initializer only applies to the
-variable immediately preceding the initialization. In other words,
-something like ``INTEGER I,J/2,3/`` is not valid. This style of
-initialization is only allowed in declarations without double colons
-(``::``); the double colons were introduced in Fortran 90, which also
-introduced a standard syntax for initializing variables in type
-declarations.
-
-Examples of standard-conforming code equivalent to the above example
-are:
-
-.. code-block:: fortran
-
- ! Fortran 90
- INTEGER :: i = 1, j = 2
- REAL :: x(2,2) = RESHAPE((/0.,0.,0.,1./),SHAPE(x))
- ! Fortran 77
- INTEGER i, j
- REAL x(2,2)
- DATA i/1/, j/2/, x/3*0.,1./
-
-Note that variables which are explicitly initialized in declarations
-or in ``DATA`` statements automatically acquire the ``SAVE``
-attribute.
-
-.. index:: Namelist
-
-.. _extensions-to-namelist:
-
-Extensions to namelist
-^^^^^^^^^^^^^^^^^^^^^^
-
-GNU Fortran fully supports the Fortran 95 standard for namelist I/O
-including array qualifiers, substrings and fully qualified derived types.
-The output from a namelist write is compatible with namelist read. The
-output has all names in upper case and indentation to column 1 after the
-namelist name. Two extensions are permitted:
-
-Old-style use of :samp:`$` instead of :samp:`&`
-
-.. code-block::
-
- $MYNML
- X(:)%Y(2) = 1.0 2.0 3.0
- CH(1:4) = "abcd"
- $END
-
-It should be noted that the default terminator is :samp:`/` rather than
-:samp:`&END`.
-
-Querying of the namelist when inputting from stdin. After at least
-one space, entering :samp:`?` sends to stdout the namelist name and the names of
-the variables in the namelist:
-
-.. code-block::
-
- ?
-
- &mynml
- x
- x%y
- ch
- &end
-
-Entering :samp:`=?` outputs the namelist to stdout, as if
-``WRITE(*,NML = mynml)`` had been called:
-
-.. code-block::
-
- =?
-
- &MYNML
- X(1)%Y= 0.000000 , 1.000000 , 0.000000 ,
- X(2)%Y= 0.000000 , 2.000000 , 0.000000 ,
- X(3)%Y= 0.000000 , 3.000000 , 0.000000 ,
- CH=abcd, /
-
-To aid this dialog, when input is from stdin, errors send their
-messages to stderr and execution continues, even if ``IOSTAT`` is set.
-
-``PRINT`` namelist is permitted. This causes an error if
-:option:`-std=f95` is used.
-
-.. code-block:: fortran
-
- PROGRAM test_print
- REAL, dimension (4) :: x = (/1.0, 2.0, 3.0, 4.0/)
- NAMELIST /mynml/ x
- PRINT mynml
- END PROGRAM test_print
-
-Expanded namelist reads are permitted. This causes an error if
-:option:`-std=f95` is used. In the following example, the first element
-of the array will be given the value 0.00 and the two succeeding
-elements will be given the values 1.00 and 2.00.
-
-.. code-block:: fortran
-
- &MYNML
- X(1,1) = 0.00 , 1.00 , 2.00
- /
-
-When writing a namelist, if no ``DELIM=`` is specified, by default a
-double quote is used to delimit character strings. If -std=F95, F2003,
-or F2008, etc, the delim status is set to 'none'. Defaulting to
-quotes ensures that namelists with character strings can be subsequently
-read back in accurately.
-
-.. _x-format-descriptor-without-count-field:
-
-X format descriptor without count field
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To support legacy codes, GNU Fortran permits the count field of the
-``X`` edit descriptor in ``FORMAT`` statements to be omitted.
-When omitted, the count is implicitly assumed to be one.
-
-.. code-block:: fortran
-
- PRINT 10, 2, 3
- 10 FORMAT (I1, X, I1)
-
-.. _commas-in-format-specifications:
-
-Commas in FORMAT specifications
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To support legacy codes, GNU Fortran allows the comma separator
-to be omitted immediately before and after character string edit
-descriptors in ``FORMAT`` statements. A comma with no following format
-decriptor is permited if the :option:`-fdec-blank-format-item` is given on
-the command line. This is considered non-conforming code and is
-discouraged.
-
-.. code-block:: fortran
-
- PRINT 10, 2, 3
- 10 FORMAT ('FOO='I1' BAR='I2)
- print 20, 5, 6
- 20 FORMAT (I3, I3,)
-
-.. _missing-period-in-format-specifications:
-
-Missing period in FORMAT specifications
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To support legacy codes, GNU Fortran allows missing periods in format
-specifications if and only if :option:`-std=legacy` is given on the
-command line. This is considered non-conforming code and is
-discouraged.
-
-.. code-block:: fortran
-
- REAL :: value
- READ(*,10) value
- 10 FORMAT ('F4')
-
-.. _default-widths-for-f,-g-and-i-format-descriptors:
-
-Default widths for F, G and I format descriptors
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-To support legacy codes, GNU Fortran allows width to be omitted from format
-specifications if and only if :option:`-fdec-format-defaults` is given on the
-command line. Default widths will be used. This is considered non-conforming
-code and is discouraged.
-
-.. code-block:: fortran
-
- REAL :: value1
- INTEGER :: value2
- WRITE(*,10) value1, value1, value2
- 10 FORMAT ('F, G, I')
-
-.. index:: I/O item lists
-
-.. _i-o-item-lists:
-
-I/O item lists
-^^^^^^^^^^^^^^
-
-To support legacy codes, GNU Fortran allows the input item list
-of the ``READ`` statement, and the output item lists of the
-``WRITE`` and ``PRINT`` statements, to start with a comma.
-
-.. index:: Q exponent-letter
-
-Q exponent-letter
-^^^^^^^^^^^^^^^^^
-
-GNU Fortran accepts real literal constants with an exponent-letter
-of ``Q``, for example, ``1.23Q45``. The constant is interpreted
-as a ``REAL(16)`` entity on targets that support this type. If
-the target does not support ``REAL(16)`` but has a ``REAL(10)``
-type, then the real-literal-constant will be interpreted as a
-``REAL(10)`` entity. In the absence of ``REAL(16)`` and
-``REAL(10)``, an error will occur.
-
-.. index:: BOZ literal constants
-
-.. _boz-literal-constants:
-
-BOZ literal constants
-^^^^^^^^^^^^^^^^^^^^^
-
-Besides decimal constants, Fortran also supports binary (``b``),
-octal (``o``) and hexadecimal (``z``) integer constants. The
-syntax is: :samp:`prefix quote digits quote`, where the prefix is
-either ``b``, ``o`` or ``z``, quote is either ``'`` or
-``"`` and the digits are ``0`` or ``1`` for binary,
-between ``0`` and ``7`` for octal, and between ``0`` and
-``F`` for hexadecimal. (Example: ``b'01011101'``.)
-
-Up to Fortran 95, BOZ literal constants were only allowed to initialize
-integer variables in DATA statements. Since Fortran 2003 BOZ literal
-constants are also allowed as actual arguments to the ``REAL``,
-``DBLE``, ``INT`` and ``CMPLX`` intrinsic functions.
-The BOZ literal constant is simply a string of bits, which is padded
-or truncated as needed, during conversion to a numeric type. The
-Fortran standard states that the treatment of the sign bit is processor
-dependent. Gfortran interprets the sign bit as a user would expect.
-
-As a deprecated extension, GNU Fortran allows hexadecimal BOZ literal
-constants to be specified using the ``X`` prefix. That the BOZ literal
-constant can also be specified by adding a suffix to the string, for
-example, ``Z'ABC'`` and ``'ABC'X`` are equivalent. Additionally,
-as extension, BOZ literals are permitted in some contexts outside of
-``DATA`` and the intrinsic functions listed in the Fortran standard.
-Use :option:`-fallow-invalid-boz` to enable the extension.
-
-.. index:: array, indices of type real
-
-.. _real-array-indices:
-
-Real array indices
-^^^^^^^^^^^^^^^^^^
-
-As an extension, GNU Fortran allows the use of ``REAL`` expressions
-or variables as array indices.
-
-.. index:: operators, unary
-
-.. _unary-operators:
-
-Unary operators
-^^^^^^^^^^^^^^^
-
-As an extension, GNU Fortran allows unary plus and unary minus operators
-to appear as the second operand of binary arithmetic operators without
-the need for parenthesis.
-
-.. code-block:: fortran
-
- X = Y * -Z
-
-.. index:: conversion, to integer, conversion, to logical
-
-.. _implicitly-convert-logical-and-integer-values:
-
-Implicitly convert LOGICAL and INTEGER values
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-As an extension for backwards compatibility with other compilers, GNU
-Fortran allows the implicit conversion of ``LOGICAL`` values to
-``INTEGER`` values and vice versa. When converting from a
-``LOGICAL`` to an ``INTEGER``, ``.FALSE.`` is interpreted as
-zero, and ``.TRUE.`` is interpreted as one. When converting from
-``INTEGER`` to ``LOGICAL``, the value zero is interpreted as
-``.FALSE.`` and any nonzero value is interpreted as ``.TRUE.``.
-
-.. code-block:: fortran
-
- LOGICAL :: l
- l = 1
-
-.. code-block:: fortran
-
- INTEGER :: i
- i = .TRUE.
-
-However, there is no implicit conversion of ``INTEGER`` values in
-``if`` -statements, nor of ``LOGICAL`` or ``INTEGER`` values
-in I/O operations.
-
-.. index:: Hollerith constants
-
-.. _hollerith-constants-support:
-
-Hollerith constants support
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GNU Fortran supports Hollerith constants in assignments, ``DATA``
-statements, function and subroutine arguments. A Hollerith constant is
-written as a string of characters preceded by an integer constant
-indicating the character count, and the letter ``H`` or
-``h``, and stored in bytewise fashion in a numeric (``INTEGER``,
-``REAL``, or ``COMPLEX``), ``LOGICAL`` or ``CHARACTER`` variable.
-The constant will be padded with spaces or truncated to fit the size of
-the variable in which it is stored.
-
-Examples of valid uses of Hollerith constants:
-
-.. code-block:: fortran
-
- complex*16 x(2)
- data x /16Habcdefghijklmnop, 16Hqrstuvwxyz012345/
- x(1) = 16HABCDEFGHIJKLMNOP
- call foo (4h abc)
-
-Examples of Hollerith constants:
-
-.. code-block:: fortran
-
- integer*4 a
- a = 0H ! Invalid, at least one character is needed.
- a = 4HAB12 ! Valid
- a = 8H12345678 ! Valid, but the Hollerith constant will be truncated.
- a = 3Hxyz ! Valid, but the Hollerith constant will be padded.
-
-In general, Hollerith constants were used to provide a rudimentary
-facility for handling character strings in early Fortran compilers,
-prior to the introduction of ``CHARACTER`` variables in Fortran 77;
-in those cases, the standard-compliant equivalent is to convert the
-program to use proper character strings. On occasion, there may be a
-case where the intent is specifically to initialize a numeric variable
-with a given byte sequence. In these cases, the same result can be
-obtained by using the ``TRANSFER`` statement, as in this example.
-
-.. code-block:: fortran
-
- integer(kind=4) :: a
- a = transfer ("abcd", a) ! equivalent to: a = 4Habcd
-
-The use of the :option:`-fdec` option extends support of Hollerith constants
-to comparisons:
-
-.. code-block:: fortran
-
- integer*4 a
- a = 4hABCD
- if (a .ne. 4habcd) then
- write(*,*) "no match"
- end if
-
-Supported types are numeric (``INTEGER``, ``REAL``, or ``COMPLEX``),
-and ``CHARACTER``.
-
-.. index:: conversion, to character
-
-.. _character-conversion:
-
-Character conversion
-^^^^^^^^^^^^^^^^^^^^
-
-Allowing character literals to be used in a similar way to Hollerith constants
-is a non-standard extension. This feature is enabled using
--fdec-char-conversions and only applies to character literals of ``kind=1``.
-
-Character literals can be used in ``DATA`` statements and assignments with
-numeric (``INTEGER``, ``REAL``, or ``COMPLEX``) or ``LOGICAL``
-variables. Like Hollerith constants they are copied byte-wise fashion. The
-constant will be padded with spaces or truncated to fit the size of the
-variable in which it is stored.
-
-Examples:
-
-.. code-block:: fortran
-
- integer*4 x
- data x / 'abcd' /
-
- x = 'A' ! Will be padded.
- x = 'ab1234' ! Will be truncated.
-
-.. index:: pointer, Cray
-
-.. _cray-pointers:
-
-Cray pointers
-^^^^^^^^^^^^^
-
-Cray pointers are part of a non-standard extension that provides a
-C-like pointer in Fortran. This is accomplished through a pair of
-variables: an integer "pointer" that holds a memory address, and a
-"pointee" that is used to dereference the pointer.
-
-Pointer/pointee pairs are declared in statements of the form:
-
-.. code-block:: fortran
-
- pointer ( <pointer> , <pointee> )
-
-or,
-
-.. code-block:: fortran
-
- pointer ( <pointer1> , <pointee1> ), ( <pointer2> , <pointee2> ), ...
-
-The pointer is an integer that is intended to hold a memory address.
-The pointee may be an array or scalar.
-If an assumed-size array is permitted within the scoping unit, a
-pointee can be an assumed-size array.
-That is, the last dimension may be left unspecified by using a ``*``
-in place of a value. A pointee cannot be an assumed shape array.
-No space is allocated for the pointee.
-
-The pointee may have its type declared before or after the pointer
-statement, and its array specification (if any) may be declared
-before, during, or after the pointer statement. The pointer may be
-declared as an integer prior to the pointer statement. However, some
-machines have default integer sizes that are different than the size
-of a pointer, and so the following code is not portable:
-
-.. code-block:: fortran
-
- integer ipt
- pointer (ipt, iarr)
-
-If a pointer is declared with a kind that is too small, the compiler
-will issue a warning; the resulting binary will probably not work
-correctly, because the memory addresses stored in the pointers may be
-truncated. It is safer to omit the first line of the above example;
-if explicit declaration of ipt's type is omitted, then the compiler
-will ensure that ipt is an integer variable large enough to hold a
-pointer.
-
-Pointer arithmetic is valid with Cray pointers, but it is not the same
-as C pointer arithmetic. Cray pointers are just ordinary integers, so
-the user is responsible for determining how many bytes to add to a
-pointer in order to increment it. Consider the following example:
-
-.. code-block:: fortran
-
- real target(10)
- real pointee(10)
- pointer (ipt, pointee)
- ipt = loc (target)
- ipt = ipt + 1
-
-The last statement does not set ``ipt`` to the address of
-``target(1)``, as it would in C pointer arithmetic. Adding ``1``
-to ``ipt`` just adds one byte to the address stored in ``ipt``.
-
-Any expression involving the pointee will be translated to use the
-value stored in the pointer as the base address.
-
-To get the address of elements, this extension provides an intrinsic
-function ``LOC()``. The ``LOC()`` function is equivalent to the
-``&`` operator in C, except the address is cast to an integer type:
-
-.. code-block:: fortran
-
- real ar(10)
- pointer(ipt, arpte(10))
- real arpte
- ipt = loc(ar) ! Makes arpte is an alias for ar
- arpte(1) = 1.0 ! Sets ar(1) to 1.0
-
-The pointer can also be set by a call to the ``MALLOC`` intrinsic
-(see :ref:`MALLOC`).
-
-Cray pointees often are used to alias an existing variable. For
-example:
-
-.. code-block:: fortran
-
- integer target(10)
- integer iarr(10)
- pointer (ipt, iarr)
- ipt = loc(target)
-
-As long as ``ipt`` remains unchanged, ``iarr`` is now an alias for
-``target``. The optimizer, however, will not detect this aliasing, so
-it is unsafe to use ``iarr`` and ``target`` simultaneously. Using
-a pointee in any way that violates the Fortran aliasing rules or
-assumptions is illegal. It is the user's responsibility to avoid doing
-this; the compiler works under the assumption that no such aliasing
-occurs.
-
-Cray pointers will work correctly when there is no aliasing (i.e., when
-they are used to access a dynamically allocated block of memory), and
-also in any routine where a pointee is used, but any variable with which
-it shares storage is not used. Code that violates these rules may not
-run as the user intends. This is not a bug in the optimizer; any code
-that violates the aliasing rules is illegal. (Note that this is not
-unique to GNU Fortran; any Fortran compiler that supports Cray pointers
-will 'incorrectly' optimize code with illegal aliasing.)
-
-There are a number of restrictions on the attributes that can be applied
-to Cray pointers and pointees. Pointees may not have the
-``ALLOCATABLE``, ``INTENT``, ``OPTIONAL``, ``DUMMY``,
-``TARGET``, ``INTRINSIC``, or ``POINTER`` attributes. Pointers
-may not have the ``DIMENSION``, ``POINTER``, ``TARGET``,
-``ALLOCATABLE``, ``EXTERNAL``, or ``INTRINSIC`` attributes, nor
-may they be function results. Pointees may not occur in more than one
-pointer statement. A pointee cannot be a pointer. Pointees cannot occur
-in equivalence, common, or data statements.
-
-A Cray pointer may also point to a function or a subroutine. For
-example, the following excerpt is valid:
-
-.. code-block:: fortran
-
- implicit none
- external sub
- pointer (subptr,subpte)
- external subpte
- subptr = loc(sub)
- call subpte()
- [...]
- subroutine sub
- [...]
- end subroutine sub
-
-A pointer may be modified during the course of a program, and this
-will change the location to which the pointee refers. However, when
-pointees are passed as arguments, they are treated as ordinary
-variables in the invoked function. Subsequent changes to the pointer
-will not change the base address of the array that was passed.
-
-.. index:: CONVERT specifier
-
-.. _convert-specifier:
-
-CONVERT specifier
-^^^^^^^^^^^^^^^^^
-
-GNU Fortran allows the conversion of unformatted data between little-
-and big-endian representation to facilitate moving of data
-between different systems. The conversion can be indicated with
-the ``CONVERT`` specifier on the ``OPEN`` statement.
-See :ref:`gfortran_convert_unit`, for an alternative way of specifying
-the data format via an environment variable.
-
-Valid values for ``CONVERT`` on most systems are:
-
-* ``CONVERT='NATIVE'`` Use the native format. This is the default.
-
-* ``CONVERT='SWAP'`` Swap between little- and big-endian.
-
-* ``CONVERT='LITTLE_ENDIAN'`` Use the little-endian representation
- for unformatted files.
-
-* ``CONVERT='BIG_ENDIAN'`` Use the big-endian representation for
- unformatted files.
-
-On POWER systems which support :option:`-mabi=ieeelongdouble`,
-there are additional options, which can be combined with the others
-with commas. Those are
-
-* ``CONVERT='R16_IEEE'`` Use IEEE 128-bit format for
- ``REAL(KIND=16)``.
-
-* ``CONVERT='R16_IBM'`` Use IBM ``long double`` format for
- real ``REAL(KIND=16)``.
-
-Using the option could look like this:
-
-.. code-block:: fortran
-
- open(file='big.dat',form='unformatted',access='sequential', &
- convert='big_endian')
-
-The value of the conversion can be queried by using
-``INQUIRE(CONVERT=ch)``. The values returned are
-``'BIG_ENDIAN'`` and ``'LITTLE_ENDIAN'``.
-
-``CONVERT`` works between big- and little-endian for
-``INTEGER`` values of all supported kinds and for ``REAL``
-on IEEE systems of kinds 4 and 8. Conversion between different
-'extended double' types on different architectures such as
-m68k and x86_64, which GNU Fortran
-supports as ``REAL(KIND=10)`` and ``REAL(KIND=16)``, will
-probably not work.
-
-*Note that the values specified via the GFORTRAN_CONVERT_UNIT
-environment variable will override the CONVERT specifier in the
-open statement*. This is to give control over data formats to
-users who do not have the source code of their program available.
-
-Using anything but the native representation for unformatted data
-carries a significant speed overhead. If speed in this area matters
-to you, it is best if you use this only for data that needs to be
-portable.
-
-.. index:: OpenMP
-
-.. _openmp:
-
-OpenMP
-^^^^^^
-
-OpenMP (Open Multi-Processing) is an application programming
-interface (API) that supports multi-platform shared memory
-multiprocessing programming in C/C++ and Fortran on many
-architectures, including Unix and Microsoft Windows platforms.
-It consists of a set of compiler directives, library routines,
-and environment variables that influence run-time behavior.
-
-GNU Fortran strives to be compatible to the
-`OpenMP Application Program Interface v4.5 <https://openmp.org/specifications/>`_.
-
-To enable the processing of the OpenMP directive ``!$omp`` in
-free-form source code; the ``c$omp``, ``*$omp`` and ``!$omp``
-directives in fixed form; the ``!$`` conditional compilation sentinels
-in free form; and the ``c$``, ``*$`` and ``!$`` sentinels
-in fixed form, :command:`gfortran` needs to be invoked with the
-:option:`-fopenmp`. This also arranges for automatic linking of the
-GNU Offloading and Multi Processing Runtime Library
-:ref:`libgomp:top`.
-
-The OpenMP Fortran runtime library routines are provided both in a
-form of a Fortran 90 module named ``omp_lib`` and in a form of
-a Fortran ``include`` file named :samp:`omp_lib.h`.
-
-An example of a parallelized loop taken from Appendix A.1 of
-the OpenMP Application Program Interface v2.5:
-
-.. code-block:: fortran
-
- SUBROUTINE A1(N, A, B)
- INTEGER I, N
- REAL B(N), A(N)
- !$OMP PARALLEL DO !I is private by default
- DO I=2,N
- B(I) = (A(I) + A(I-1)) / 2.0
- ENDDO
- !$OMP END PARALLEL DO
- END SUBROUTINE A1
-
-.. note::
-
- :option:`-fopenmp` implies :option:`-frecursive`, i.e., all local arrays
- will be allocated on the stack. When porting existing code to OpenMP,
- this may lead to surprising results, especially to segmentation faults
- if the stacksize is limited.
-
-.. note::
-
- On glibc-based systems, OpenMP enabled applications cannot be statically
- linked due to limitations of the underlying pthreads-implementation. It
- might be possible to get a working solution if
- :command:`-Wl,--whole-archive -lpthread -Wl,--no-whole-archive` is added
- to the command line. However, this is not supported by :command:`gcc` and
- thus not recommended.
-
-.. index:: OpenACC
-
-.. _openacc:
-
-OpenACC
-^^^^^^^
-
-OpenACC is an application programming interface (API) that supports
-offloading of code to accelerator devices. It consists of a set of
-compiler directives, library routines, and environment variables that
-influence run-time behavior.
-
-GNU Fortran strives to be compatible to the
-`OpenACC Application Programming
-Interface v2.6 <https://www.openacc.org/>`_.
-
-To enable the processing of the OpenACC directive ``!$acc`` in
-free-form source code; the ``c$acc``, ``*$acc`` and ``!$acc``
-directives in fixed form; the ``!$`` conditional compilation
-sentinels in free form; and the ``c$``, ``*$`` and ``!$``
-sentinels in fixed form, :command:`gfortran` needs to be invoked with
-the :option:`-fopenacc`. This also arranges for automatic linking of
-the GNU Offloading and Multi Processing Runtime Library
-:ref:`libgomp:top`.
-
-The OpenACC Fortran runtime library routines are provided both in a
-form of a Fortran 90 module named ``openacc`` and in a form of a
-Fortran ``include`` file named :samp:`openacc_lib.h`.
-
-.. index:: argument list functions, %VAL, %REF, %LOC
-
-.. _argument-list-functions:
-
-Argument list functions %VAL, %REF and %LOC
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GNU Fortran supports argument list functions ``%VAL``, ``%REF``
-and ``%LOC`` statements, for backward compatibility with g77.
-It is recommended that these should be used only for code that is
-accessing facilities outside of GNU Fortran, such as operating system
-or windowing facilities. It is best to constrain such uses to isolated
-portions of a program--portions that deal specifically and exclusively
-with low-level, system-dependent facilities. Such portions might well
-provide a portable interface for use by the program as a whole, but are
-themselves not portable, and should be thoroughly tested each time they
-are rebuilt using a new compiler or version of a compiler.
-
-``%VAL`` passes a scalar argument by value, ``%REF`` passes it by
-reference and ``%LOC`` passes its memory location. Since gfortran
-already passes scalar arguments by reference, ``%REF`` is in effect
-a do-nothing. ``%LOC`` has the same effect as a Fortran pointer.
-
-An example of passing an argument by value to a C subroutine foo.:
-
-.. code-block:: fortran
-
- C
- C prototype void foo_ (float x);
- C
- external foo
- real*4 x
- x = 3.14159
- call foo (%VAL (x))
- end
-
-For details refer to the g77 manual
-https://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/index.html#Top.
-
-Also, ``c_by_val.f`` and its partner ``c_by_val.c`` of the
-GNU Fortran testsuite are worth a look.
-
-.. index:: EOF, BACKSPACE, REWIND
-
-.. _read-write-after-eof-marker:
-
-Read/Write after EOF marker
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Some legacy codes rely on allowing ``READ`` or ``WRITE`` after the
-EOF file marker in order to find the end of a file. GNU Fortran normally
-rejects these codes with a run-time error message and suggests the user
-consider ``BACKSPACE`` or ``REWIND`` to properly position
-the file before the EOF marker. As an extension, the run-time error may
-be disabled using -std=legacy.
-
-.. index:: STRUCTURE, RECORD
-
-.. _structure-and-record:
-
-STRUCTURE and RECORD
-^^^^^^^^^^^^^^^^^^^^
-
-Record structures are a pre-Fortran-90 vendor extension to create
-user-defined aggregate data types. Support for record structures in GNU
-Fortran can be enabled with the :option:`-fdec-structure` compile flag.
-If you have a choice, you should instead use Fortran 90's 'derived types',
-which have a different syntax.
-
-In many cases, record structures can easily be converted to derived types.
-To convert, replace ``STRUCTURE /``:samp:`{structure-name}` ``/``
-by ``TYPE`` :samp:`{type-name}`. Additionally, replace
-``RECORD /``:samp:`{structure-name}` ``/`` by
-``TYPE(``:samp:`{type-name}` ``)``. Finally, in the component access,
-replace the period (``.``) by the percent sign (``%``).
-
-Here is an example of code using the non portable record structure syntax:
-
-.. code-block:: fortran
-
- ! Declaring a structure named ``item'' and containing three fields:
- ! an integer ID, an description string and a floating-point price.
- STRUCTURE /item/
- INTEGER id
- CHARACTER(LEN=200) description
- REAL price
- END STRUCTURE
-
- ! Define two variables, an single record of type ``item''
- ! named ``pear'', and an array of items named ``store_catalog''
- RECORD /item/ pear, store_catalog(100)
-
- ! We can directly access the fields of both variables
- pear.id = 92316
- pear.description = "juicy D'Anjou pear"
- pear.price = 0.15
- store_catalog(7).id = 7831
- store_catalog(7).description = "milk bottle"
- store_catalog(7).price = 1.2
-
- ! We can also manipulate the whole structure
- store_catalog(12) = pear
- print *, store_catalog(12)
-
-This code can easily be rewritten in the Fortran 90 syntax as following:
-
-.. code-block:: fortran
-
- ! ``STRUCTURE /name/ ... END STRUCTURE'' becomes
- ! ``TYPE name ... END TYPE''
- TYPE item
- INTEGER id
- CHARACTER(LEN=200) description
- REAL price
- END TYPE
-
- ! ``RECORD /name/ variable'' becomes ``TYPE(name) variable''
- TYPE(item) pear, store_catalog(100)
-
- ! Instead of using a dot (.) to access fields of a record, the
- ! standard syntax uses a percent sign (%)
- pear%id = 92316
- pear%description = "juicy D'Anjou pear"
- pear%price = 0.15
- store_catalog(7)%id = 7831
- store_catalog(7)%description = "milk bottle"
- store_catalog(7)%price = 1.2
-
- ! Assignments of a whole variable do not change
- store_catalog(12) = pear
- print *, store_catalog(12)
-
-GNU Fortran implements STRUCTURES like derived types with the following
-rules and exceptions:
-
-* Structures act like derived types with the ``SEQUENCE`` attribute.
- Otherwise they may contain no specifiers.
-
-* Structures may contain a special field with the name ``%FILL``.
- This will create an anonymous component which cannot be accessed but occupies
- space just as if a component of the same type was declared in its place, useful
- for alignment purposes. As an example, the following structure will consist
- of at least sixteen bytes:
-
- .. code-block:: fortran
-
- structure /padded/
- character(4) start
- character(8) %FILL
- character(4) end
- end structure
-
-* Structures may share names with other symbols. For example, the following
- is invalid for derived types, but valid for structures:
-
- .. code-block:: fortran
-
- structure /header/
- ! ...
- end structure
- record /header/ header
-
-* Structure types may be declared nested within another parent structure.
- The syntax is:
-
- .. code-block:: fortran
-
- structure /type-name/
- ...
- structure [/<type-name>/] <field-list>
- ...
-
- The type name may be ommitted, in which case the structure type itself is
- anonymous, and other structures of the same type cannot be instantiated. The
- following shows some examples:
-
- .. code-block:: fortran
-
- structure /appointment/
- ! nested structure definition: app_time is an array of two 'time'
- structure /time/ app_time (2)
- integer(1) hour, minute
- end structure
- character(10) memo
- end structure
-
- ! The 'time' structure is still usable
- record /time/ now
- now = time(5, 30)
-
- ...
-
- structure /appointment/
- ! anonymous nested structure definition
- structure start, end
- integer(1) hour, minute
- end structure
- character(10) memo
- end structure
-
-* Structures may contain ``UNION`` blocks. For more detail see the
- section on :ref:`union-and-map`.
-
-* Structures support old-style initialization of components, like
- those described in :ref:`old-style-variable-initialization`. For array
- initializers, an initializer may contain a repeat specification of the form
- ``<literal-integer> * <constant-initializer>``. The value of the integer
- indicates the number of times to repeat the constant initializer when expanding
- the initializer list.
-
-.. index:: UNION, MAP
-
-.. _union-and-map:
-
-UNION and MAP
-^^^^^^^^^^^^^
-
-Unions are an old vendor extension which were commonly used with the
-non-standard :ref:`structure-and-record` extensions. Use of ``UNION`` and
-``MAP`` is automatically enabled with :option:`-fdec-structure`.
-
-A ``UNION`` declaration occurs within a structure; within the definition of
-each union is a number of ``MAP`` blocks. Each ``MAP`` shares storage
-with its sibling maps (in the same union), and the size of the union is the
-size of the largest map within it, just as with unions in C. The major
-difference is that component references do not indicate which union or map the
-component is in (the compiler gets to figure that out).
-
-Here is a small example:
-
-.. code-block:: fortran
-
- structure /myunion/
- union
- map
- character(2) w0, w1, w2
- end map
- map
- character(6) long
- end map
- end union
- end structure
-
- record /myunion/ rec
- ! After this assignment...
- rec.long = 'hello!'
-
- ! The following is true:
- ! rec.w0 === 'he'
- ! rec.w1 === 'll'
- ! rec.w2 === 'o!'
-
-The two maps share memory, and the size of the union is ultimately six bytes:
-
-.. code-block::
-
- 0 1 2 3 4 5 6 Byte offset
- -------------------------------
- | | | | | | |
- -------------------------------
-
- ^ W0 ^ W1 ^ W2 ^
- \-------/ \-------/ \-------/
-
- ^ LONG ^
- \---------------------------/
-
-Following is an example mirroring the layout of an Intel x86_64 register:
-
-.. code-block:: fortran
-
- structure /reg/
- union ! U0 ! rax
- map
- character(16) rx
- end map
- map
- character(8) rh ! rah
- union ! U1
- map
- character(8) rl ! ral
- end map
- map
- character(8) ex ! eax
- end map
- map
- character(4) eh ! eah
- union ! U2
- map
- character(4) el ! eal
- end map
- map
- character(4) x ! ax
- end map
- map
- character(2) h ! ah
- character(2) l ! al
- end map
- end union
- end map
- end union
- end map
- end union
- end structure
- record /reg/ a
-
- ! After this assignment...
- a.rx = 'AAAAAAAA.BBB.C.D'
-
- ! The following is true:
- a.rx === 'AAAAAAAA.BBB.C.D'
- a.rh === 'AAAAAAAA'
- a.rl === '.BBB.C.D'
- a.ex === '.BBB.C.D'
- a.eh === '.BBB'
- a.el === '.C.D'
- a.x === '.C.D'
- a.h === '.C'
- a.l === '.D'
-
-.. index:: intrinsics, integer
-
-.. _type-variants-for-integer-intrinsics:
-
-Type variants for integer intrinsics
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Similar to the D/C prefixes to real functions to specify the input/output
-types, GNU Fortran offers B/I/J/K prefixes to integer functions for
-compatibility with DEC programs. The types implied by each are:
-
-.. code-block:: fortran
-
- B - INTEGER(kind=1)
- I - INTEGER(kind=2)
- J - INTEGER(kind=4)
- K - INTEGER(kind=8)
-
-GNU Fortran supports these with the flag :option:`-fdec-intrinsic-ints`.
-Intrinsics for which prefixed versions are available and in what form are noted
-in :ref:`intrinsic-procedures`. The complete list of supported intrinsics is
-here:
-
-.. list-table::
- :header-rows: 1
-
- * - Intrinsic
- - B
- - I
- - J
- - K
-
- * - ``ABS``
- - ``BABS``
- - ``IIABS``
- - ``JIABS``
- - ``KIABS``
- * - ``BTEST``
- - ``BBTEST``
- - ``BITEST``
- - ``BJTEST``
- - ``BKTEST``
- * - ``IAND``
- - ``BIAND``
- - ``IIAND``
- - ``JIAND``
- - ``KIAND``
- * - ``IBCLR``
- - ``BBCLR``
- - ``IIBCLR``
- - ``JIBCLR``
- - ``KIBCLR``
- * - ``IBITS``
- - ``BBITS``
- - ``IIBITS``
- - ``JIBITS``
- - ``KIBITS``
- * - ``IBSET``
- - ``BBSET``
- - ``IIBSET``
- - ``JIBSET``
- - ``KIBSET``
- * - ``IEOR``
- - ``BIEOR``
- - ``IIEOR``
- - ``JIEOR``
- - ``KIEOR``
- * - ``IOR``
- - ``BIOR``
- - ``IIOR``
- - ``JIOR``
- - ``KIOR``
- * - ``ISHFT``
- - ``BSHFT``
- - ``IISHFT``
- - ``JISHFT``
- - ``KISHFT``
- * - ``ISHFTC``
- - ``BSHFTC``
- - ``IISHFTC``
- - ``JISHFTC``
- - ``KISHFTC``
- * - ``MOD``
- - ``BMOD``
- - ``IMOD``
- - ``JMOD``
- - ``KMOD``
- * - ``NOT``
- - ``BNOT``
- - ``INOT``
- - ``JNOT``
- - ``KNOT``
- * - ``REAL``
- - ``--``
- - ``FLOATI``
- - ``FLOATJ``
- - ``FLOATK``
-
-.. _automatic-and-static-attributes:
-
-AUTOMATIC and STATIC attributes
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-With :option:`-fdec-static` GNU Fortran supports the DEC extended attributes
-``STATIC`` and ``AUTOMATIC`` to provide explicit specification of entity
-storage. These follow the syntax of the Fortran standard ``SAVE`` attribute.
-
-``STATIC`` is exactly equivalent to ``SAVE``, and specifies that
-an entity should be allocated in static memory. As an example, ``STATIC``
-local variables will retain their values across multiple calls to a function.
-
-Entities marked ``AUTOMATIC`` will be stack automatic whenever possible.
-``AUTOMATIC`` is the default for local variables smaller than
-:option:`-fmax-stack-var-size`, unless :option:`-fno-automatic` is given. This
-attribute overrides :option:`-fno-automatic`, :option:`-fmax-stack-var-size`, and
-blanket ``SAVE`` statements.
-
-Examples:
-
-.. code-block:: fortran
-
- subroutine f
- integer, automatic :: i ! automatic variable
- integer x, y ! static variables
- save
- ...
- endsubroutine
-
-.. code-block:: fortran
-
- subroutine f
- integer a, b, c, x, y, z
- static :: x
- save y
- automatic z, c
- ! a, b, c, and z are automatic
- ! x and y are static
- endsubroutine
-
-.. code-block:: fortran
-
- ! Compiled with -fno-automatic
- subroutine f
- integer a, b, c, d
- automatic :: a
- ! a is automatic; b, c, and d are static
- endsubroutine
-
-.. index:: intrinsics, math, intrinsics, trigonometric functions
-
-.. _extended-math-intrinsics:
-
-Extended math intrinsics
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-GNU Fortran supports an extended list of mathematical intrinsics with the
-compile flag :option:`-fdec-math` for compatability with legacy code.
-These intrinsics are described fully in :ref:`intrinsic-procedures` where it is
-noted that they are extensions and should be avoided whenever possible.
-
-Specifically, :option:`-fdec-math` enables the :ref:`COTAN` intrinsic, and
-trigonometric intrinsics which accept or produce values in degrees instead of
-radians. Here is a summary of the new intrinsics:
-
-.. list-table::
- :header-rows: 1
-
- * - Radians
- - Degrees
-
- * - ``ACOS``
- - ``ACOSD`` \*
- * - ``ASIN``
- - ``ASIND`` \*
- * - ``ATAN``
- - ``ATAND`` \*
- * - ``ATAN2``
- - ``ATAN2D`` \*
- * - ``COS``
- - ``COSD`` \*
- * - ``COTAN`` \*
- - ``COTAND`` \*
- * - ``SIN``
- - ``SIND`` \*
- * - ``TAN``
- - ``TAND`` \*
-
-\* Enabled with :option:`-fdec-math`.
-
-For advanced users, it may be important to know the implementation of these
-functions. They are simply wrappers around the standard radian functions, which
-have more accurate builtin versions. These functions convert their arguments
-(or results) to degrees (or radians) by taking the value modulus 360 (or 2\*pi)
-and then multiplying it by a constant radian-to-degree (or degree-to-radian)
-factor, as appropriate. The factor is computed at compile-time as 180/pi (or
-pi/180).
-
-.. index:: form feed whitespace
-
-.. _form-feed-as-whitespace:
-
-Form feed as whitespace
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Historically, legacy compilers allowed insertion of form feed characters ('\f',
-ASCII 0xC) at the beginning of lines for formatted output to line printers,
-though the Fortran standard does not mention this. GNU Fortran supports the
-interpretation of form feed characters in source as whitespace for
-compatibility.
-
-.. index:: type alias print
-
-.. _type-as-an-alias-for-print:
-
-TYPE as an alias for PRINT
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-For compatibility, GNU Fortran will interpret ``TYPE`` statements as
-``PRINT`` statements with the flag :option:`-fdec`. With this flag asserted,
-the following two examples are equivalent:
-
-.. code-block:: fortran
-
- TYPE *, 'hello world'
-
-.. code-block:: fortran
-
- PRINT *, 'hello world'
-
-.. index:: LOC
-
-.. _%loc-as-an-rvalue:
-
-%LOC as an rvalue
-^^^^^^^^^^^^^^^^^
-
-Normally ``%LOC`` is allowed only in parameter lists. However the intrinsic
-function ``LOC`` does the same thing, and is usable as the right-hand-side of
-assignments. For compatibility, GNU Fortran supports the use of ``%LOC`` as
-an alias for the builtin ``LOC`` with :option:`-std=legacy`. With this
-feature enabled the following two examples are equivalent:
-
-.. code-block:: fortran
-
- integer :: i, l
- l = %loc(i)
- call sub(l)
-
-.. code-block:: fortran
-
- integer :: i
- call sub(%loc(i))
-
-.. index:: operators, xor
-
-.. _.xor.-operator:
-
-.XOR. operator
-^^^^^^^^^^^^^^
-
-GNU Fortran supports ``.XOR.`` as a logical operator with ``-std=legacy``
-for compatibility with legacy code. ``.XOR.`` is equivalent to
-``.NEQV.``. That is, the output is true if and only if the inputs differ.
-
-.. index:: logical, bitwise
-
-.. _bitwise-logical-operators:
-
-Bitwise logical operators
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-With :option:`-fdec`, GNU Fortran relaxes the type constraints on
-logical operators to allow integer operands, and performs the corresponding
-bitwise operation instead. This flag is for compatibility only, and should be
-avoided in new code. Consider:
-
-.. code-block:: fortran
-
- INTEGER :: i, j
- i = z'33'
- j = z'cc'
- print *, i .AND. j
-
-In this example, compiled with :option:`-fdec`, GNU Fortran will
-replace the ``.AND.`` operation with a call to the intrinsic
-function, yielding the bitwise-and of ``i`` and ``j``.
-
-Note that this conversion will occur if at least one operand is of integral
-type. As a result, a logical operand will be converted to an integer when the
-other operand is an integer in a logical operation. In this case,
-``.TRUE.`` is converted to ``1`` and ``.FALSE.`` to ``0``.
-
-Here is the mapping of logical operator to bitwise intrinsic used with
-:option:`-fdec` :
-
-.. list-table::
- :header-rows: 1
-
- * - Operator
- - Intrinsic
- - Bitwise operation
-
- * - ``.NOT.``
- - ``NOT``
- - complement
- * - ``.AND.``
- - ``IAND``
- - intersection
- * - ``.OR.``
- - ``IOR``
- - union
- * - ``.NEQV.``
- - ``IEOR``
- - exclusive or
- * - ``.EQV.``
- - ``NOT(IEOR)``
- - complement of exclusive or
-
-.. _extended-i-o-specifiers:
-
-Extended I/O specifiers
-^^^^^^^^^^^^^^^^^^^^^^^
-
-GNU Fortran supports the additional legacy I/O specifiers
-``CARRIAGECONTROL``, ``READONLY``, and ``SHARE`` with the
-compile flag :option:`-fdec`, for compatibility.
-
-.. envvar:: CARRIAGECONTROL
-
- The ``CARRIAGECONTROL`` specifier allows a user to control line
- termination settings between output records for an I/O unit. The specifier has
- no meaning for readonly files. When ``CARRAIGECONTROL`` is specified upon
- opening a unit for formatted writing, the exact ``CARRIAGECONTROL`` setting
- determines what characters to write between output records. The syntax is:
-
- .. code-block:: fortran
-
- OPEN(..., CARRIAGECONTROL=cc)
-
- Where *cc* is a character expression that evaluates to one of the
- following values:
-
- .. list-table::
-
- * - ``'LIST'``
- - One line feed between records (default)
- * - ``'FORTRAN'``
- - Legacy interpretation of the first character (see below)
- * - ``'NONE'``
- - No separator between records
-
- With ``CARRIAGECONTROL='FORTRAN'``, when a record is written, the first
- character of the input record is not written, and instead determines the output
- record separator as follows:
-
- .. list-table::
- :header-rows: 1
-
- * - Leading character
- - Meaning
- - Output separating character(s)
-
- * - ``'+'``
- - Overprinting
- - Carriage return only
- * - ``'-'``
- - New line
- - Line feed and carriage return
- * - ``'0'``
- - Skip line
- - Two line feeds and carriage return
- * - ``'1'``
- - New page
- - Form feed and carriage return
- * - ``'$'``
- - Prompting
- - Line feed (no carriage return)
- * - ``CHAR(0)``
- - Overprinting (no advance)
- - None
-
-.. envvar:: READONLY
-
- The ``READONLY`` specifier may be given upon opening a unit, and is
- equivalent to specifying ``ACTION='READ'``, except that the file may not be
- deleted on close (i.e. ``CLOSE`` with ``STATUS="DELETE"``). The syntax
- is:
-
- .. code-block:: fortran
-
- OPEN(..., READONLY)
-
-.. envvar:: SHARE
-
- The ``SHARE`` specifier allows system-level locking on a unit upon opening
- it for controlled access from multiple processes/threads. The ``SHARE``
- specifier has several forms:
-
- .. code-block:: fortran
-
- OPEN(..., SHARE=sh)
- OPEN(..., SHARED)
- OPEN(..., NOSHARED)
-
- Where *sh* in the first form is a character expression that evaluates to
- a value as seen in the table below. The latter two forms are aliases
- for particular values of *sh*:
-
- .. list-table::
- :header-rows: 1
-
- * - Explicit form
- - Short form
- - Meaning
-
- * - ``SHARE='DENYRW'``
- - ``NOSHARED``
- - Exclusive (write) lock
- * - ``SHARE='DENYNONE'``
- - ``SHARED``
- - Shared (read) lock
-
- In general only one process may hold an exclusive (write) lock for a given file
- at a time, whereas many processes may hold shared (read) locks for the same
- file.
-
- The behavior of locking may vary with your operating system. On POSIX systems,
- locking is implemented with ``fcntl``. Consult your corresponding operating
- system's manual pages for further details. Locking via ``SHARE=`` is not
- supported on other systems.
-
-.. index:: PARAMETER
-
-.. _legacy-parameter-statements:
-
-Legacy PARAMETER statements
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-For compatibility, GNU Fortran supports legacy PARAMETER statements without
-parentheses with :option:`-std=legacy`. A warning is emitted if used with
-:option:`-std=gnu`, and an error is acknowledged with a real Fortran standard
-flag (:option:`-std=f95`, etc...). These statements take the following form:
-
-.. code-block:: fortran
-
- implicit real (E)
- parameter e = 2.718282
- real c
- parameter c = 3.0e8
-
-.. index:: exponent
-
-.. _default-exponents:
-
-Default exponents
-^^^^^^^^^^^^^^^^^
-
-For compatibility, GNU Fortran supports a default exponent of zero in real
-constants with :option:`-fdec`. For example, ``9e`` would be
-interpreted as ``9e0``, rather than an error. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst b/gcc/fortran/doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst
deleted file mode 100644
index 33bbd7b..0000000
--- a/gcc/fortran/doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst
+++ /dev/null
@@ -1,186 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: extensions, not implemented
-
-.. _extensions-not-implemented-in-gnu-fortran:
-
-Extensions not implemented in GNU Fortran
-*****************************************
-
-The long history of the Fortran language, its wide use and broad
-userbase, the large number of different compiler vendors and the lack of
-some features crucial to users in the first standards have lead to the
-existence of a number of important extensions to the language. While
-some of the most useful or popular extensions are supported by the GNU
-Fortran compiler, not all existing extensions are supported. This section
-aims at listing these extensions and offering advice on how best make
-code that uses them running with the GNU Fortran compiler.
-
-.. More can be found here:
- - https://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/Missing-Features.html
- - the list of Fortran and libgfortran bugs closed as WONTFIX:
- http://tinyurl.com/2u4h5y
-
-.. toctree::
- :maxdepth: 2
-
-
-.. index:: ENCODE, DECODE
-
-.. _encode-and-decode-statements:
-
-ENCODE and DECODE statements
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GNU Fortran does not support the ``ENCODE`` and ``DECODE``
-statements. These statements are best replaced by ``READ`` and
-``WRITE`` statements involving internal files (``CHARACTER``
-variables and arrays), which have been part of the Fortran standard since
-Fortran 77. For example, replace a code fragment like
-
-.. code-block:: fortran
-
- INTEGER*1 LINE(80)
- REAL A, B, C
- c ... Code that sets LINE
- DECODE (80, 9000, LINE) A, B, C
- 9000 FORMAT (1X, 3(F10.5))
-
-with the following:
-
-.. code-block:: fortran
-
- CHARACTER(LEN=80) LINE
- REAL A, B, C
- c ... Code that sets LINE
- READ (UNIT=LINE, FMT=9000) A, B, C
- 9000 FORMAT (1X, 3(F10.5))
-
-Similarly, replace a code fragment like
-
-.. code-block:: fortran
-
- INTEGER*1 LINE(80)
- REAL A, B, C
- c ... Code that sets A, B and C
- ENCODE (80, 9000, LINE) A, B, C
- 9000 FORMAT (1X, 'OUTPUT IS ', 3(F10.5))
-
-with the following:
-
-.. code-block:: fortran
-
- CHARACTER(LEN=80) LINE
- REAL A, B, C
- c ... Code that sets A, B and C
- WRITE (UNIT=LINE, FMT=9000) A, B, C
- 9000 FORMAT (1X, 'OUTPUT IS ', 3(F10.5))
-
-.. index:: FORMAT
-
-.. _variable-format-expressions:
-
-Variable FORMAT expressions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A variable ``FORMAT`` expression is format statement which includes
-angle brackets enclosing a Fortran expression: ``FORMAT(I<N>)``. GNU
-Fortran does not support this legacy extension. The effect of variable
-format expressions can be reproduced by using the more powerful (and
-standard) combination of internal output and string formats. For example,
-replace a code fragment like this:
-
-.. code-block:: fortran
-
- WRITE(6,20) INT1
- 20 FORMAT(I<N+1>)
-
-with the following:
-
-.. code-block:: fortran
-
- c Variable declaration
- CHARACTER(LEN=20) FMT
- c
- c Other code here...
- c
- WRITE(FMT,'("(I", I0, ")")') N+1
- WRITE(6,FMT) INT1
-
-or with:
-
-.. code-block:: fortran
-
- c Variable declaration
- CHARACTER(LEN=20) FMT
- c
- c Other code here...
- c
- WRITE(FMT,*) N+1
- WRITE(6,"(I" // ADJUSTL(FMT) // ")") INT1
-
-.. index:: Complex function
-
-.. _alternate-complex-function-syntax:
-
-Alternate complex function syntax
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Some Fortran compilers, including :command:`g77`, let the user declare
-complex functions with the syntax ``COMPLEX FUNCTION name*16()``, as
-well as ``COMPLEX*16 FUNCTION name()``. Both are non-standard, legacy
-extensions. :command:`gfortran` accepts the latter form, which is more
-common, but not the former.
-
-.. index:: VOLATILE, COMMON
-
-.. _volatile-common-blocks:
-
-Volatile COMMON blocks
-^^^^^^^^^^^^^^^^^^^^^^
-
-Some Fortran compilers, including :command:`g77`, let the user declare
-``COMMON`` with the ``VOLATILE`` attribute. This is
-invalid standard Fortran syntax and is not supported by
-:command:`gfortran`. Note that :command:`gfortran` accepts
-``VOLATILE`` variables in ``COMMON`` blocks since revision 4.3.
-
-.. index:: NAME
-
-.. _open(-...-name=):
-
-OPEN( ... NAME=)
-^^^^^^^^^^^^^^^^
-
-Some Fortran compilers, including :command:`g77`, let the user declare
-``OPEN( ... NAME=)``. This is
-invalid standard Fortran syntax and is not supported by
-:command:`gfortran`. ``OPEN( ... NAME=)`` should be replaced
-with ``OPEN( ... FILE=)``.
-
-.. index:: Q edit descriptor
-
-.. _q-edit-descriptor:
-
-Q edit descriptor
-^^^^^^^^^^^^^^^^^
-
-Some Fortran compilers provide the ``Q`` edit descriptor, which
-transfers the number of characters left within an input record into an
-integer variable.
-
-A direct replacement of the ``Q`` edit descriptor is not available
-in :command:`gfortran`. How to replicate its functionality using
-standard-conforming code depends on what the intent of the original
-code is.
-
-Options to replace ``Q`` may be to read the whole line into a
-character variable and then counting the number of non-blank
-characters left using ``LEN_TRIM``. Another method may be to use
-formatted stream, read the data up to the position where the ``Q``
-descriptor occurred, use ``INQUIRE`` to get the file position,
-count the characters up to the next ``NEW_LINE`` and then start
-reading from the position marked previously. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/extensions.rst b/gcc/fortran/doc/gfortran/extensions.rst
deleted file mode 100644
index c151fc6..0000000
--- a/gcc/fortran/doc/gfortran/extensions.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: extensions
-
-.. _extensions:
-
-Extensions
-----------
-
-The two sections below detail the extensions to standard Fortran that are
-implemented in GNU Fortran, as well as some of the popular or
-historically important extensions that are not (or not yet) implemented.
-For the latter case, we explain the alternatives available to GNU Fortran
-users, including replacement by standard-conforming code or GNU
-extensions.
-
-.. toctree::
- :maxdepth: 2
-
- extensions-implemented-in-gnu-fortran
- extensions-not-implemented-in-gnu-fortran \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/function-abi-documentation.rst b/gcc/fortran/doc/gfortran/function-abi-documentation.rst
deleted file mode 100644
index a26ea3f..0000000
--- a/gcc/fortran/doc/gfortran/function-abi-documentation.rst
+++ /dev/null
@@ -1,1526 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _function-abi-documentation:
-
-Function ABI Documentation
-**************************
-
-.. toctree::
- :maxdepth: 2
-
-
-.. index:: Coarray, _gfortran_caf_init
-
-.. _gfortran_caf_init:
-
-_gfortran_caf_init --- Initialiation function
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_init (int *argc, char ***argv)
-
- This function is called at startup of the program before the Fortran main
- program, if the latter has been compiled with :option:`-fcoarray=lib`.
- It takes as arguments the command-line arguments of the program. It is
- permitted to pass two ``NULL`` pointers as argument; if non- ``NULL``,
- the library is permitted to modify the arguments.
-
- :param argc:
- intent(inout) An integer pointer with the number of
- arguments passed to the program or ``NULL``.
-
- :param argv:
- intent(inout) A pointer to an array of strings with the
- command-line arguments or ``NULL``.
-
- .. note::
-
- The function is modelled after the initialization function of the Message
- Passing Interface (MPI) specification. Due to the way coarray registration
- works, it might not be the first call to the library. If the main program is
- not written in Fortran and only a library uses coarrays, it can happen that
- this function is never called. Therefore, it is recommended that the library
- does not rely on the passed arguments and whether the call has been done.
-
-.. index:: Coarray, _gfortran_caf_finish
-
-.. _gfortran_caf_finish:
-
-_gfortran_caf_finish --- Finalization function
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_finish (void)
-
- This function is called at the end of the Fortran main program, if it has
- been compiled with the :option:`-fcoarray=lib` option.
-
- .. note::
-
- For non-Fortran programs, it is recommended to call the function at the end
- of the main program. To ensure that the shutdown is also performed for
- programs where this function is not explicitly invoked, for instance
- non-Fortran programs or calls to the system's exit() function, the library
- can use a destructor function. Note that programs can also be terminated
- using the STOP and ERROR STOP statements; those use different library calls.
-
-.. index:: Coarray, _gfortran_caf_this_image
-
-.. _gfortran_caf_this_image:
-
-_gfortran_caf_this_image --- Querying the image number
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: int _gfortran_caf_this_image (int distance)
-
- This function returns the current image number, which is a positive number.
-
- :param distance:
- As specified for the ``this_image`` intrinsic
- in TS18508. Shall be a non-negative number.
-
- .. note::
-
- If the Fortran intrinsic ``this_image`` is invoked without an argument, which
- is the only permitted form in Fortran 2008, GCC passes ``0`` as
- first argument.
-
-.. index:: Coarray, _gfortran_caf_num_images
-
-.. _gfortran_caf_num_images:
-
-_gfortran_caf_num_images --- Querying the maximal number of images
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: int _gfortran_caf_num_images(int distance, int failed)
-
- This function returns the number of images in the current team, if
- :samp:`{distance}` is 0 or the number of images in the parent team at the specified
- distance. If failed is -1, the function returns the number of all images at
- the specified distance; if it is 0, the function returns the number of
- nonfailed images, and if it is 1, it returns the number of failed images.
-
- :param distance:
- the distance from this image to the ancestor.
- Shall be positive.
-
- :param failed:
- shall be -1, 0, or 1
-
- .. note::
-
- This function follows TS18508. If the num_image intrinsic has no arguments,
- then the compiler passes ``distance=0`` and ``failed=-1`` to the function.
-
-.. index:: Coarray, _gfortran_caf_image_status
-
-.. _gfortran_caf_image_status:
-
-_gfortran_caf_image_status --- Query the status of an image
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: int _gfortran_caf_image_status (int image, caf_team_t * team)
-
- Get the status of the image given by the id :samp:`{image}` of the team given by
- :samp:`{team}`. Valid results are zero, for image is ok, ``STAT_STOPPED_IMAGE``
- from the ISO_FORTRAN_ENV module to indicate that the image has been stopped and
- ``STAT_FAILED_IMAGE`` also from ISO_FORTRAN_ENV to indicate that the image
- has executed a ``FAIL IMAGE`` statement.
-
- :param image:
- the positive scalar id of the image in the current TEAM.
-
- :param team:
- optional; team on the which the inquiry is to be
- performed.
-
- .. note::
-
- This function follows TS18508. Because team-functionality is not yet
- implemented a null-pointer is passed for the :samp:`{team}` argument at the moment.
-
-.. index:: Coarray, _gfortran_caf_failed_images
-
-.. _gfortran_caf_failed_images:
-
-_gfortran_caf_failed_images --- Get an array of the indexes of the failed images
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: int _gfortran_caf_failed_images (caf_team_t * team, int * kind)
-
- Get an array of image indexes in the current :samp:`{team}` that have failed. The
- array is sorted ascendingly. When :samp:`{team}` is not provided the current team
- is to be used. When :samp:`{kind}` is provided then the resulting array is of that
- integer kind else it is of default integer kind. The returns an unallocated
- size zero array when no images have failed.
-
- :param team:
- optional; team on the which the inquiry is to be
- performed.
-
- :param image:
- optional; the kind of the resulting integer array.
-
- .. note::
-
- This function follows TS18508. Because team-functionality is not yet
- implemented a null-pointer is passed for the :samp:`{team}` argument at the moment.
-
-.. index:: Coarray, _gfortran_caf_stopped_images
-
-.. _gfortran_caf_stopped_images:
-
-_gfortran_caf_stopped_images --- Get an array of the indexes of the stopped images
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: int _gfortran_caf_stopped_images (caf_team_t * team, int * kind)
-
- Get an array of image indexes in the current :samp:`{team}` that have stopped. The
- array is sorted ascendingly. When :samp:`{team}` is not provided the current team
- is to be used. When :samp:`{kind}` is provided then the resulting array is of that
- integer kind else it is of default integer kind. The returns an unallocated
- size zero array when no images have failed.
-
- :param team:
- optional; team on the which the inquiry is to be
- performed.
-
- :param image:
- optional; the kind of the resulting integer array.
-
- .. note::
-
- This function follows TS18508. Because team-functionality is not yet
- implemented a null-pointer is passed for the :samp:`{team}` argument at the moment.
-
-.. index:: Coarray, _gfortran_caf_register
-
-.. _gfortran_caf_register:
-
-_gfortran_caf_register --- Registering coarrays
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void caf_register (size_t size, caf_register_t type, caf_token_t *token, gfc_descriptor_t *desc, int *stat, char *errmsg, size_t errmsg_len)
-
- Registers memory for a coarray and creates a token to identify the coarray. The
- routine is called for both coarrays with ``SAVE`` attribute and using an
- explicit ``ALLOCATE`` statement. If an error occurs and :samp:`{STAT}` is a
- ``NULL`` pointer, the function shall abort with printing an error message
- and starting the error termination. If no error occurs and :samp:`{STAT}` is
- present, it shall be set to zero. Otherwise, it shall be set to a positive
- value and, if not- ``NULL``, :samp:`{ERRMSG}` shall be set to a string describing
- the failure. The routine shall register the memory provided in the
- ``DATA`` -component of the array descriptor :samp:`{DESC}`, when that component
- is non- ``NULL``, else it shall allocate sufficient memory and provide a
- pointer to it in the ``DATA`` -component of :samp:`{DESC}`. The array descriptor
- has rank zero, when a scalar object is to be registered and the array
- descriptor may be invalid after the call to ``_gfortran_caf_register``.
- When an array is to be allocated the descriptor persists.
-
- :param size:
- For normal coarrays, the byte size of the coarray to be
- allocated; for lock types and event types, the number of elements.
-
- :param type:
- one of the caf_register_t types.
-
- :param token:
- intent(out) An opaque pointer identifying the coarray.
-
- :param desc:
- intent(inout) The (pseudo) array descriptor.
-
- :param stat:
- intent(out) For allocatable coarrays, stores the STAT=;
- may be ``NULL``
-
- :param errmsg:
- intent(out) When an error occurs, this will be set to
- an error message; may be ``NULL``
-
- :param errmsg_len:
- the buffer size of errmsg.
-
- .. note::
-
- Nonallocatable coarrays have to be registered prior use from remote images.
- In order to guarantee this, they have to be registered before the main
- program. This can be achieved by creating constructor functions. That is what
- GCC does such that also for nonallocatable coarrays the memory is allocated and
- no static memory is used. The token permits to identify the coarray; to the
- processor, the token is a nonaliasing pointer. The library can, for instance,
- store the base address of the coarray in the token, some handle or a more
- complicated struct. The library may also store the array descriptor
- :samp:`{DESC}` when its rank is non-zero.
-
- For lock types, the value shall only be used for checking the allocation
- status. Note that for critical blocks, the locking is only required on one
- image; in the locking statement, the processor shall always pass an
- image index of one for critical-block lock variables
- (``CAF_REGTYPE_CRITICAL``). For lock types and critical-block variables,
- the initial value shall be unlocked (or, respectively, not in critical
- section) such as the value false; for event types, the initial state should
- be no event, e.g. zero.
-
-.. index:: Coarray, _gfortran_caf_deregister
-
-.. _gfortran_caf_deregister:
-
-_gfortran_caf_deregister --- Deregistering coarrays
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void caf_deregister (caf_token_t *token, caf_deregister_t type, int *stat, char *errmsg, size_t errmsg_len)
-
- Called to free or deregister the memory of a coarray; the processor calls this
- function for automatic and explicit deallocation. In case of an error, this
- function shall fail with an error message, unless the :samp:`{STAT}` variable is
- not null. The library is only expected to free memory it allocated itself
- during a call to ``_gfortran_caf_register``.
-
- :param token:
- the token to free.
-
- :param type:
- the type of action to take for the coarray. A
- ``CAF_DEREGTYPE_COARRAY_DEALLOCATE_ONLY`` is allowed only for allocatable or
- pointer components of derived type coarrays. The action only deallocates the
- local memory without deleting the token.
-
- :param stat:
- intent(out) Stores the STAT=; may be NULL
-
- :param errmsg:
- intent(out) When an error occurs, this will be set
- to an error message; may be NULL
-
- :param errmsg_len:
- the buffer size of errmsg.
-
- .. note::
-
- For nonalloatable coarrays this function is never called. If a cleanup is
- required, it has to be handled via the finish, stop and error stop functions,
- and via destructors.
-
-.. index:: Coarray, _gfortran_caf_is_present
-
-.. _gfortran_caf_is_present:
-
-_gfortran_caf_is_present --- Query whether an allocatable or pointer component in a derived type coarray is allocated
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_is_present (caf_token_t token, int image_index, gfc_reference_t *ref)
-
- Used to query the coarray library whether an allocatable component in a derived
- type coarray is allocated on a remote image.
-
- :param token:
- An opaque pointer identifying the coarray.
-
- :param image_index:
- The ID of the remote image; must be a positive
- number.
-
- :param ref:
- A chain of references to address the allocatable or
- pointer component in the derived type coarray. The object reference needs to be
- a scalar or a full array reference, respectively.
-
-.. index:: Coarray, _gfortran_caf_send
-
-.. _gfortran_caf_send:
-
-_gfortran_caf_send --- Sending data from a local image to a remote image
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_send (caf_token_t token, size_t offset, int image_index, gfc_descriptor_t *dest, caf_vector_t *dst_vector, gfc_descriptor_t *src, int dst_kind, int src_kind, bool may_require_tmp, int *stat)
-
- Called to send a scalar, an array section or a whole array from a local
- to a remote image identified by the image_index.
-
- :param token:
- intent(in) An opaque pointer identifying the coarray.
-
- :param offset:
- intent(in) By which amount of bytes the actual data is
- shifted compared to the base address of the coarray.
-
- :param image_index:
- intent(in) The ID of the remote image; must be a
- positive number.
-
- :param dest:
- intent(in) Array descriptor for the remote image for the
- bounds and the size. The ``base_addr`` shall not be accessed.
-
- :param dst_vector:
- intent(in) If not NULL, it contains the vector
- subscript of the destination array; the values are relative to the dimension
- triplet of the dest argument.
-
- :param src:
- intent(in) Array descriptor of the local array to be
- transferred to the remote image
-
- :param dst_kind:
- intent(in) Kind of the destination argument
-
- :param src_kind:
- intent(in) Kind of the source argument
-
- :param may_require_tmp:
- intent(in) The variable is ``false`` when
- it is known at compile time that the :samp:`{dest}` and :samp:`{src}` either cannot
- overlap or overlap (fully or partially) such that walking :samp:`{src}` and
- :samp:`{dest}` in element wise element order (honoring the stride value) will not
- lead to wrong results. Otherwise, the value is ``true``.
-
- :param stat:
- intent(out) when non-NULL give the result of the
- operation, i.e., zero on success and non-zero on error. When NULL and an error
- occurs, then an error message is printed and the program is terminated.
-
- .. note::
-
- It is permitted to have :samp:`{image_index}` equal the current image; the memory
- of the send-to and the send-from might (partially) overlap in that case. The
- implementation has to take care that it handles this case, e.g. using
- ``memmove`` which handles (partially) overlapping memory. If
- :samp:`{may_require_tmp}` is true, the library might additionally create a
- temporary variable, unless additional checks show that this is not required
- (e.g. because walking backward is possible or because both arrays are
- contiguous and ``memmove`` takes care of overlap issues).
-
- Note that the assignment of a scalar to an array is permitted. In addition,
- the library has to handle numeric-type conversion and for strings, padding
- and different character kinds.
-
-.. index:: Coarray, _gfortran_caf_get
-
-.. _gfortran_caf_get:
-
-_gfortran_caf_get --- Getting data from a remote image
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_get (caf_token_t token, size_t offset, int image_index, gfc_descriptor_t *src, caf_vector_t *src_vector, gfc_descriptor_t *dest, int src_kind, int dst_kind, bool may_require_tmp, int *stat)
-
- Called to get an array section or a whole array from a remote,
- image identified by the image_index.
-
- :param token:
- intent(in) An opaque pointer identifying the coarray.
-
- :param offset:
- intent(in) By which amount of bytes the actual data is
- shifted compared to the base address of the coarray.
-
- :param image_index:
- intent(in) The ID of the remote image; must be a
- positive number.
-
- :param dest:
- intent(out) Array descriptor of the local array to store
- the data retrieved from the remote image
-
- :param src:
- intent(in) Array descriptor for the remote image for the
- bounds and the size. The ``base_addr`` shall not be accessed.
-
- :param src_vector:
- intent(in) If not NULL, it contains the vector
- subscript of the source array; the values are relative to the dimension
- triplet of the :samp:`{src}` argument.
-
- :param dst_kind:
- intent(in) Kind of the destination argument
-
- :param src_kind:
- intent(in) Kind of the source argument
-
- :param may_require_tmp:
- intent(in) The variable is ``false`` when
- it is known at compile time that the :samp:`{dest}` and :samp:`{src}` either cannot
- overlap or overlap (fully or partially) such that walking :samp:`{src}` and
- :samp:`{dest}` in element wise element order (honoring the stride value) will not
- lead to wrong results. Otherwise, the value is ``true``.
-
- :param stat:
- intent(out) When non-NULL give the result of the
- operation, i.e., zero on success and non-zero on error. When NULL and an error
- occurs, then an error message is printed and the program is terminated.
-
- .. note::
-
- It is permitted to have :samp:`{image_index}` equal the current image; the memory of
- the send-to and the send-from might (partially) overlap in that case. The
- implementation has to take care that it handles this case, e.g. using
- ``memmove`` which handles (partially) overlapping memory. If
- :samp:`{may_require_tmp}` is true, the library might additionally create a
- temporary variable, unless additional checks show that this is not required
- (e.g. because walking backward is possible or because both arrays are
- contiguous and ``memmove`` takes care of overlap issues).
-
- Note that the library has to handle numeric-type conversion and for strings,
- padding and different character kinds.
-
-.. index:: Coarray, _gfortran_caf_sendget
-
-.. _gfortran_caf_sendget:
-
-_gfortran_caf_sendget --- Sending data between remote images
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_sendget (caf_token_t dst_token, size_t dst_offset, int dst_image_index, gfc_descriptor_t *dest, caf_vector_t *dst_vector, caf_token_t src_token, size_t src_offset, int src_image_index, gfc_descriptor_t *src, caf_vector_t *src_vector, int dst_kind, int src_kind, bool may_require_tmp, int *stat)
-
- Called to send a scalar, an array section or a whole array from a remote image
- identified by the :samp:`{src_image_index}` to a remote image identified by the
- :samp:`{dst_image_index}`.
-
- :param dst_token:
- intent(in) An opaque pointer identifying the
- destination coarray.
-
- :param dst_offset:
- intent(in) By which amount of bytes the actual data
- is shifted compared to the base address of the destination coarray.
-
- :param dst_image_index:
- intent(in) The ID of the destination remote
- image; must be a positive number.
-
- :param dest:
- intent(in) Array descriptor for the destination
- remote image for the bounds and the size. The ``base_addr`` shall not be
- accessed.
-
- :param dst_vector:
- intent(int) If not NULL, it contains the vector
- subscript of the destination array; the values are relative to the dimension
- triplet of the :samp:`{dest}` argument.
-
- :param src_token:
- intent(in) An opaque pointer identifying the source
- coarray.
-
- :param src_offset:
- intent(in) By which amount of bytes the actual data
- is shifted compared to the base address of the source coarray.
-
- :param src_image_index:
- intent(in) The ID of the source remote image;
- must be a positive number.
-
- :param src:
- intent(in) Array descriptor of the local array to be
- transferred to the remote image.
-
- :param src_vector:
- intent(in) Array descriptor of the local array to
- be transferred to the remote image
-
- :param dst_kind:
- intent(in) Kind of the destination argument
-
- :param src_kind:
- intent(in) Kind of the source argument
-
- :param may_require_tmp:
- intent(in) The variable is ``false`` when
- it is known at compile time that the :samp:`{dest}` and :samp:`{src}` either cannot
- overlap or overlap (fully or partially) such that walking :samp:`{src}` and
- :samp:`{dest}` in element wise element order (honoring the stride value) will not
- lead to wrong results. Otherwise, the value is ``true``.
-
- :param stat:
- intent(out) when non-NULL give the result of the
- operation, i.e., zero on success and non-zero on error. When NULL and an error
- occurs, then an error message is printed and the program is terminated.
-
- .. note::
-
- It is permitted to have the same image index for both :samp:`{src_image_index}` and
- :samp:`{dst_image_index}` ; the memory of the send-to and the send-from might
- (partially) overlap in that case. The implementation has to take care that it
- handles this case, e.g. using ``memmove`` which handles (partially)
- overlapping memory. If :samp:`{may_require_tmp}` is true, the library
- might additionally create a temporary variable, unless additional checks show
- that this is not required (e.g. because walking backward is possible or because
- both arrays are contiguous and ``memmove`` takes care of overlap issues).
-
- Note that the assignment of a scalar to an array is permitted. In addition,
- the library has to handle numeric-type conversion and for strings, padding and
- different character kinds.
-
-.. index:: Coarray, _gfortran_caf_send_by_ref
-
-.. _gfortran_caf_send_by_ref:
-
-_gfortran_caf_send_by_ref --- Sending data from a local image to a remote image with enhanced referencing options
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_send_by_ref (caf_token_t token, int image_index, gfc_descriptor_t *src, caf_reference_t *refs, int dst_kind, int src_kind, bool may_require_tmp, bool dst_reallocatable, int *stat, int dst_type)
-
- Called to send a scalar, an array section or a whole array from a local to a
- remote image identified by the :samp:`{image_index}`.
-
- :param token:
- intent(in) An opaque pointer identifying the coarray.
-
- :param image_index:
- intent(in) The ID of the remote image; must be a
- positive number.
-
- :param src:
- intent(in) Array descriptor of the local array to be
- transferred to the remote image
-
- :param refs:
- intent(in) The references on the remote array to store
- the data given by src. Guaranteed to have at least one entry.
-
- :param dst_kind:
- intent(in) Kind of the destination argument
-
- :param src_kind:
- intent(in) Kind of the source argument
-
- :param may_require_tmp:
- intent(in) The variable is ``false`` when
- it is known at compile time that the :samp:`{dest}` and :samp:`{src}` either cannot
- overlap or overlap (fully or partially) such that walking :samp:`{src}` and
- :samp:`{dest}` in element wise element order (honoring the stride value) will not
- lead to wrong results. Otherwise, the value is ``true``.
-
- :param dst_reallocatable:
- intent(in) Set when the destination is of
- allocatable or pointer type and the refs will allow reallocation, i.e., the ref
- is a full array or component ref.
-
- :param stat:
- intent(out) When non- ``NULL`` give the result of the
- operation, i.e., zero on success and non-zero on error. When ``NULL`` and
- an error occurs, then an error message is printed and the program is terminated.
-
- :param dst_type:
- intent(in) Give the type of the destination. When
- the destination is not an array, than the precise type, e.g. of a component in
- a derived type, is not known, but provided here.
-
- .. note::
-
- It is permitted to have :samp:`{image_index}` equal the current image; the memory of
- the send-to and the send-from might (partially) overlap in that case. The
- implementation has to take care that it handles this case, e.g. using
- ``memmove`` which handles (partially) overlapping memory. If
- :samp:`{may_require_tmp}` is true, the library might additionally create a
- temporary variable, unless additional checks show that this is not required
- (e.g. because walking backward is possible or because both arrays are
- contiguous and ``memmove`` takes care of overlap issues).
-
- Note that the assignment of a scalar to an array is permitted. In addition,
- the library has to handle numeric-type conversion and for strings, padding
- and different character kinds.
-
- Because of the more complicated references possible some operations may be
- unsupported by certain libraries. The library is expected to issue a precise
- error message why the operation is not permitted.
-
-.. index:: Coarray, _gfortran_caf_get_by_ref
-
-.. _gfortran_caf_get_by_ref:
-
-_gfortran_caf_get_by_ref --- Getting data from a remote image using enhanced references
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_get_by_ref (caf_token_t token, int image_index, caf_reference_t *refs, gfc_descriptor_t *dst, int dst_kind, int src_kind, bool may_require_tmp, bool dst_reallocatable, int *stat, int src_type)
-
- Called to get a scalar, an array section or a whole array from a remote image
- identified by the :samp:`{image_index}`.
-
- :param token:
- intent(in) An opaque pointer identifying the coarray.
-
- :param image_index:
- intent(in) The ID of the remote image; must be a
- positive number.
-
- :param refs:
- intent(in) The references to apply to the remote structure
- to get the data.
-
- :param dst:
- intent(in) Array descriptor of the local array to store
- the data transferred from the remote image. May be reallocated where needed
- and when :samp:`{DST_REALLOCATABLE}` allows it.
-
- :param dst_kind:
- intent(in) Kind of the destination argument
-
- :param src_kind:
- intent(in) Kind of the source argument
-
- :param may_require_tmp:
- intent(in) The variable is ``false`` when
- it is known at compile time that the :samp:`{dest}` and :samp:`{src}` either cannot
- overlap or overlap (fully or partially) such that walking :samp:`{src}` and
- :samp:`{dest}` in element wise element order (honoring the stride value) will not
- lead to wrong results. Otherwise, the value is ``true``.
-
- :param dst_reallocatable:
- intent(in) Set when :samp:`{DST}` is of
- allocatable or pointer type and its refs allow reallocation, i.e., the full
- array or a component is referenced.
-
- :param stat:
- intent(out) When non- ``NULL`` give the result of the
- operation, i.e., zero on success and non-zero on error. When ``NULL`` and an
- error occurs, then an error message is printed and the program is terminated.
-
- :param src_type:
- intent(in) Give the type of the source. When the
- source is not an array, than the precise type, e.g. of a component in a
- derived type, is not known, but provided here.
-
- .. note::
-
- It is permitted to have ``image_index`` equal the current image; the memory
- of the send-to and the send-from might (partially) overlap in that case. The
- implementation has to take care that it handles this case, e.g. using
- ``memmove`` which handles (partially) overlapping memory. If
- :samp:`{may_require_tmp}` is true, the library might additionally create a
- temporary variable, unless additional checks show that this is not required
- (e.g. because walking backward is possible or because both arrays are
- contiguous and ``memmove`` takes care of overlap issues).
-
- Note that the library has to handle numeric-type conversion and for strings,
- padding and different character kinds.
-
- Because of the more complicated references possible some operations may be
- unsupported by certain libraries. The library is expected to issue a precise
- error message why the operation is not permitted.
-
-.. index:: Coarray, _gfortran_caf_sendget_by_ref
-
-.. _gfortran_caf_sendget_by_ref:
-
-_gfortran_caf_sendget_by_ref --- Sending data between remote images using enhanced references on both sides
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_sendget_by_ref (caf_token_t dst_token, int dst_image_index, caf_reference_t *dst_refs, caf_token_t src_token, int src_image_index, caf_reference_t *src_refs, int dst_kind, int src_kind, bool may_require_tmp, int *dst_stat, int *src_stat, int dst_type, int src_type)
-
- Called to send a scalar, an array section or a whole array from a remote image
- identified by the :samp:`{src_image_index}` to a remote image identified by the
- :samp:`{dst_image_index}`.
-
- :param dst_token:
- intent(in) An opaque pointer identifying the
- destination coarray.
-
- :param dst_image_index:
- intent(in) The ID of the destination remote
- image; must be a positive number.
-
- :param dst_refs:
- intent(in) The references on the remote array to store
- the data given by the source. Guaranteed to have at least one entry.
-
- :param src_token:
- intent(in) An opaque pointer identifying the source
- coarray.
-
- :param src_image_index:
- intent(in) The ID of the source remote image;
- must be a positive number.
-
- :param src_refs:
- intent(in) The references to apply to the remote
- structure to get the data.
-
- :param dst_kind:
- intent(in) Kind of the destination argument
-
- :param src_kind:
- intent(in) Kind of the source argument
-
- :param may_require_tmp:
- intent(in) The variable is ``false`` when
- it is known at compile time that the :samp:`{dest}` and :samp:`{src}` either cannot
- overlap or overlap (fully or partially) such that walking :samp:`{src}` and
- :samp:`{dest}` in element wise element order (honoring the stride value) will not
- lead to wrong results. Otherwise, the value is ``true``.
-
- :param dst_stat:
- intent(out) when non- ``NULL`` give the result of
- the send-operation, i.e., zero on success and non-zero on error. When
- ``NULL`` and an error occurs, then an error message is printed and the
- program is terminated.
-
- :param src_stat:
- intent(out) When non- ``NULL`` give the result of
- the get-operation, i.e., zero on success and non-zero on error. When
- ``NULL`` and an error occurs, then an error message is printed and the
- program is terminated.
-
- :param dst_type:
- intent(in) Give the type of the destination. When
- the destination is not an array, than the precise type, e.g. of a component in
- a derived type, is not known, but provided here.
-
- :param src_type:
- intent(in) Give the type of the source. When the
- source is not an array, than the precise type, e.g. of a component in a
- derived type, is not known, but provided here.
-
- .. note::
-
- It is permitted to have the same image index for both :samp:`{src_image_index}` and
- :samp:`{dst_image_index}` ; the memory of the send-to and the send-from might
- (partially) overlap in that case. The implementation has to take care that it
- handles this case, e.g. using ``memmove`` which handles (partially)
- overlapping memory. If :samp:`{may_require_tmp}` is true, the library
- might additionally create a temporary variable, unless additional checks show
- that this is not required (e.g. because walking backward is possible or because
- both arrays are contiguous and ``memmove`` takes care of overlap issues).
-
- Note that the assignment of a scalar to an array is permitted. In addition,
- the library has to handle numeric-type conversion and for strings, padding and
- different character kinds.
-
- Because of the more complicated references possible some operations may be
- unsupported by certain libraries. The library is expected to issue a precise
- error message why the operation is not permitted.
-
-.. index:: Coarray, _gfortran_caf_lock
-
-.. _gfortran_caf_lock:
-
-_gfortran_caf_lock --- Locking a lock variable
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_lock (caf_token_t token, size_t index, int image_index, int *acquired_lock, int *stat, char *errmsg, size_t errmsg_len)
-
- Acquire a lock on the given image on a scalar locking variable or for the
- given array element for an array-valued variable. If the :samp:`{acquired_lock}`
- is ``NULL``, the function returns after having obtained the lock. If it is
- non- ``NULL``, then :samp:`{acquired_lock}` is assigned the value true (one) when
- the lock could be obtained and false (zero) otherwise. Locking a lock variable
- which has already been locked by the same image is an error.
-
- :param token:
- intent(in) An opaque pointer identifying the coarray.
-
- :param index:
- intent(in) Array index; first array index is 0. For
- scalars, it is always 0.
-
- :param image_index:
- intent(in) The ID of the remote image; must be a
- positive number.
-
- :param acquired_lock:
- intent(out) If not NULL, it returns whether lock
- could be obtained.
-
- :param stat:
- intent(out) Stores the STAT=; may be NULL.
-
- :param errmsg:
- intent(out) When an error occurs, this will be set to
- an error message; may be NULL.
-
- :param errmsg_len:
- intent(in) the buffer size of errmsg
-
- .. note::
-
- This function is also called for critical blocks; for those, the array index
- is always zero and the image index is one. Libraries are permitted to use other
- images for critical-block locking variables.
-
-.. index:: Coarray, _gfortran_caf_unlock
-
-.. _gfortran_caf_unlock:
-
-_gfortran_caf_lock --- Unlocking a lock variable
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_unlock (caf_token_t token, size_t index, int image_index, int *stat, char *errmsg, size_t errmsg_len)
-
- Release a lock on the given image on a scalar locking variable or for the
- given array element for an array-valued variable. Unlocking a lock variable
- which is unlocked or has been locked by a different image is an error.
-
- :param token:
- intent(in) An opaque pointer identifying the coarray.
-
- :param index:
- intent(in) Array index; first array index is 0. For
- scalars, it is always 0.
-
- :param image_index:
- intent(in) The ID of the remote image; must be a
- positive number.
-
- :param stat:
- intent(out) For allocatable coarrays, stores the STAT=;
- may be NULL.
-
- :param errmsg:
- intent(out) When an error occurs, this will be set to
- an error message; may be NULL.
-
- :param errmsg_len:
- intent(in) the buffer size of errmsg
-
- .. note::
-
- This function is also called for critical block; for those, the array index
- is always zero and the image index is one. Libraries are permitted to use other
- images for critical-block locking variables.
-
-.. index:: Coarray, _gfortran_caf_event_post
-
-.. _gfortran_caf_event_post:
-
-_gfortran_caf_event_post --- Post an event
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_event_post (caf_token_t token, size_t index, int image_index, int *stat, char *errmsg, size_t errmsg_len)
-
- Increment the event count of the specified event variable.
-
- :param token:
- intent(in) An opaque pointer identifying the coarray.
-
- :param index:
- intent(in) Array index; first array index is 0. For
- scalars, it is always 0.
-
- :param image_index:
- intent(in) The ID of the remote image; must be a
- positive number; zero indicates the current image, when accessed noncoindexed.
-
- :param stat:
- intent(out) Stores the STAT=; may be NULL.
-
- :param errmsg:
- intent(out) When an error occurs, this will be set to
- an error message; may be NULL.
-
- :param errmsg_len:
- intent(in) the buffer size of errmsg
-
- .. note::
-
- This acts like an atomic add of one to the remote image's event variable.
- The statement is an image-control statement but does not imply sync memory.
- Still, all preceeding push communications of this image to the specified
- remote image have to be completed before ``event_wait`` on the remote
- image returns.
-
-.. index:: Coarray, _gfortran_caf_event_wait
-
-.. _gfortran_caf_event_wait:
-
-_gfortran_caf_event_wait --- Wait that an event occurred
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_event_wait (caf_token_t token, size_t index, int until_count, int *stat, char *errmsg, size_t errmsg_len)
-
- Wait until the event count has reached at least the specified
- :samp:`{until_count}` ; if so, atomically decrement the event variable by this
- amount and return.
-
- :param token:
- intent(in) An opaque pointer identifying the coarray.
-
- :param index:
- intent(in) Array index; first array index is 0. For
- scalars, it is always 0.
-
- :param until_count:
- intent(in) The number of events which have to be
- available before the function returns.
-
- :param stat:
- intent(out) Stores the STAT=; may be NULL.
-
- :param errmsg:
- intent(out) When an error occurs, this will be set to
- an error message; may be NULL.
-
- :param errmsg_len:
- intent(in) the buffer size of errmsg
-
- .. note::
-
- This function only operates on a local coarray. It acts like a loop checking
- atomically the value of the event variable, breaking if the value is greater
- or equal the requested number of counts. Before the function returns, the
- event variable has to be decremented by the requested :samp:`{until_count}` value.
- A possible implementation would be a busy loop for a certain number of spins
- (possibly depending on the number of threads relative to the number of available
- cores) followed by another waiting strategy such as a sleeping wait (possibly
- with an increasing number of sleep time) or, if possible, a futex wait.
-
- The statement is an image-control statement but does not imply sync memory.
- Still, all preceeding push communications of this image to the specified
- remote image have to be completed before ``event_wait`` on the remote
- image returns.
-
-.. index:: Coarray, _gfortran_caf_event_query
-
-.. _gfortran_caf_event_query:
-
-_gfortran_caf_event_query --- Query event count
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_event_query (caf_token_t token, size_t index, int image_index, int *count, int *stat)
-
- Return the event count of the specified event variable.
-
- :param token:
- intent(in) An opaque pointer identifying the coarray.
-
- :param index:
- intent(in) Array index; first array index is 0. For
- scalars, it is always 0.
-
- :param image_index:
- intent(in) The ID of the remote image; must be a
- positive number; zero indicates the current image when accessed noncoindexed.
-
- :param count:
- intent(out) The number of events currently posted to
- the event variable.
-
- :param stat:
- intent(out) Stores the STAT=; may be NULL.
-
- .. note::
-
- The typical use is to check the local event variable to only call
- ``event_wait`` when the data is available. However, a coindexed variable
- is permitted; there is no ordering or synchronization implied. It acts like
- an atomic fetch of the value of the event variable.
-
-.. index:: Coarray, _gfortran_caf_sync_all
-
-.. _gfortran_caf_sync_all:
-
-_gfortran_caf_sync_all --- All-image barrier
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_sync_all (int *stat, char *errmsg, size_t errmsg_len)
-
- Synchronization of all images in the current team; the program only continues
- on a given image after this function has been called on all images of the
- current team. Additionally, it ensures that all pending data transfers of
- previous segment have completed.
-
- :param stat:
- intent(out) Stores the status STAT= and may be NULL.
-
- :param errmsg:
- intent(out) When an error occurs, this will be set to
- an error message; may be NULL.
-
- :param errmsg_len:
- intent(in) the buffer size of errmsg
-
-.. index:: Coarray, _gfortran_caf_sync_images
-
-.. _gfortran_caf_sync_images:
-
-_gfortran_caf_sync_images --- Barrier for selected images
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_sync_images (int count, int images[], int *stat, char *errmsg, size_t errmsg_len)
-
- Synchronization between the specified images; the program only continues on a
- given image after this function has been called on all images specified for
- that image. Note that one image can wait for all other images in the current
- team (e.g. via ``sync images(*)``) while those only wait for that specific
- image. Additionally, ``sync images`` ensures that all pending data
- transfers of previous segments have completed.
-
- :param count:
- intent(in) The number of images which are provided in
- the next argument. For a zero-sized array, the value is zero. For
- ``sync images (*)``, the value is -1.
-
- :param images:
- intent(in) An array with the images provided by the
- user. If :samp:`{count}` is zero, a NULL pointer is passed.
-
- :param stat:
- intent(out) Stores the status STAT= and may be NULL.
-
- :param errmsg:
- intent(out) When an error occurs, this will be set to
- an error message; may be NULL.
-
- :param errmsg_len:
- intent(in) the buffer size of errmsg
-
-.. index:: Coarray, _gfortran_caf_sync_memory
-
-.. _gfortran_caf_sync_memory:
-
-_gfortran_caf_sync_memory --- Wait for completion of segment-memory operations
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_sync_memory (int *stat, char *errmsg, size_t errmsg_len)
-
- Acts as optimization barrier between different segments. It also ensures that
- all pending memory operations of this image have been completed.
-
- :param stat:
- intent(out) Stores the status STAT= and may be NULL.
-
- :param errmsg:
- intent(out) When an error occurs, this will be set to
- an error message; may be NULL.
-
- :param errmsg_len:
- intent(in) the buffer size of errmsg
-
- .. note::
-
- A simple implementation could be
- ``__asm__ __volatile__ ("":::"memory")`` to prevent code movements.
-
-.. index:: Coarray, _gfortran_caf_error_stop
-
-.. _gfortran_caf_error_stop:
-
-_gfortran_caf_error_stop --- Error termination with exit code
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_error_stop (int error)
-
- Invoked for an ``ERROR STOP`` statement which has an integer argument. The
- function should terminate the program with the specified exit code.
-
- :param error:
- intent(in) The exit status to be used.
-
-.. index:: Coarray, _gfortran_caf_error_stop_str
-
-.. _gfortran_caf_error_stop_str:
-
-_gfortran_caf_error_stop_str --- Error termination with string
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_error_stop (const char *string, size_t len)
-
- Invoked for an ``ERROR STOP`` statement which has a string as argument. The
- function should terminate the program with a nonzero-exit code.
-
- :param string:
- intent(in) the error message (not zero terminated)
-
- :param len:
- intent(in) the length of the string
-
-.. index:: Coarray, _gfortran_caf_fail_image
-
-.. _gfortran_caf_fail_image:
-
-_gfortran_caf_fail_image --- Mark the image failed and end its execution
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_fail_image ()
-
- Invoked for an ``FAIL IMAGE`` statement. The function should terminate the
- current image.
-
- .. note::
-
- This function follows TS18508.
-
-.. index:: Coarray, _gfortran_caf_atomic_define
-
-.. _gfortran_caf_atomic_define:
-
-_gfortran_caf_atomic_define --- Atomic variable assignment
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_atomic_define (caf_token_t token, size_t offset, int image_index, void *value, int *stat, int type, int kind)
-
- Assign atomically a value to an integer or logical variable.
-
- :param token:
- intent(in) An opaque pointer identifying the coarray.
-
- :param offset:
- intent(in) By which amount of bytes the actual data is
- shifted compared to the base address of the coarray.
-
- :param image_index:
- intent(in) The ID of the remote image; must be a
- positive number; zero indicates the current image when used noncoindexed.
-
- :param value:
- intent(in) the value to be assigned, passed by reference
-
- :param stat:
- intent(out) Stores the status STAT= and may be NULL.
-
- :param type:
- intent(in) The data type, i.e. ``BT_INTEGER`` (1) or
- ``BT_LOGICAL`` (2).
-
- :param kind:
- intent(in) The kind value (only 4; always ``int``)
-
-.. index:: Coarray, _gfortran_caf_atomic_ref
-
-.. _gfortran_caf_atomic_ref:
-
-_gfortran_caf_atomic_ref --- Atomic variable reference
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_atomic_ref (caf_token_t token, size_t offset, int image_index, void *value, int *stat, int type, int kind)
-
- Reference atomically a value of a kind-4 integer or logical variable.
-
- :param token:
- intent(in) An opaque pointer identifying the coarray.
-
- :param offset:
- intent(in) By which amount of bytes the actual data is
- shifted compared to the base address of the coarray.
-
- :param image_index:
- intent(in) The ID of the remote image; must be a
- positive number; zero indicates the current image when used noncoindexed.
-
- :param value:
- intent(out) The variable assigned the atomically
- referenced variable.
-
- :param stat:
- intent(out) Stores the status STAT= and may be NULL.
-
- :param type:
- the data type, i.e. ``BT_INTEGER`` (1) or
- ``BT_LOGICAL`` (2).
-
- :param kind:
- The kind value (only 4; always ``int``)
-
-.. index:: Coarray, _gfortran_caf_atomic_cas
-
-.. _gfortran_caf_atomic_cas:
-
-_gfortran_caf_atomic_cas --- Atomic compare and swap
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_atomic_cas (caf_token_t token, size_t offset, int image_index, void *old, void *compare, void *new_val, int *stat, int type, int kind)
-
- Atomic compare and swap of a kind-4 integer or logical variable. Assigns
- atomically the specified value to the atomic variable, if the latter has
- the value specified by the passed condition value.
-
- :param token:
- intent(in) An opaque pointer identifying the coarray.
-
- :param offset:
- intent(in) By which amount of bytes the actual data is
- shifted compared to the base address of the coarray.
-
- :param image_index:
- intent(in) The ID of the remote image; must be a
- positive number; zero indicates the current image when used noncoindexed.
-
- :param old:
- intent(out) The value which the atomic variable had
- just before the cas operation.
-
- :param compare:
- intent(in) The value used for comparision.
-
- :param new_val:
- intent(in) The new value for the atomic variable,
- assigned to the atomic variable, if ``compare`` equals the value of the
- atomic variable.
-
- :param stat:
- intent(out) Stores the status STAT= and may be NULL.
-
- :param type:
- intent(in) the data type, i.e. ``BT_INTEGER`` (1) or
- ``BT_LOGICAL`` (2).
-
- :param kind:
- intent(in) The kind value (only 4; always ``int``)
-
-.. index:: Coarray, _gfortran_caf_atomic_op
-
-.. _gfortran_caf_atomic_op:
-
-_gfortran_caf_atomic_op --- Atomic operation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_atomic_op (int op, caf_token_t token, size_t offset, int image_index, void *value, void *old, int *stat, int type, int kind)
-
- Apply an operation atomically to an atomic integer or logical variable.
- After the operation, :samp:`{old}` contains the value just before the operation,
- which, respectively, adds (GFC_CAF_ATOMIC_ADD) atomically the ``value`` to
- the atomic integer variable or does a bitwise AND, OR or exclusive OR
- between the atomic variable and :samp:`{value}` ; the result is then stored in the
- atomic variable.
-
- :param op:
- intent(in) the operation to be performed; possible values
- ``GFC_CAF_ATOMIC_ADD`` (1), ``GFC_CAF_ATOMIC_AND`` (2),
- ``GFC_CAF_ATOMIC_OR`` (3), ``GFC_CAF_ATOMIC_XOR`` (4).
-
- :param token:
- intent(in) An opaque pointer identifying the coarray.
-
- :param offset:
- intent(in) By which amount of bytes the actual data is
- shifted compared to the base address of the coarray.
-
- :param image_index:
- intent(in) The ID of the remote image; must be a
- positive number; zero indicates the current image when used noncoindexed.
-
- :param old:
- intent(out) The value which the atomic variable had
- just before the atomic operation.
-
- :param val:
- intent(in) The new value for the atomic variable,
- assigned to the atomic variable, if ``compare`` equals the value of the
- atomic variable.
-
- :param stat:
- intent(out) Stores the status STAT= and may be NULL.
-
- :param type:
- intent(in) the data type, i.e. ``BT_INTEGER`` (1) or
- ``BT_LOGICAL`` (2)
-
- :param kind:
- intent(in) the kind value (only 4; always ``int``)
-
-.. index:: Coarray, _gfortran_caf_co_broadcast
-
-.. _gfortran_caf_co_broadcast:
-
-_gfortran_caf_co_broadcast --- Sending data to all images
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_co_broadcast (gfc_descriptor_t *a, int source_image, int *stat, char *errmsg, size_t errmsg_len)
-
- Distribute a value from a given image to all other images in the team. Has to
- be called collectively.
-
- :param a:
- intent(inout) An array descriptor with the data to be
- broadcasted (on :samp:`{source_image}`) or to be received (other images).
-
- :param source_image:
- intent(in) The ID of the image from which the
- data should be broadcasted.
-
- :param stat:
- intent(out) Stores the status STAT= and may be NULL.
-
- :param errmsg:
- intent(out) When an error occurs, this will be set to
- an error message; may be NULL.
-
- :param errmsg_len:
- intent(in) the buffer size of errmsg.
-
-.. index:: Coarray, _gfortran_caf_co_max
-
-.. _gfortran_caf_co_max:
-
-_gfortran_caf_co_max --- Collective maximum reduction
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_co_max (gfc_descriptor_t *a, int result_image, int *stat, char *errmsg, int a_len, size_t errmsg_len)
-
- Calculates for each array element of the variable :samp:`{a}` the maximum
- value for that element in the current team; if :samp:`{result_image}` has the
- value 0, the result shall be stored on all images, otherwise, only on the
- specified image. This function operates on numeric values and character
- strings.
-
- :param a:
- intent(inout) An array descriptor for the data to be
- processed. On the destination image(s) the result overwrites the old content.
-
- :param result_image:
- intent(in) The ID of the image to which the
- reduced value should be copied to; if zero, it has to be copied to all images.
-
- :param stat:
- intent(out) Stores the status STAT= and may be NULL.
-
- :param errmsg:
- intent(out) When an error occurs, this will be set to
- an error message; may be NULL.
-
- :param a_len:
- intent(in) the string length of argument :samp:`{a}`
-
- :param errmsg_len:
- intent(in) the buffer size of errmsg
-
- .. note::
-
- If :samp:`{result_image}` is nonzero, the data in the array descriptor :samp:`{a}` on
- all images except of the specified one become undefined; hence, the library may
- make use of this.
-
-.. index:: Coarray, _gfortran_caf_co_min
-
-.. _gfortran_caf_co_min:
-
-_gfortran_caf_co_min --- Collective minimum reduction
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_co_min (gfc_descriptor_t *a, int result_image, int *stat, char *errmsg, int a_len, size_t errmsg_len)
-
- Calculates for each array element of the variable :samp:`{a}` the minimum
- value for that element in the current team; if :samp:`{result_image}` has the
- value 0, the result shall be stored on all images, otherwise, only on the
- specified image. This function operates on numeric values and character
- strings.
-
- :param a:
- intent(inout) An array descriptor for the data to be
- processed. On the destination image(s) the result overwrites the old content.
-
- :param result_image:
- intent(in) The ID of the image to which the
- reduced value should be copied to; if zero, it has to be copied to all images.
-
- :param stat:
- intent(out) Stores the status STAT= and may be NULL.
-
- :param errmsg:
- intent(out) When an error occurs, this will be set to
- an error message; may be NULL.
-
- :param a_len:
- intent(in) the string length of argument :samp:`{a}`
-
- :param errmsg_len:
- intent(in) the buffer size of errmsg
-
- .. note::
-
- If :samp:`{result_image}` is nonzero, the data in the array descriptor :samp:`{a}` on
- all images except of the specified one become undefined; hence, the library may
- make use of this.
-
-.. index:: Coarray, _gfortran_caf_co_sum
-
-.. _gfortran_caf_co_sum:
-
-_gfortran_caf_co_sum --- Collective summing reduction
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_co_sum (gfc_descriptor_t *a, int result_image, int *stat, char *errmsg, size_t errmsg_len)
-
- Calculates for each array element of the variable :samp:`{a}` the sum of all
- values for that element in the current team; if :samp:`{result_image}` has the
- value 0, the result shall be stored on all images, otherwise, only on the
- specified image. This function operates on numeric values only.
-
- :param a:
- intent(inout) An array descriptor with the data to be
- processed. On the destination image(s) the result overwrites the old content.
-
- :param result_image:
- intent(in) The ID of the image to which the
- reduced value should be copied to; if zero, it has to be copied to all images.
-
- :param stat:
- intent(out) Stores the status STAT= and may be NULL.
-
- :param errmsg:
- intent(out) When an error occurs, this will be set to
- an error message; may be NULL.
-
- :param errmsg_len:
- intent(in) the buffer size of errmsg
-
- .. note::
-
- If :samp:`{result_image}` is nonzero, the data in the array descriptor :samp:`{a}` on
- all images except of the specified one become undefined; hence, the library may
- make use of this.
-
-.. index:: Coarray, _gfortran_caf_co_reduce
-
-.. _gfortran_caf_co_reduce:
-
-_gfortran_caf_co_reduce --- Generic collective reduction
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_caf_co_reduce (gfc_descriptor_t *a, void * (*opr) (void *, void *), int opr_flags, int result_image, int *stat, char *errmsg, int a_len, size_t errmsg_len)
-
- Calculates for each array element of the variable :samp:`{a}` the reduction
- value for that element in the current team; if :samp:`{result_image}` has the
- value 0, the result shall be stored on all images, otherwise, only on the
- specified image. The :samp:`{opr}` is a pure function doing a mathematically
- commutative and associative operation.
-
- :param a:
- intent(inout) An array descriptor with the data to be
- processed. On the destination image(s) the result overwrites the old content.
-
- :param opr:
- intent(in) Function pointer to the reduction function
-
- :param opr_flags:
- intent(in) Flags regarding the reduction function
-
- :param result_image:
- intent(in) The ID of the image to which the
- reduced value should be copied to; if zero, it has to be copied to all images.
-
- :param stat:
- intent(out) Stores the status STAT= and may be NULL.
-
- :param errmsg:
- intent(out) When an error occurs, this will be set to
- an error message; may be NULL.
-
- :param a_len:
- intent(in) the string length of argument :samp:`{a}`
-
- :param errmsg_len:
- intent(in) the buffer size of errmsg
-
- .. note::
-
- If :samp:`{result_image}` is nonzero, the data in the array descriptor :samp:`{a}` on
- all images except of the specified one become undefined; hence, the library may
- make use of this.
-
- For character arguments, the result is passed as first argument, followed
- by the result string length, next come the two string arguments, followed
- by the two hidden string length arguments. With C binding, there are no hidden
- arguments and by-reference passing and either only a single character is passed
- or an array descriptor.
-
-.. Intrinsic Procedures
- -
-
-Some basic guidelines for editing this document:
-
-(1) The intrinsic procedures are to be listed in alphabetical order.
-(2) The generic name is to be used.
-(3) The specific names are included in the function index and in a
- table at the end of the node (See ABS entry).
-(4) Try to maintain the same style for each entry. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/funding.rst b/gcc/fortran/doc/gfortran/funding.rst
deleted file mode 100644
index 2d76ad9..0000000
--- a/gcc/fortran/doc/gfortran/funding.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. include:: ../../../../doc/funding.rst \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/general-public-license-3.rst b/gcc/fortran/doc/gfortran/general-public-license-3.rst
deleted file mode 100644
index cfca1c3..0000000
--- a/gcc/fortran/doc/gfortran/general-public-license-3.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. include:: ../../../../doc/gpl-3.0.rst \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/gnu-fortran-and-gcc.rst b/gcc/fortran/doc/gfortran/gnu-fortran-and-gcc.rst
deleted file mode 100644
index 2ec86fb..0000000
--- a/gcc/fortran/doc/gfortran/gnu-fortran-and-gcc.rst
+++ /dev/null
@@ -1,48 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: GNU Compiler Collection, GCC
-
-.. _gnu-fortran-and-gcc:
-
-GNU Fortran and GCC
-*******************
-
-GNU Fortran is a part of GCC, the :dfn:`GNU Compiler Collection`. GCC
-consists of a collection of front ends for various languages, which
-translate the source code into a language-independent form called
-:dfn:`GENERIC`. This is then processed by a common middle end which
-provides optimization, and then passed to one of a collection of back
-ends which generate code for different computer architectures and
-operating systems.
-
-Functionally, this is implemented with a driver program (:command:`gcc`)
-which provides the command-line interface for the compiler. It calls
-the relevant compiler front-end program (e.g., :command:`f951` for
-Fortran) for each file in the source code, and then calls the assembler
-and linker as appropriate to produce the compiled output. In a copy of
-GCC that has been compiled with Fortran language support enabled,
-:command:`gcc` recognizes files with :samp:`.f`, :samp:`.for`, :samp:`.ftn`,
-:samp:`.f90`, :samp:`.f95`, :samp:`.f03` and :samp:`.f08` extensions as
-Fortran source code, and compiles it accordingly. A :command:`gfortran`
-driver program is also provided, which is identical to :command:`gcc`
-except that it automatically links the Fortran runtime libraries into the
-compiled program.
-
-Source files with :samp:`.f`, :samp:`.for`, :samp:`.fpp`, :samp:`.ftn`, :samp:`.F`,
-:samp:`.FOR`, :samp:`.FPP`, and :samp:`.FTN` extensions are treated as fixed form.
-Source files with :samp:`.f90`, :samp:`.f95`, :samp:`.f03`, :samp:`.f08`,
-:samp:`.F90`, :samp:`.F95`, :samp:`.F03` and :samp:`.F08` extensions are
-treated as free form. The capitalized versions of either form are run
-through preprocessing. Source files with the lower case :samp:`.fpp`
-extension are also run through preprocessing.
-
-This manual specifically documents the Fortran front end, which handles
-the programming language's syntax and semantics. The aspects of GCC
-which relate to the optimization passes and the back-end code generation
-that relate to the optimization passes and the back-end code generation
-are documented in the GCC manual; see :ref:`gcc:top`.
-The two manuals together provide a complete reference for the GNU
-Fortran compiler. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/gnu-fortran-command-options.rst b/gcc/fortran/doc/gfortran/gnu-fortran-command-options.rst
deleted file mode 100644
index 880b34c..0000000
--- a/gcc/fortran/doc/gfortran/gnu-fortran-command-options.rst
+++ /dev/null
@@ -1,33 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: GNU Fortran command options, command options, options, gfortran command
-
-GNU Fortran Command Options
----------------------------
-
-.. _invoking-gnu-fortran:
-
-.. toctree::
- :maxdepth: 2
-
- gnu-fortran-command-options/description
- gnu-fortran-command-options/option-summary
- gnu-fortran-command-options/options-controlling-fortran-dialect
- gnu-fortran-command-options/enable-and-customize-preprocessing
- gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings
- gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran
- gnu-fortran-command-options/options-for-directory-search
- gnu-fortran-command-options/influencing-the-linking-step
- gnu-fortran-command-options/influencing-runtime-behavior
- gnu-fortran-command-options/options-for-code-generation-conventions
- gnu-fortran-command-options/options-for-interoperability-with-other-languages
- gnu-fortran-command-options/environment-variables-affecting-gfortran
-
-.. only:: man
-
- .. toctree::
-
- copyright \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/description.rst b/gcc/fortran/doc/gfortran/gnu-fortran-command-options/description.rst
deleted file mode 100644
index c0f0594..0000000
--- a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/description.rst
+++ /dev/null
@@ -1,39 +0,0 @@
-.. only:: man
-
- Synopsis
- ^^^^^^^^
-
- gfortran [ :option:`-c` | :option:`-S` | :option:`-E` ]
- [ :option:`-g` ] [ :option:`-pg` ] [ :option:`-O`:samp:`{level}` ]
- [ :option:`-W`:samp:`{warn}`...] [ :option:`-pedantic` ]
- [ :option:`-I`:samp:`{dir}`...] [ :option:`-L`:samp:`{dir}`...]
- [ :option:`-D`:samp:`{macro}` [= :samp:`{defn}` ]...] [ :option:`-U`:samp:`{macro}` ]
- [ :option:`-f`:samp:`{option}`...]
- [ :option:`-m`:samp:`{machine-option}`...]
- [ :option:`-o` :samp:`{outfile}` ] :samp:`{infile}`...
-
-Description
-^^^^^^^^^^^
-
-The :command:`gfortran` command supports all the options supported by the
-:command:`gcc` command. Only options specific to GNU Fortran are documented
-here.
-
-See :ref:`gcc:invoking-gcc`, for information
-on the non-Fortran-specific aspects of the :command:`gcc` command (and,
-therefore, the :command:`gfortran` command).
-
-.. index:: options, negative forms
-
-All GCC and GNU Fortran options
-are accepted both by :command:`gfortran` and by :command:`gcc`
-(as well as any other drivers built at the same time,
-such as :command:`g++`),
-since adding GNU Fortran to the GCC distribution
-enables acceptance of GNU Fortran options
-by all of the relevant drivers.
-
-In some cases, options have positive and negative forms;
-the negative form of :samp:`-ffoo` would be :samp:`-fno-foo`.
-This manual documents only one of these two forms, whichever
-one is not the default. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst b/gcc/fortran/doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst
deleted file mode 100644
index 0db92c6..0000000
--- a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst
+++ /dev/null
@@ -1,298 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: preprocessor, options, preprocessor, CPP, FPP, Conditional compilation, Preprocessing, preprocessor, include file handling
-
-.. _preprocessing-options:
-
-Enable and customize preprocessing
-**********************************
-
-Many Fortran compilers including GNU Fortran allow passing the source code
-through a C preprocessor (CPP; sometimes also called the Fortran preprocessor,
-FPP) to allow for conditional compilation. In the case of GNU Fortran,
-this is the GNU C Preprocessor in the traditional mode. On systems with
-case-preserving file names, the preprocessor is automatically invoked if the
-filename extension is :samp:`.F`, :samp:`.FOR`, :samp:`.FTN`, :samp:`.fpp`,
-:samp:`.FPP`, :samp:`.F90`, :samp:`.F95`, :samp:`.F03` or :samp:`.F08`. To manually
-invoke the preprocessor on any file, use :option:`-cpp`, to disable
-preprocessing on files where the preprocessor is run automatically, use
-:option:`-nocpp`.
-
-If a preprocessed file includes another file with the Fortran ``INCLUDE``
-statement, the included file is not preprocessed. To preprocess included
-files, use the equivalent preprocessor statement ``#include``.
-
-If GNU Fortran invokes the preprocessor, ``__GFORTRAN__``
-is defined. The macros ``__GNUC__``, ``__GNUC_MINOR__`` and
-``__GNUC_PATCHLEVEL__`` can be used to determine the version of the
-compiler. See :ref:`cpp:top` for details.
-
-GNU Fortran supports a number of ``INTEGER`` and ``REAL`` kind types
-in additional to the kind types required by the Fortran standard.
-The availability of any given kind type is architecture dependent. The
-following pre-defined preprocessor macros can be used to conditionally
-include code for these additional kind types: ``__GFC_INT_1__``,
-``__GFC_INT_2__``, ``__GFC_INT_8__``, ``__GFC_INT_16__``,
-``__GFC_REAL_10__``, and ``__GFC_REAL_16__``.
-
-While CPP is the de-facto standard for preprocessing Fortran code,
-Part 3 of the Fortran 95 standard (ISO/IEC 1539-3:1998) defines
-Conditional Compilation, which is not widely used and not directly
-supported by the GNU Fortran compiler. You can use the program coco
-to preprocess such files (http://www.daniellnagle.com/coco.html).
-
-The following options control preprocessing of Fortran code:
-
-.. index:: cpp, fpp, preprocessor, enable, preprocessor, disable
-
-.. option:: -cpp, -nocpp
-
- Enable preprocessing. The preprocessor is automatically invoked if
- the file extension is :samp:`.fpp`, :samp:`.FPP`, :samp:`.F`, :samp:`.FOR`,
- :samp:`.FTN`, :samp:`.F90`, :samp:`.F95`, :samp:`.F03` or :samp:`.F08`. Use
- this option to manually enable preprocessing of any kind of Fortran file.
-
- To disable preprocessing of files with any of the above listed extensions,
- use the negative form: :option:`-nocpp`.
-
- The preprocessor is run in traditional mode. Any restrictions of the
- file-format, especially the limits on line length, apply for
- preprocessed output as well, so it might be advisable to use the
- :option:`-ffree-line-length-none` or :option:`-ffixed-line-length-none`
- options.
-
-.. index:: dM, preprocessor, debugging, debugging, preprocessor
-
-.. option:: -dM
-
- Instead of the normal output, generate a list of ``'#define'``
- directives for all the macros defined during the execution of the
- preprocessor, including predefined macros. This gives you a way
- of finding out what is predefined in your version of the preprocessor.
- Assuming you have no file :samp:`foo.f90`, the command
-
- .. code-block:: bash
-
- touch foo.f90; gfortran -cpp -E -dM foo.f90
-
- will show all the predefined macros.
-
-.. index:: dD, preprocessor, debugging, debugging, preprocessor
-
-.. option:: -dD
-
- Like :option:`-dM` except in two respects: it does not include the
- predefined macros, and it outputs both the ``#define`` directives
- and the result of preprocessing. Both kinds of output go to the
- standard output file.
-
-.. index:: dN, preprocessor, debugging, debugging, preprocessor
-
-.. option:: -dN
-
- Like :option:`-dD`, but emit only the macro names, not their expansions.
-
-.. index:: dU, preprocessor, debugging, debugging, preprocessor
-
-.. option:: -dU
-
- Like dD except that only macros that are expanded, or whose
- definedness is tested in preprocessor directives, are output; the
- output is delayed until the use or test of the macro; and ``'#undef'``
- directives are also output for macros tested but undefined at the time.
-
-.. index:: dI, preprocessor, debugging, debugging, preprocessor
-
-.. option:: -dI
-
- Output ``'#include'`` directives in addition to the result
- of preprocessing.
-
-.. index:: fworking-directory, preprocessor, working directory
-
-.. option:: -fworking-directory
-
- Enable generation of linemarkers in the preprocessor output that will
- let the compiler know the current working directory at the time of
- preprocessing. When this option is enabled, the preprocessor will emit,
- after the initial linemarker, a second linemarker with the current
- working directory followed by two slashes. GCC will use this directory,
- when it is present in the preprocessed input, as the directory emitted
- as the current working directory in some debugging information formats.
- This option is implicitly enabled if debugging information is enabled,
- but this can be inhibited with the negated form
- :option:`-fno-working-directory`. If the :option:`-P` flag is present
- in the command line, this option has no effect, since no ``#line``
- directives are emitted whatsoever.
-
-.. index:: idirafter dir, preprocessing, include path
-
-.. option:: -idirafter {dir}
-
- Search :samp:`{dir}` for include files, but do it after all directories
- specified with :option:`-I` and the standard system directories have
- been exhausted. :samp:`{dir}` is treated as a system include directory.
- If dir begins with ``=``, then the ``=`` will be replaced by
- the sysroot prefix; see :option:`--sysroot` and :option:`-isysroot`.
-
-.. index:: imultilib dir, preprocessing, include path
-
-.. option:: -imultilib {dir}
-
- Use :samp:`{dir}` as a subdirectory of the directory containing target-specific
- C++ headers.
-
-.. index:: iprefix prefix, preprocessing, include path
-
-.. option:: -iprefix {prefix}
-
- Specify :samp:`{prefix}` as the prefix for subsequent :option:`-iwithprefix`
- options. If the :samp:`{prefix}` represents a directory, you should include
- the final ``'/'``.
-
-.. index:: isysroot dir, preprocessing, include path
-
-.. option:: -isysroot {dir}
-
- This option is like the :option:`--sysroot` option, but applies only to
- header files. See the :option:`--sysroot` option for more information.
-
-.. index:: iquote dir, preprocessing, include path
-
-.. option:: -iquote {dir}
-
- Search :samp:`{dir}` only for header files requested with ``#include "file"`` ;
- they are not searched for ``#include <file>``, before all directories
- specified by :option:`-I` and before the standard system directories. If
- :samp:`{dir}` begins with ``=``, then the ``=`` will be replaced by the
- sysroot prefix; see :option:`--sysroot` and :option:`-isysroot`.
-
-.. index:: isystem dir, preprocessing, include path
-
-.. option:: -isystem {dir}
-
- Search :samp:`{dir}` for header files, after all directories specified by
- :option:`-I` but before the standard system directories. Mark it as a
- system directory, so that it gets the same special treatment as is
- applied to the standard system directories. If :samp:`{dir}` begins with
- ``=``, then the ``=`` will be replaced by the sysroot prefix;
- see :option:`--sysroot` and :option:`-isysroot`.
-
-.. index:: nostdinc
-
-.. option:: -nostdinc
-
- Do not search the standard system directories for header files. Only
- the directories you have specified with :option:`-I` options (and the
- directory of the current file, if appropriate) are searched.
-
-.. index:: undef
-
-.. option:: -undef
-
- Do not predefine any system-specific or GCC-specific macros.
- The standard predefined macros remain defined.
-
-.. index:: Apredicate=answer, preprocessing, assertion
-
-.. option:: -Apredicate={answer}
-
- Make an assertion with the predicate :samp:`{predicate}` and answer :samp:`{answer}`.
- This form is preferred to the older form -A predicate(answer), which is still
- supported, because it does not use shell special characters.
-
-.. index:: A-predicate=answer, preprocessing, assertion
-
-.. option:: -A-predicate={answer}
-
- Cancel an assertion with the predicate :samp:`{predicate}` and answer :samp:`{answer}`.
-
-.. index:: C, preprocessing, keep comments
-
-.. option:: -C
-
- Do not discard comments. All comments are passed through to the output
- file, except for comments in processed directives, which are deleted
- along with the directive.
-
- You should be prepared for side effects when using :option:`-C` ; it causes
- the preprocessor to treat comments as tokens in their own right. For example,
- comments appearing at the start of what would be a directive line have the
- effect of turning that line into an ordinary source line, since the first
- token on the line is no longer a ``'#'``.
-
- Warning: this currently handles C-Style comments only. The preprocessor
- does not yet recognize Fortran-style comments.
-
-.. index:: CC, preprocessing, keep comments
-
-.. option:: -CC
-
- Do not discard comments, including during macro expansion. This is like
- :option:`-C`, except that comments contained within macros are also passed
- through to the output file where the macro is expanded.
-
- In addition to the side-effects of the :option:`-C` option, the :option:`-CC`
- option causes all C++-style comments inside a macro to be converted to C-style
- comments. This is to prevent later use of that macro from inadvertently
- commenting out the remainder of the source line. The :option:`-CC` option
- is generally used to support lint comments.
-
- Warning: this currently handles C- and C++-Style comments only. The
- preprocessor does not yet recognize Fortran-style comments.
-
-.. index:: Dname, preprocessing, define macros
-
-.. option:: -Dname
-
- Predefine name as a macro, with definition ``1``.
-
-.. index:: Dname=definition, preprocessing, define macros
-
-.. option:: -Dname={definition}
-
- The contents of :samp:`{definition}` are tokenized and processed as if they
- appeared during translation phase three in a ``'#define'`` directive.
- In particular, the definition will be truncated by embedded newline
- characters.
-
- If you are invoking the preprocessor from a shell or shell-like program
- you may need to use the shell's quoting syntax to protect characters such
- as spaces that have a meaning in the shell syntax.
-
- If you wish to define a function-like macro on the command line, write
- its argument list with surrounding parentheses before the equals sign
- (if any). Parentheses are meaningful to most shells, so you will need
- to quote the option. With sh and csh, ``-D'name(args...)=definition'``
- works.
-
- :option:`-D` and :option:`-U` options are processed in the order they are
- given on the command line. All -imacros file and -include file options
- are processed after all -D and -U options.
-
-.. index:: H
-
-.. option:: -H
-
- Print the name of each header file used, in addition to other normal
- activities. Each name is indented to show how deep in the ``'#include'``
- stack it is.
-
-.. index:: P, preprocessing, no linemarkers
-
-.. option:: -P
-
- Inhibit generation of linemarkers in the output from the preprocessor.
- This might be useful when running the preprocessor on something that
- is not C code, and will be sent to a program which might be confused
- by the linemarkers.
-
-.. index:: Uname, preprocessing, undefine macros
-
-.. option:: -Uname
-
- Cancel any previous definition of :samp:`{name}`, either built in or provided
- with a :option:`-D` option. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst b/gcc/fortran/doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst
deleted file mode 100644
index cd6af4c..0000000
--- a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: environment variable
-
-.. _environment-variables:
-
-Environment variables affecting gfortran
-****************************************
-
-Environment
-^^^^^^^^^^^
-
-The :command:`gfortran` compiler currently does not make use of any environment
-variables to control its operation above and beyond those
-that affect the operation of :command:`gcc`.
-
-See :ref:`gcc:environment-variables`, for information on environment
-variables.
-
-See :ref:`runtime`, for environment variables that affect the
-run-time behavior of programs compiled with GNU Fortran. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst b/gcc/fortran/doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst
deleted file mode 100644
index 08f0558..0000000
--- a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst
+++ /dev/null
@@ -1,67 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: options, runtime
-
-.. _runtime-options:
-
-Influencing runtime behavior
-****************************
-
-These options affect the runtime behavior of programs compiled with GNU Fortran.
-
-.. index:: fconvert=conversion
-
-.. option:: -fconvert={conversion}
-
- Specify the representation of data for unformatted files. Valid
- values for conversion on most systems are: :samp:`native`, the default;
- :samp:`swap`, swap between big- and little-endian; :samp:`big-endian`, use
- big-endian representation for unformatted files; :samp:`little-endian`, use
- little-endian representation for unformatted files.
-
- On POWER systems which suppport :option:`-mabi=ieeelongdouble`,
- there are additional options, which can be combined with others with
- commas. Those are
-
- * :option:`-fconvert=r16_ieee` Use IEEE 128-bit format for
- ``REAL(KIND=16)``.
-
- * :option:`-fconvert=r16_ibm` Use IBM long double format for
- ``REAL(KIND=16)``.
-
- This option has an effect only when used in the main program.
- The ``CONVERT`` specifier and the GFORTRAN_CONVERT_UNIT environment
- variable override the default specified by :option:`-fconvert`.
-
-.. index:: frecord-marker=length
-
-.. option:: -frecord-marker={length}
-
- Specify the length of record markers for unformatted files.
- Valid values for :samp:`{length}` are 4 and 8. Default is 4.
- This is different from previous versions of :command:`gfortran`,
- which specified a default record marker length of 8 on most
- systems. If you want to read or write files compatible
- with earlier versions of :command:`gfortran`, use :option:`-frecord-marker=8`.
-
-.. index:: fmax-subrecord-length=length
-
-.. option:: -fmax-subrecord-length={length}
-
- Specify the maximum length for a subrecord. The maximum permitted
- value for length is 2147483639, which is also the default. Only
- really useful for use by the gfortran testsuite.
-
-.. index:: fsign-zero
-
-.. option:: -fsign-zero
-
- When enabled, floating point numbers of value zero with the sign bit set
- are written as negative number in formatted output and treated as
- negative in the ``SIGN`` intrinsic. :option:`-fno-sign-zero` does not
- print the negative sign of zero values (or values rounded to zero for I/O)
- and regards zero as positive number in the ``SIGN`` intrinsic for
- compatibility with Fortran 77. The default is :option:`-fsign-zero`. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst b/gcc/fortran/doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst
deleted file mode 100644
index 2e9e39f..0000000
--- a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst
+++ /dev/null
@@ -1,37 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: options, linking, linking, static
-
-.. _link-options:
-
-Influencing the linking step
-****************************
-
-These options come into play when the compiler links object files into an
-executable output file. They are meaningless if the compiler is not doing
-a link step.
-
-.. index:: static-libgfortran
-
-.. option:: -static-libgfortran
-
- On systems that provide :samp:`libgfortran` as a shared and a static
- library, this option forces the use of the static version. If no
- shared version of :samp:`libgfortran` was built when the compiler was
- configured, this option has no effect.
-
-.. index:: static-libquadmath
-
-.. option:: -static-libquadmath
-
- On systems that provide :samp:`libquadmath` as a shared and a static
- library, this option forces the use of the static version. If no
- shared version of :samp:`libquadmath` was built when the compiler was
- configured, this option has no effect.
-
- Please note that the :samp:`libquadmath` runtime library is licensed under the
- GNU Lesser General Public License (LGPL), and linking it statically introduces
- requirements when redistributing the resulting binaries. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/option-summary.rst b/gcc/fortran/doc/gfortran/gnu-fortran-command-options/option-summary.rst
deleted file mode 100644
index 7e69d40..0000000
--- a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/option-summary.rst
+++ /dev/null
@@ -1,104 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _option-summary:
-
-Option summary
-**************
-
-Options
-^^^^^^^
-
-Here is a summary of all the options specific to GNU Fortran, grouped
-by type. Explanations are in the following sections.
-
-*Fortran Language Options*
- See :ref:`fortran-dialect-options`.
-
- :option:`-fall-intrinsics` :option:`-fallow-argument-mismatch` :option:`-fallow-invalid-boz` |gol|
- :option:`-fbackslash` :option:`-fcray-pointer` :option:`-fd-lines-as-code` :option:`-fd-lines-as-comments` |gol|
- :option:`-fdec` :option:`-fdec-char-conversions` :option:`-fdec-structure` :option:`-fdec-intrinsic-ints` |gol|
- :option:`-fdec-static` :option:`-fdec-math` :option:`-fdec-include` :option:`-fdec-format-defaults` |gol|
- :option:`-fdec-blank-format-item` :option:`-fdefault-double-8` :option:`-fdefault-integer-8` |gol|
- :option:`-fdefault-real-8` :option:`-fdefault-real-10` :option:`-fdefault-real-16` :option:`-fdollar-ok` |gol|
- :option:`-ffixed-line-length-n` :option:`-ffixed-line-length-none` :option:`-fpad-source` |gol|
- :option:`-ffree-form` :option:`-ffree-line-length-n` :option:`-ffree-line-length-none` |gol|
- :option:`-fimplicit-none` :option:`-finteger-4-integer-8` :option:`-fmax-identifier-length` |gol|
- :option:`-fmodule-private` :option:`-ffixed-form` :option:`-fno-range-check` :option:`-fopenacc` :option:`-fopenmp` |gol|
- :option:`-freal-4-real-10` :option:`-freal-4-real-16` :option:`-freal-4-real-8` :option:`-freal-8-real-10` |gol|
- :option:`-freal-8-real-16` :option:`-freal-8-real-4` :option:`-std=std` :option:`-ftest-forall-temp`
-
-*Preprocessing Options*
- See :ref:`preprocessing-options`.
-
- :option:`-A-question[=answer]` |gol|
- :option:`-Aquestion` = :samp:`{answer}` :option:`-C` :option:`-CC` :option:`-Dmacro[=defn]` |gol|
- :option:`-H` :option:`-P` |gol|
- :option:`-Umacro` :option:`-cpp` :option:`-dD` :option:`-dI` :option:`-dM` :option:`-dN` :option:`-dU` :option:`-fworking-directory`|gol|
- :option:`-imultilib` :samp:`{dir}` |gol|
- :option:`-iprefix` :samp:`{file}` :option:`-iquote` :option:`-isysroot` :samp:`{dir}` :option:`-isystem` :samp:`{dir}` :option:`-nocpp` |gol|
- :option:`-nostdinc` |gol|
- :option:`-undef`
-
-*Error and Warning Options*
- See :ref:`error-and-warning-options`.
-
- :option:`-Waliasing` :option:`-Wall` :option:`-Wampersand` :option:`-Warray-bounds` |gol|
- :option:`-Wc-binding-type` :option:`-Wcharacter-truncation` :option:`-Wconversion` |gol|
- :option:`-Wdo-subscript` :option:`-Wfunction-elimination` :option:`-Wimplicit-interface` |gol|
- :option:`-Wimplicit-procedure` :option:`-Wintrinsic-shadow` :option:`-Wuse-without-only` |gol|
- :option:`-Wintrinsics-std` :option:`-Wline-truncation` :option:`-Wno-align-commons` |gol|
- :option:`-Wno-overwrite-recursive` :option:`-Wno-tabs` :option:`-Wreal-q-constant` :option:`-Wsurprising` |gol|
- :option:`-Wunderflow` :option:`-Wunused-parameter` :option:`-Wrealloc-lhs` :option:`-Wrealloc-lhs-all` |gol|
- :option:`-Wfrontend-loop-interchange` :option:`-Wtarget-lifetime` :option:`-fmax-errors=n` |gol|
- :option:`-fsyntax-only` :option:`-pedantic` |gol|
- :option:`-pedantic-errors`
-
-*Debugging Options*
- See :ref:`debugging-options`.
-
- :option:`-fbacktrace` :option:`-fdump-fortran-optimized` :option:`-fdump-fortran-original` |gol|
- :option:`-fdebug-aux-vars` :option:`-fdump-fortran-global` :option:`-fdump-parse-tree` :option:`-ffpe-trap=list` |gol|
- :option:`-ffpe-summary=list`
-
-*Directory Options*
- See :ref:`directory-options`.
-
- :option:`-Idir` :option:`-Jdir` :option:`-fintrinsic-modules-path` :samp:`{dir}`
-
-*Link Options*
- See :ref:`link-options`.
-
- :option:`-static-libgfortran` :option:`-static-libquadmath`
-
-*Runtime Options*
- See :ref:`runtime-options`.
-
- :option:`-fconvert=conversion` :option:`-fmax-subrecord-length=length` |gol|
- :option:`-frecord-marker=length` :option:`-fsign-zero`
-
-*Interoperability Options*
- See :ref:`interoperability-options`.
-
- :option:`-fc-prototypes` :option:`-fc-prototypes-external`
-
-*Code Generation Options*
- See :ref:`code-gen-options`.
-
- :option:`-faggressive-function-elimination` :option:`-fblas-matmul-limit=n` |gol|
- :option:`-fbounds-check` :option:`-ftail-call-workaround` :option:`-ftail-call-workaround=n` |gol|
- :option:`-fcheck-array-temporaries` |gol|
- :option:`-fcheck=<all|array-temps|bits|bounds|do|mem|pointer|recursion>` |gol|
- :option:`-fcoarray=<none|single|lib>` :option:`-fexternal-blas` :option:`-ff2c` |gol|
- :option:`-ffrontend-loop-interchange` :option:`-ffrontend-optimize` |gol|
- :option:`-finit-character=n` :option:`-finit-integer=n` :option:`-finit-local-zero` |gol|
- :option:`-finit-derived` :option:`-finit-logical=<true|false>` |gol|
- :option:`-finit-real=<zero|inf|-inf|nan|snan>`|gol|
- :option:`-finline-matmul-limit=n` |gol|
- :option:`-finline-arg-packing` :option:`-fmax-array-constructor=n` |gol|
- :option:`-fmax-stack-var-size=n` :option:`-fno-align-commons` :option:`-fno-automatic` |gol|
- :option:`-fno-protect-parens` :option:`-fno-underscoring` :option:`-fsecond-underscore` |gol|
- :option:`-fpack-derived` :option:`-frealloc-lhs` :option:`-frecursive` :option:`-frepack-arrays` |gol|
- :option:`-fshort-enums` :option:`-fstack-arrays` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst b/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst
deleted file mode 100644
index 175f925..0000000
--- a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst
+++ /dev/null
@@ -1,411 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: dialect options, language, dialect options, options, dialect
-
-.. _fortran-dialect-options:
-
-Options controlling Fortran dialect
-***********************************
-
-The following options control the details of the Fortran dialect
-accepted by the compiler:
-
-.. index:: ffree-form, ffixed-form, options, Fortran dialect, file format, free, file format, fixed
-
-.. option:: -ffree-form, -ffixed-form
-
- Specify the layout used by the source file. The free form layout
- was introduced in Fortran 90. Fixed form was traditionally used in
- older Fortran programs. When neither option is specified, the source
- form is determined by the file extension.
-
-.. index:: fall-intrinsics
-
-.. option:: -fall-intrinsics
-
- This option causes all intrinsic procedures (including the GNU-specific
- extensions) to be accepted. This can be useful with :option:`-std=` to
- force standard-compliance but get access to the full range of intrinsics
- available with :command:`gfortran`. As a consequence, :option:`-Wintrinsics-std`
- will be ignored and no user-defined procedure with the same name as any
- intrinsic will be called except when it is explicitly declared ``EXTERNAL``.
-
-.. index:: fallow-argument-mismatch
-
-.. option:: -fallow-argument-mismatch
-
- Some code contains calls to external procedures with mismatches
- between the calls and the procedure definition, or with mismatches
- between different calls. Such code is non-conforming, and will usually
- be flagged with an error. This options degrades the error to a
- warning, which can only be disabled by disabling all warnings via
- :option:`-w`. Only a single occurrence per argument is flagged by this
- warning. :option:`-fallow-argument-mismatch` is implied by
- :option:`-std=legacy`.
-
- Using this option is *strongly* discouraged. It is possible to
- provide standard-conforming code which allows different types of
- arguments by using an explicit interface and ``TYPE(*)``.
-
-.. index:: allow-invalid-boz
-
-.. option:: -fallow-invalid-boz
-
- A BOZ literal constant can occur in a limited number of contexts in
- standard conforming Fortran. This option degrades an error condition
- to a warning, and allows a BOZ literal constant to appear where the
- Fortran standard would otherwise prohibit its use.
-
-.. index:: fd-lines-as-code, fd-lines-as-comments
-
-.. option:: -fd-lines-as-code, -fd-lines-as-comments
-
- Enable special treatment for lines beginning with ``d`` or ``D``
- in fixed form sources. If the :option:`-fd-lines-as-code` option is
- given they are treated as if the first column contained a blank. If the
- :option:`-fd-lines-as-comments` option is given, they are treated as
- comment lines.
-
-.. index:: fdec
-
-.. option:: -fdec
-
- DEC compatibility mode. Enables extensions and other features that mimic
- the default behavior of older compilers (such as DEC).
- These features are non-standard and should be avoided at all costs.
- For details on GNU Fortran's implementation of these extensions see the
- full documentation.
-
- Other flags enabled by this switch are:
-
- :option:`-fdollar-ok` :option:`-fcray-pointer` :option:`-fdec-char-conversions` |gol|
- :option:`-fdec-structure` :option:`-fdec-intrinsic-ints` :option:`-fdec-static` |gol|
- :option:`-fdec-math` :option:`-fdec-include` :option:`-fdec-blank-format-item` |gol|
- :option:`-fdec-format-defaults`
-
- If :option:`-fd-lines-as-code` / :option:`-fd-lines-as-comments` are unset, then
- :option:`-fdec` also sets :option:`-fd-lines-as-comments`.
-
-.. index:: fdec-char-conversions
-
-.. option:: -fdec-char-conversions
-
- Enable the use of character literals in assignments and ``DATA`` statements
- for non-character variables.
-
-.. index:: fdec-structure
-
-.. option:: -fdec-structure
-
- Enable DEC ``STRUCTURE`` and ``RECORD`` as well as ``UNION``,
- ``MAP``, and dot ('.') as a member separator (in addition to '%'). This is
- provided for compatibility only; Fortran 90 derived types should be used
- instead where possible.
-
-.. index:: fdec-intrinsic-ints
-
-.. option:: -fdec-intrinsic-ints
-
- Enable B/I/J/K kind variants of existing integer functions (e.g. BIAND, IIAND,
- JIAND, etc...). For a complete list of intrinsics see the full documentation.
-
-.. index:: fdec-math
-
-.. option:: -fdec-math
-
- Enable legacy math intrinsics such as COTAN and degree-valued trigonometric
- functions (e.g. TAND, ATAND, etc...) for compatability with older code.
-
-.. index:: fdec-static
-
-.. option:: -fdec-static
-
- Enable DEC-style STATIC and AUTOMATIC attributes to explicitly specify
- the storage of variables and other objects.
-
-.. index:: fdec-include
-
-.. option:: -fdec-include
-
- Enable parsing of INCLUDE as a statement in addition to parsing it as
- INCLUDE line. When parsed as INCLUDE statement, INCLUDE does not have to
- be on a single line and can use line continuations.
-
-.. index:: fdec-format-defaults
-
-.. option:: -fdec-format-defaults
-
- Enable format specifiers F, G and I to be used without width specifiers,
- default widths will be used instead.
-
-.. index:: fdec-blank-format-item
-
-.. option:: -fdec-blank-format-item
-
- Enable a blank format item at the end of a format specification i.e. nothing
- following the final comma.
-
-.. index:: fdollar-ok, $, symbol names, character set
-
-.. option:: -fdollar-ok
-
- Allow :samp:`$` as a valid non-first character in a symbol name. Symbols
- that start with :samp:`$` are rejected since it is unclear which rules to
- apply to implicit typing as different vendors implement different rules.
- Using :samp:`$` in ``IMPLICIT`` statements is also rejected.
-
-.. index:: backslash, backslash, escape characters
-
-.. option:: -fbackslash
-
- Change the interpretation of backslashes in string literals from a single
- backslash character to 'C-style' escape characters. The following
- combinations are expanded ``\a``, ``\b``, ``\f``, ``\n``,
- ``\r``, ``\t``, ``\v``, ``\\``, and ``\0`` to the ASCII
- characters alert, backspace, form feed, newline, carriage return,
- horizontal tab, vertical tab, backslash, and NUL, respectively.
- Additionally, ``\x``:samp:`{nn}`, ``\u``:samp:`{nnnn}` and
- ``\U``:samp:`{nnnnnnnn}` (where each :samp:`{n}` is a hexadecimal digit) are
- translated into the Unicode characters corresponding to the specified code
- points. All other combinations of a character preceded by \ are
- unexpanded.
-
-.. index:: fmodule-private, module entities, private
-
-.. option:: -fmodule-private
-
- Set the default accessibility of module entities to ``PRIVATE``.
- Use-associated entities will not be accessible unless they are explicitly
- declared as ``PUBLIC``.
-
-.. index:: ffixed-line-length-n, file format, fixed
-
-.. option:: -ffixed-line-length-n
- -ffixed-line-length-none
- -ffixed-line-length-0
-
- Set column after which characters are ignored in typical fixed-form
- lines in the source file, and, unless ``-fno-pad-source``, through which
- spaces are assumed (as if padded to that length) after the ends of short
- fixed-form lines.
-
- Popular values for :samp:`{n}` include 72 (the
- standard and the default), 80 (card image), and 132 (corresponding
- to 'extended-source' options in some popular compilers).
- :samp:`{n}` may also be :samp:`none`, meaning that the entire line is meaningful
- and that continued character constants never have implicit spaces appended
- to them to fill out the line.
- :option:`-ffixed-line-length-0` means the same thing as
- :option:`-ffixed-line-length-none`.
-
-.. index:: fpad-source
-
-.. option:: -fno-pad-source
-
- By default fixed-form lines have spaces assumed (as if padded to that length)
- after the ends of short fixed-form lines. This is not done either if
- :option:`-ffixed-line-length-0`, :option:`-ffixed-line-length-none` or
- if :option:`-fno-pad-source` option is used. With any of those options
- continued character constants never have implicit spaces appended
- to them to fill out the line.
-
-.. index:: ffree-line-length-n, file format, free
-
-.. option:: -ffree-line-length-n
- -ffree-line-length-none
- -ffree-line-length-0
-
- Set column after which characters are ignored in typical free-form
- lines in the source file. The default value is 132.
- :samp:`{n}` may be :samp:`none`, meaning that the entire line is meaningful.
- :option:`-ffree-line-length-0` means the same thing as
- :option:`-ffree-line-length-none`.
-
-.. index:: fmax-identifier-length=n
-
-.. option:: -fmax-identifier-length={n}
-
- Specify the maximum allowed identifier length. Typical values are
- 31 (Fortran 95) and 63 (Fortran 2003 and later).
-
-.. index:: fimplicit-none
-
-.. option:: -fimplicit-none
-
- Specify that no implicit typing is allowed, unless overridden by explicit
- ``IMPLICIT`` statements. This is the equivalent of adding
- ``implicit none`` to the start of every procedure.
-
-.. index:: fcray-pointer
-
-.. option:: -fcray-pointer
-
- Enable the Cray pointer extension, which provides C-like pointer
- functionality.
-
-.. index:: fopenacc, OpenACC
-
-.. option:: -fopenacc
-
- Enable the OpenACC extensions. This includes OpenACC ``!$acc``
- directives in free form and ``c$acc``, ``*$acc`` and
- ``!$acc`` directives in fixed form, ``!$`` conditional
- compilation sentinels in free form and ``c$``, ``*$`` and
- ``!$`` sentinels in fixed form, and when linking arranges for the
- OpenACC runtime library to be linked in.
-
-.. index:: fopenmp, OpenMP
-
-.. option:: -fopenmp
-
- Enable the OpenMP extensions. This includes OpenMP ``!$omp`` directives
- in free form
- and ``c$omp``, ``*$omp`` and ``!$omp`` directives in fixed form,
- ``!$`` conditional compilation sentinels in free form
- and ``c$``, ``*$`` and ``!$`` sentinels in fixed form,
- and when linking arranges for the OpenMP runtime library to be linked
- in. The option :option:`-fopenmp` implies :option:`-frecursive`.
-
-.. index:: frange-check
-
-.. option:: -fno-range-check
-
- Disable range checking on results of simplification of constant
- expressions during compilation. For example, GNU Fortran will give
- an error at compile time when simplifying ``a = 1. / 0``.
- With this option, no error will be given and ``a`` will be assigned
- the value ``+Infinity``. If an expression evaluates to a value
- outside of the relevant range of [ ``-HUGE()`` : ``HUGE()`` ],
- then the expression will be replaced by ``-Inf`` or ``+Inf``
- as appropriate.
- Similarly, ``DATA i/Z'FFFFFFFF'/`` will result in an integer overflow
- on most systems, but with :option:`-fno-range-check` the value will
- 'wrap around' and ``i`` will be initialized to -1 instead.
-
-.. index:: fdefault-integer-8
-
-.. option:: -fdefault-integer-8
-
- Set the default integer and logical types to an 8 byte wide type. This option
- also affects the kind of integer constants like ``42``. Unlike
- :option:`-finteger-4-integer-8`, it does not promote variables with explicit
- kind declaration.
-
-.. index:: fdefault-real-8
-
-.. option:: -fdefault-real-8
-
- Set the default real type to an 8 byte wide type. This option also affects
- the kind of non-double real constants like ``1.0``. This option promotes
- the default width of ``DOUBLE PRECISION`` and double real constants
- like ``1.d0`` to 16 bytes if possible. If ``-fdefault-double-8``
- is given along with ``fdefault-real-8``, ``DOUBLE PRECISION``
- and double real constants are not promoted. Unlike :option:`-freal-4-real-8`,
- ``fdefault-real-8`` does not promote variables with explicit kind
- declarations.
-
-.. index:: fdefault-real-10
-
-.. option:: -fdefault-real-10
-
- Set the default real type to an 10 byte wide type. This option also affects
- the kind of non-double real constants like ``1.0``. This option promotes
- the default width of ``DOUBLE PRECISION`` and double real constants
- like ``1.d0`` to 16 bytes if possible. If ``-fdefault-double-8``
- is given along with ``fdefault-real-10``, ``DOUBLE PRECISION``
- and double real constants are not promoted. Unlike :option:`-freal-4-real-10`,
- ``fdefault-real-10`` does not promote variables with explicit kind
- declarations.
-
-.. index:: fdefault-real-16
-
-.. option:: -fdefault-real-16
-
- Set the default real type to an 16 byte wide type. This option also affects
- the kind of non-double real constants like ``1.0``. This option promotes
- the default width of ``DOUBLE PRECISION`` and double real constants
- like ``1.d0`` to 16 bytes if possible. If ``-fdefault-double-8``
- is given along with ``fdefault-real-16``, ``DOUBLE PRECISION``
- and double real constants are not promoted. Unlike :option:`-freal-4-real-16`,
- ``fdefault-real-16`` does not promote variables with explicit kind
- declarations.
-
-.. index:: fdefault-double-8
-
-.. option:: -fdefault-double-8
-
- Set the ``DOUBLE PRECISION`` type and double real constants
- like ``1.d0`` to an 8 byte wide type. Do nothing if this
- is already the default. This option prevents :option:`-fdefault-real-8`,
- :option:`-fdefault-real-10`, and :option:`-fdefault-real-16`,
- from promoting ``DOUBLE PRECISION`` and double real constants like
- ``1.d0`` to 16 bytes.
-
-.. index:: finteger-4-integer-8
-
-.. option:: -finteger-4-integer-8
-
- Promote all ``INTEGER(KIND=4)`` entities to an ``INTEGER(KIND=8)``
- entities. If ``KIND=8`` is unavailable, then an error will be issued.
- This option should be used with care and may not be suitable for your codes.
- Areas of possible concern include calls to external procedures,
- alignment in ``EQUIVALENCE`` and/or ``COMMON``, generic interfaces,
- BOZ literal constant conversion, and I/O. Inspection of the intermediate
- representation of the translated Fortran code, produced by
- :option:`-fdump-tree-original`, is suggested.
-
-.. index:: freal-4-real-8, freal-4-real-10, freal-4-real-16, freal-8-real-4, freal-8-real-10, freal-8-real-16, options, real kind type promotion
-
-.. option:: -freal-4-real-8, -freal-4-real-10, -freal-4-real-16, -freal-8-real-4, -freal-8-real-10, -freal-8-real-16
-
- Promote all ``REAL(KIND=M)`` entities to ``REAL(KIND=N)`` entities.
- If ``REAL(KIND=N)`` is unavailable, then an error will be issued.
- The ``-freal-4-`` flags also affect the default real kind and the
- ``-freal-8-`` flags also the double-precision real kind. All other
- real-kind types are unaffected by this option. The promotion is also
- applied to real literal constants of default and double-precision kind
- and a specified kind number of 4 or 8, respectively.
- However, ``-fdefault-real-8``, ``-fdefault-real-10``,
- ``-fdefault-real-10``, and ``-fdefault-double-8`` take precedence
- for the default and double-precision real kinds, both for real literal
- constants and for declarations without a kind number.
- Note that for ``REAL(KIND=KIND(1.0))`` the literal may get promoted and
- then the result may get promoted again.
- These options should be used with care and may not be suitable for your
- codes. Areas of possible concern include calls to external procedures,
- alignment in ``EQUIVALENCE`` and/or ``COMMON``, generic interfaces,
- BOZ literal constant conversion, and I/O and calls to intrinsic procedures
- when passing a value to the ``kind=`` dummy argument. Inspection of the
- intermediate representation of the translated Fortran code, produced by
- :option:`-fdump-fortran-original` or :option:`-fdump-tree-original`, is suggested.
-
-.. index:: std=std option
-
-.. option:: -std={std}
-
- Specify the standard to which the program is expected to conform,
- which may be one of :samp:`f95`, :samp:`f2003`, :samp:`f2008`,
- :samp:`f2018`, :samp:`gnu`, or :samp:`legacy`. The default value for
- :samp:`{std}` is :samp:`gnu`, which specifies a superset of the latest
- Fortran standard that includes all of the extensions supported by GNU
- Fortran, although warnings will be given for obsolete extensions not
- recommended for use in new code. The :samp:`legacy` value is
- equivalent but without the warnings for obsolete extensions, and may
- be useful for old non-standard programs. The :samp:`f95`,
- :samp:`f2003`, :samp:`f2008`, and :samp:`f2018` values specify strict
- conformance to the Fortran 95, Fortran 2003, Fortran 2008 and Fortran
- 2018 standards, respectively; errors are given for all extensions
- beyond the relevant language standard, and warnings are given for the
- Fortran 77 features that are permitted but obsolescent in later
- standards. The deprecated option :samp:`-std=f2008ts` acts as an alias for
- :samp:`-std=f2018`. It is only present for backwards compatibility with
- earlier gfortran versions and should not be used any more.
-
-.. index:: ftest-forall-temp
-
-.. option:: -ftest-forall-temp
-
- Enhance test coverage by forcing most forall assignments to use temporary. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst b/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst
deleted file mode 100644
index f83846a..0000000
--- a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst
+++ /dev/null
@@ -1,583 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: code generation, conventions, options, code generation, options, run-time
-
-.. _code-gen-options:
-
-Options for code generation conventions
-***************************************
-
-These machine-independent options control the interface conventions
-used in code generation.
-
-Most of them have both positive and negative forms; the negative form
-of :samp:`-ffoo` would be :samp:`-fno-foo`. In the table below, only
-one of the forms is listed---the one which is not the default. You
-can figure out the other form by either removing no- or adding
-it.
-
-.. index:: fno-automatic, SAVE statement, statement, SAVE
-
-.. option:: -fno-automatic
-
- Treat each program unit (except those marked as RECURSIVE) as if the
- ``SAVE`` statement were specified for every local variable and array
- referenced in it. Does not affect common blocks. (Some Fortran compilers
- provide this option under the name :option:`-static` or :option:`-save`.)
- The default, which is :option:`-fautomatic`, uses the stack for local
- variables smaller than the value given by :option:`-fmax-stack-var-size`.
- Use the option :option:`-frecursive` to use no static memory.
-
- Local variables or arrays having an explicit ``SAVE`` attribute are
- silently ignored unless the :option:`-pedantic` option is added.
-
-.. index:: calling convention, f2c calling convention, g77 calling convention, libf2c calling convention
-
-.. option:: -ff2c
-
- Generate code designed to be compatible with code generated
- by :command:`g77` and :command:`f2c`.
-
- The calling conventions used by :command:`g77` (originally implemented
- in :command:`f2c`) require functions that return type
- default ``REAL`` to actually return the C type ``double``, and
- functions that return type ``COMPLEX`` to return the values via an
- extra argument in the calling sequence that points to where to
- store the return value. Under the default GNU calling conventions, such
- functions simply return their results as they would in GNU
- C---default ``REAL`` functions return the C type ``float``, and
- ``COMPLEX`` functions return the GNU C type ``complex``.
- Additionally, this option implies the :option:`-fsecond-underscore`
- option, unless :option:`-fno-second-underscore` is explicitly requested.
-
- This does not affect the generation of code that interfaces with
- the :command:`libgfortran` library.
-
- .. warning::
-
- It is not a good idea to mix Fortran code compiled with
- :option:`-ff2c` with code compiled with the default :option:`-fno-f2c`
- calling conventions as, calling ``COMPLEX`` or default ``REAL``
- functions between program parts which were compiled with different
- calling conventions will break at execution time.
-
- .. warning::
-
- This will break code which passes intrinsic functions
- of type default ``REAL`` or ``COMPLEX`` as actual arguments, as
- the library implementations use the :option:`-fno-f2c` calling conventions.
-
-.. index:: fno-underscoring, underscore, symbol names, underscores, transforming symbol names, symbol names, transforming
-
-.. option:: -fno-underscoring
-
- Do not transform names of entities specified in the Fortran
- source file by appending underscores to them.
-
- With :option:`-funderscoring` in effect, GNU Fortran appends one
- underscore to external names with no underscores. This is done to ensure
- compatibility with code produced by many UNIX Fortran compilers.
-
- .. warning::
-
- The default behavior of GNU Fortran is
- incompatible with :command:`f2c` and :command:`g77`, please use the
- :option:`-ff2c` option if you want object files compiled with
- GNU Fortran to be compatible with object code created with these
- tools.
-
- Use of :option:`-fno-underscoring` is not recommended unless you are
- experimenting with issues such as integration of GNU Fortran into
- existing system environments (vis-ā-vis existing libraries, tools,
- and so on).
-
- For example, with :option:`-funderscoring`, and assuming that ``j()`` and
- ``max_count()`` are external functions while ``my_var`` and
- ``lvar`` are local variables, a statement like
-
- .. code-block:: fortran
-
- I = J() + MAX_COUNT (MY_VAR, LVAR)
-
- is implemented as something akin to:
-
- .. code-block:: fortran
-
- i = j_() + max_count__(&my_var__, &lvar);
-
- With :option:`-fno-underscoring`, the same statement is implemented as:
-
- .. code-block:: fortran
-
- i = j() + max_count(&my_var, &lvar);
-
- Use of :option:`-fno-underscoring` allows direct specification of
- user-defined names while debugging and when interfacing GNU Fortran
- code with other languages.
-
- Note that just because the names match does *not* mean that the
- interface implemented by GNU Fortran for an external name matches the
- interface implemented by some other language for that same name.
- That is, getting code produced by GNU Fortran to link to code produced
- by some other compiler using this or any other method can be only a
- small part of the overall solution---getting the code generated by
- both compilers to agree on issues other than naming can require
- significant effort, and, unlike naming disagreements, linkers normally
- cannot detect disagreements in these other areas.
-
- Also, note that with :option:`-fno-underscoring`, the lack of appended
- underscores introduces the very real possibility that a user-defined
- external name will conflict with a name in a system library, which
- could make finding unresolved-reference bugs quite difficult in some
- cases---they might occur at program run time, and show up only as
- buggy behavior at run time.
-
- In future versions of GNU Fortran we hope to improve naming and linking
- issues so that debugging always involves using the names as they appear
- in the source, even if the names as seen by the linker are mangled to
- prevent accidental linking between procedures with incompatible
- interfaces.
-
-.. index:: fsecond-underscore, underscore, symbol names, underscores, transforming symbol names, symbol names, transforming, f2c calling convention, g77 calling convention, libf2c calling convention
-
-.. option:: -fsecond-underscore
-
- By default, GNU Fortran appends an underscore to external
- names. If this option is used GNU Fortran appends two
- underscores to names with underscores and one underscore to external names
- with no underscores. GNU Fortran also appends two underscores to
- internal names with underscores to avoid naming collisions with external
- names.
-
- This option has no effect if :option:`-fno-underscoring` is
- in effect. It is implied by the :option:`-ff2c` option.
-
- Otherwise, with this option, an external name such as ``MAX_COUNT``
- is implemented as a reference to the link-time external symbol
- ``max_count__``, instead of ``max_count_``. This is required
- for compatibility with :command:`g77` and :command:`f2c`, and is implied
- by use of the :option:`-ff2c` option.
-
-.. index:: fcoarray, coarrays
-
-.. option:: -fcoarray={<keyword>}
-
- none
- Disable coarray support; using coarray declarations and image-control
- statements will produce a compile-time error. (Default)
-
- single
- Single-image mode, i.e. ``num_images()`` is always one.
-
- lib
- Library-based coarray parallelization; a suitable GNU Fortran coarray
- library needs to be linked.
-
-.. index:: fcheck, array, bounds checking, bit intrinsics checking, bounds checking, pointer checking, memory checking, range checking, subscript checking, checking subscripts, run-time checking, checking array temporaries
-
-.. option:: -fcheck={<keyword>}
-
- Enable the generation of run-time checks; the argument shall be
- a comma-delimited list of the following keywords. Prefixing a check with
- no- disables it if it was activated by a previous specification.
-
- all
- Enable all run-time test of :option:`-fcheck`.
-
- array-temps
- Warns at run time when for passing an actual argument a temporary array
- had to be generated. The information generated by this warning is
- sometimes useful in optimization, in order to avoid such temporaries.
-
- Note: The warning is only printed once per location.
-
- bits
- Enable generation of run-time checks for invalid arguments to the bit
- manipulation intrinsics.
-
- bounds
- Enable generation of run-time checks for array subscripts
- and against the declared minimum and maximum values. It also
- checks array indices for assumed and deferred
- shape arrays against the actual allocated bounds and ensures that all string
- lengths are equal for character array constructors without an explicit
- typespec.
-
- Some checks require that :option:`-fcheck=bounds` is set for
- the compilation of the main program.
-
- Note: In the future this may also include other forms of checking, e.g.,
- checking substring references.
-
- do
- Enable generation of run-time checks for invalid modification of loop
- iteration variables.
-
- mem
- Enable generation of run-time checks for memory allocation.
- Note: This option does not affect explicit allocations using the
- ``ALLOCATE`` statement, which will be always checked.
-
- pointer
- Enable generation of run-time checks for pointers and allocatables.
-
- recursion
- Enable generation of run-time checks for recursively called subroutines and
- functions which are not marked as recursive. See also :option:`-frecursive`.
- Note: This check does not work for OpenMP programs and is disabled if used
- together with :option:`-frecursive` and :option:`-fopenmp`.
-
- Example: Assuming you have a file :samp:`foo.f90`, the command
-
- .. code-block:: bash
-
- gfortran -fcheck=all,no-array-temps foo.f90
-
- will compile the file with all checks enabled as specified above except
- warnings for generated array temporaries.
-
-.. index:: fbounds-check
-
-.. option:: -fbounds-check
-
- .. Note: This option is also referred in gcc's manpage
-
- Deprecated alias for :option:`-fcheck=bounds`.
-
-.. index:: tail-call-workaround
-
-.. option:: -ftail-call-workaround, -ftail-call-workaround={n}
-
- Some C interfaces to Fortran codes violate the gfortran ABI by
- omitting the hidden character length arguments as described in
- See :ref:`argument-passing-conventions`. This can lead to crashes
- because pushing arguments for tail calls can overflow the stack.
-
- To provide a workaround for existing binary packages, this option
- disables tail call optimization for gfortran procedures with character
- arguments. With :option:`-ftail-call-workaround=2` tail call optimization
- is disabled in all gfortran procedures with character arguments,
- with :option:`-ftail-call-workaround=1` or equivalent
- :option:`-ftail-call-workaround` only in gfortran procedures with character
- arguments that call implicitly prototyped procedures.
-
- Using this option can lead to problems including crashes due to
- insufficient stack space.
-
- It is *very strongly* recommended to fix the code in question.
- The :option:`-fc-prototypes-external` option can be used to generate
- prototypes which conform to gfortran's ABI, for inclusion in the
- source code.
-
- Support for this option will likely be withdrawn in a future release
- of gfortran.
-
- The negative form, :option:`-fno-tail-call-workaround` or equivalent
- :option:`-ftail-call-workaround=0`, can be used to disable this option.
-
- Default is currently :option:`-ftail-call-workaround`, this will change
- in future releases.
-
-.. index:: fcheck-array-temporaries
-
-.. option:: -fcheck-array-temporaries
-
- Deprecated alias for :option:`-fcheck=array-temps`.
-
-.. index:: fmax-array-constructor
-
-.. option:: -fmax-array-constructor={n}
-
- This option can be used to increase the upper limit permitted in
- array constructors. The code below requires this option to expand
- the array at compile time.
-
- .. code-block:: fortran
-
- program test
- implicit none
- integer j
- integer, parameter :: n = 100000
- integer, parameter :: i(n) = (/ (2*j, j = 1, n) /)
- print '(10(I0,1X))', i
- end program test
-
- .. warning::
- This option can lead to long compile times and excessively
- large object files.
-
- The default value for :samp:`{n}` is 65535.
-
-.. index:: fmax-stack-var-size
-
-.. option:: -fmax-stack-var-size={n}
-
- This option specifies the size in bytes of the largest array that will be put
- on the stack; if the size is exceeded static memory is used (except in
- procedures marked as RECURSIVE). Use the option :option:`-frecursive` to
- allow for recursive procedures which do not have a RECURSIVE attribute or
- for parallel programs. Use :option:`-fno-automatic` to never use the stack.
-
- This option currently only affects local arrays declared with constant
- bounds, and may not apply to all character variables.
- Future versions of GNU Fortran may improve this behavior.
-
- The default value for :samp:`{n}` is 65536.
-
-.. index:: fstack-arrays
-
-.. option:: -fstack-arrays
-
- Adding this option will make the Fortran compiler put all arrays of
- unknown size and array temporaries onto stack memory. If your program uses very
- large local arrays it is possible that you will have to extend your runtime
- limits for stack memory on some operating systems. This flag is enabled
- by default at optimization level :option:`-Ofast` unless
- :option:`-fmax-stack-var-size` is specified.
-
-.. index:: fpack-derived, structure packing
-
-.. option:: -fpack-derived
-
- This option tells GNU Fortran to pack derived type members as closely as
- possible. Code compiled with this option is likely to be incompatible
- with code compiled without this option, and may execute slower.
-
-.. index:: frepack-arrays, repacking arrays
-
-.. option:: -frepack-arrays
-
- In some circumstances GNU Fortran may pass assumed shape array
- sections via a descriptor describing a noncontiguous area of memory.
- This option adds code to the function prologue to repack the data into
- a contiguous block at runtime.
-
- This should result in faster accesses to the array. However it can introduce
- significant overhead to the function call, especially when the passed data
- is noncontiguous.
-
-.. index:: fshort-enums
-
-.. option:: -fshort-enums
-
- This option is provided for interoperability with C code that was
- compiled with the :option:`-fshort-enums` option. It will make
- GNU Fortran choose the smallest ``INTEGER`` kind a given
- enumerator set will fit in, and give all its enumerators this kind.
-
-.. index:: finline-arg-packing
-
-.. option:: -finline-arg-packing
-
- When passing an assumed-shape argument of a procedure as actual
- argument to an assumed-size or explicit size or as argument to a
- procedure that does not have an explicit interface, the argument may
- have to be packed, that is put into contiguous memory. An example is
- the call to ``foo`` in
-
- .. code-block:: fortran
-
- subroutine foo(a)
- real, dimension(*) :: a
- end subroutine foo
- subroutine bar(b)
- real, dimension(:) :: b
- call foo(b)
- end subroutine bar
-
- When :option:`-finline-arg-packing` is in effect, this packing will be
- performed by inline code. This allows for more optimization while
- increasing code size.
-
- :option:`-finline-arg-packing` is implied by any of the :option:`-O` options
- except when optimizing for size via :option:`-Os`. If the code
- contains a very large number of argument that have to be packed, code
- size and also compilation time may become excessive. If that is the
- case, it may be better to disable this option. Instances of packing
- can be found by using :option:`-Warray-temporaries`.
-
-.. index:: fexternal-blas
-
-.. option:: -fexternal-blas
-
- This option will make :command:`gfortran` generate calls to BLAS functions
- for some matrix operations like ``MATMUL``, instead of using our own
- algorithms, if the size of the matrices involved is larger than a given
- limit (see :option:`-fblas-matmul-limit`). This may be profitable if an
- optimized vendor BLAS library is available. The BLAS library will have
- to be specified at link time.
-
-.. index:: fblas-matmul-limit
-
-.. option:: -fblas-matmul-limit={n}
-
- Only significant when :option:`-fexternal-blas` is in effect.
- Matrix multiplication of matrices with size larger than (or equal to) :samp:`{n}`
- will be performed by calls to BLAS functions, while others will be
- handled by :command:`gfortran` internal algorithms. If the matrices
- involved are not square, the size comparison is performed using the
- geometric mean of the dimensions of the argument and result matrices.
-
- The default value for :samp:`{n}` is 30.
-
-.. index:: finline-matmul-limit
-
-.. option:: -finline-matmul-limit={n}
-
- When front-end optimization is active, some calls to the ``MATMUL``
- intrinsic function will be inlined. This may result in code size
- increase if the size of the matrix cannot be determined at compile
- time, as code for both cases is generated. Setting
- ``-finline-matmul-limit=0`` will disable inlining in all cases.
- Setting this option with a value of :samp:`{n}` will produce inline code
- for matrices with size up to :samp:`{n}`. If the matrices involved are not
- square, the size comparison is performed using the geometric mean of
- the dimensions of the argument and result matrices.
-
- The default value for :samp:`{n}` is 30. The ``-fblas-matmul-limit``
- can be used to change this value.
-
-.. index:: frecursive
-
-.. option:: -frecursive
-
- Allow indirect recursion by forcing all local arrays to be allocated
- on the stack. This flag cannot be used together with
- :option:`-fmax-stack-var-size=` or :option:`-fno-automatic`.
-
-.. index:: finit-local-zero, finit-derived, finit-integer, finit-real, finit-logical, finit-character
-
-.. option:: -finit-local-zero
- -finit-derived
- -finit-integer={n}
- -finit-real={<zero|inf|-inf|nan|snan>}
- -finit-logical={<true|false>}
- -finit-character={n}
-
- The :option:`-finit-local-zero` option instructs the compiler to
- initialize local ``INTEGER``, ``REAL``, and ``COMPLEX``
- variables to zero, ``LOGICAL`` variables to false, and
- ``CHARACTER`` variables to a string of null bytes. Finer-grained
- initialization options are provided by the
- :option:`-finit-integer=n`,
- :option:`-finit-real=<zero|inf|-inf|nan|snan>` (which also initializes
- the real and imaginary parts of local ``COMPLEX`` variables),
- :option:`-finit-logical=<true|false>`, and
- :option:`-finit-character=n` (where :samp:`{n}` is an ASCII character
- value) options.
-
- With :option:`-finit-derived`, components of derived type variables will be
- initialized according to these flags. Components whose type is not covered by
- an explicit :option:`-finit-*` flag will be treated as described above with
- :option:`-finit-local-zero`.
-
- These options do not initialize
-
- * objects with the POINTER attribute
-
- * allocatable arrays
-
- * variables that appear in an ``EQUIVALENCE`` statement.
-
- (These limitations may be removed in future releases).
-
- Note that the :option:`-finit-real=nan` option initializes ``REAL``
- and ``COMPLEX`` variables with a quiet NaN. For a signalling NaN
- use :option:`-finit-real=snan` ; note, however, that compile-time
- optimizations may convert them into quiet NaN and that trapping
- needs to be enabled (e.g. via :option:`-ffpe-trap`).
-
- The :option:`-finit-integer` option will parse the value into an
- integer of type ``INTEGER(kind=C_LONG)`` on the host. Said value
- is then assigned to the integer variables in the Fortran code, which
- might result in wraparound if the value is too large for the kind.
-
- Finally, note that enabling any of the :option:`-finit-*` options will
- silence warnings that would have been emitted by :option:`-Wuninitialized`
- for the affected local variables.
-
-.. index:: falign-commons, alignment of COMMON blocks
-
-.. option:: -falign-commons
-
- By default, :command:`gfortran` enforces proper alignment of all variables in a
- ``COMMON`` block by padding them as needed. On certain platforms this is mandatory,
- on others it increases performance. If a ``COMMON`` block is not declared with
- consistent data types everywhere, this padding can cause trouble, and
- :option:`-fno-align-commons` can be used to disable automatic alignment. The
- same form of this option should be used for all files that share a ``COMMON`` block.
- To avoid potential alignment issues in ``COMMON`` blocks, it is recommended to order
- objects from largest to smallest.
-
-.. index:: fno-protect-parens, re-association of parenthesized expressions
-
-.. option:: -fno-protect-parens
-
- By default the parentheses in expression are honored for all optimization
- levels such that the compiler does not do any re-association. Using
- :option:`-fno-protect-parens` allows the compiler to reorder ``REAL`` and
- ``COMPLEX`` expressions to produce faster code. Note that for the re-association
- optimization :option:`-fno-signed-zeros` and :option:`-fno-trapping-math`
- need to be in effect. The parentheses protection is enabled by default, unless
- :option:`-Ofast` is given.
-
-.. index:: frealloc-lhs, Reallocate the LHS in assignments
-
-.. option:: -frealloc-lhs
-
- An allocatable left-hand side of an intrinsic assignment is automatically
- (re)allocated if it is either unallocated or has a different shape. The
- option is enabled by default except when :option:`-std=f95` is given. See
- also :option:`-Wrealloc-lhs`.
-
-.. index:: faggressive-function-elimination, Elimination of functions with identical argument lists
-
-.. option:: -faggressive-function-elimination
-
- Functions with identical argument lists are eliminated within
- statements, regardless of whether these functions are marked
- ``PURE`` or not. For example, in
-
- .. code-block:: fortran
-
- a = f(b,c) + f(b,c)
-
- there will only be a single call to ``f``. This option only works
- if :option:`-ffrontend-optimize` is in effect.
-
-.. index:: frontend-optimize, Front-end optimization
-
-.. option:: -ffrontend-optimize
-
- This option performs front-end optimization, based on manipulating
- parts the Fortran parse tree. Enabled by default by any :option:`-O` option
- except :option:`-O0` and :option:`-Og`. Optimizations enabled by this option
- include:
-
- * inlining calls to ``MATMUL``,
-
- * elimination of identical function calls within expressions,
-
- * removing unnecessary calls to ``TRIM`` in comparisons and assignments,
-
- * replacing ``TRIM(a)`` with ``a(1:LEN_TRIM(a))`` and
-
- * short-circuiting of logical operators (``.AND.`` and ``.OR.``).
-
- It can be deselected by specifying :option:`-fno-frontend-optimize`.
-
-.. index:: frontend-loop-interchange, loop interchange, Fortran
-
-.. option:: -ffrontend-loop-interchange
-
- Attempt to interchange loops in the Fortran front end where
- profitable. Enabled by default by any :option:`-O` option.
- At the moment, this option only affects ``FORALL`` and
- ``DO CONCURRENT`` statements with several forall triplets.
-
-See :ref:`gcc:code-gen-options`, for information on more options
-offered by the GBE
-shared by :command:`gfortran`, :command:`gcc`, and other GNU compilers. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst b/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst
deleted file mode 100644
index d7ec72e..0000000
--- a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst
+++ /dev/null
@@ -1,134 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: options, debugging, debugging information options
-
-.. _debugging-options:
-
-Options for debugging your program or GNU Fortran
-*************************************************
-
-GNU Fortran has various special options that are used for debugging
-either your program or the GNU Fortran compiler.
-
-.. index:: fdump-fortran-original
-
-.. option:: -fdump-fortran-original
-
- Output the internal parse tree after translating the source program
- into internal representation. This option is mostly useful for
- debugging the GNU Fortran compiler itself. The output generated by
- this option might change between releases. This option may also
- generate internal compiler errors for features which have only
- recently been added.
-
-.. index:: fdump-fortran-optimized
-
-.. option:: -fdump-fortran-optimized
-
- Output the parse tree after front-end optimization. Mostly useful for
- debugging the GNU Fortran compiler itself. The output generated by
- this option might change between releases. This option may also
- generate internal compiler errors for features which have only
- recently been added.
-
-.. index:: fdump-parse-tree
-
-.. option:: -fdump-parse-tree
-
- Output the internal parse tree after translating the source program
- into internal representation. Mostly useful for debugging the GNU
- Fortran compiler itself. The output generated by this option might
- change between releases. This option may also generate internal
- compiler errors for features which have only recently been added. This
- option is deprecated; use ``-fdump-fortran-original`` instead.
-
-.. index:: fdebug-aux-vars
-
-.. option:: -fdebug-aux-vars
-
- Renames internal variables created by the gfortran front end and makes
- them accessible to a debugger. The name of the internal variables then
- start with upper-case letters followed by an underscore. This option is
- useful for debugging the compiler's code generation together with
- ``-fdump-tree-original`` and enabling debugging of the executable
- program by using ``-g`` or ``-ggdb3``.
-
-.. index:: fdump-fortran-global
-
-.. option:: -fdump-fortran-global
-
- Output a list of the global identifiers after translating into
- middle-end representation. Mostly useful for debugging the GNU Fortran
- compiler itself. The output generated by this option might change
- between releases. This option may also generate internal compiler
- errors for features which have only recently been added.
-
-.. index:: ffpe-trap=list
-
-.. option:: -ffpe-trap={list}
-
- Specify a list of floating point exception traps to enable. On most
- systems, if a floating point exception occurs and the trap for that
- exception is enabled, a SIGFPE signal will be sent and the program
- being aborted, producing a core file useful for debugging. :samp:`{list}`
- is a (possibly empty) comma-separated list of the following
- exceptions: :samp:`invalid` (invalid floating point operation, such as
- ``SQRT(-1.0)``), :samp:`zero` (division by zero), :samp:`overflow`
- (overflow in a floating point operation), :samp:`underflow` (underflow
- in a floating point operation), :samp:`inexact` (loss of precision
- during operation), and :samp:`denormal` (operation performed on a
- denormal value). The first five exceptions correspond to the five
- IEEE 754 exceptions, whereas the last one (:samp:`denormal`) is not
- part of the IEEE 754 standard but is available on some common
- architectures such as x86.
-
- The first three exceptions (:samp:`invalid`, :samp:`zero`, and
- :samp:`overflow`) often indicate serious errors, and unless the program
- has provisions for dealing with these exceptions, enabling traps for
- these three exceptions is probably a good idea.
-
- If the option is used more than once in the command line, the lists will
- be joined: ' ``ffpe-trap=``:samp:`{list1}` ``ffpe-trap=``:samp:`{list2}` '
- is equivalent to ``ffpe-trap=``:samp:`{list1}`, :samp:`{list2}`.
-
- Note that once enabled an exception cannot be disabled (no negative form).
-
- Many, if not most, floating point operations incur loss of precision
- due to rounding, and hence the ``ffpe-trap=inexact`` is likely to
- be uninteresting in practice.
-
- By default no exception traps are enabled.
-
-.. index:: ffpe-summary=list
-
-.. option:: -ffpe-summary={list}
-
- Specify a list of floating-point exceptions, whose flag status is printed
- to ``ERROR_UNIT`` when invoking ``STOP`` and ``ERROR STOP``.
- :samp:`{list}` can be either :samp:`none`, :samp:`all` or a comma-separated list
- of the following exceptions: :samp:`invalid`, :samp:`zero`, :samp:`overflow`,
- :samp:`underflow`, :samp:`inexact` and :samp:`denormal`. (See
- :option:`-ffpe-trap` for a description of the exceptions.)
-
- If the option is used more than once in the command line, only the
- last one will be used.
-
- By default, a summary for all exceptions but :samp:`inexact` is shown.
-
-.. index:: fno-backtrace, backtrace, trace
-
-.. option:: -fno-backtrace
-
- When a serious runtime error is encountered or a deadly signal is
- emitted (segmentation fault, illegal instruction, bus error,
- floating-point exception, and the other POSIX signals that have the
- action :samp:`core`), the Fortran runtime library tries to output a
- backtrace of the error. ``-fno-backtrace`` disables the backtrace
- generation. This option only has influence for compilation of the
- Fortran main program.
-
-See :ref:`gcc:debugging-options`, for more information on
-debugging options. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst b/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst
deleted file mode 100644
index a76f150..0000000
--- a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst
+++ /dev/null
@@ -1,54 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: directory, options, options, directory search, search path, INCLUDE directive, directive, INCLUDE
-
-.. _directory-options:
-
-Options for directory search
-****************************
-
-These options affect how GNU Fortran searches
-for files specified by the ``INCLUDE`` directive and where it searches
-for previously compiled modules.
-
-It also affects the search paths used by :command:`cpp` when used to preprocess
-Fortran source.
-
-.. index:: Idir, directory, search paths for inclusion, inclusion, directory search paths for, search paths, for included files, paths, search, module search path
-
-.. option:: -Idir
-
- These affect interpretation of the ``INCLUDE`` directive
- (as well as of the ``#include`` directive of the :command:`cpp`
- preprocessor).
-
- Also note that the general behavior of :option:`-I` and
- ``INCLUDE`` is pretty much the same as of :option:`-I` with
- ``#include`` in the :command:`cpp` preprocessor, with regard to
- looking for :samp:`header.gcc` files and other such things.
-
- This path is also used to search for :samp:`.mod` files when previously
- compiled modules are required by a ``USE`` statement.
-
- See :ref:`gcc:directory-options`, for information on the
- :option:`-I` option.
-
-.. index:: Jdir, Mdir, paths, search, module search path
-
-.. option:: -Jdir
-
- This option specifies where to put :samp:`.mod` files for compiled modules.
- It is also added to the list of directories to searched by an ``USE``
- statement.
-
- The default is the current directory.
-
-.. index:: fintrinsic-modules-pathdir, paths, search, module search path
-
-.. option:: -fintrinsic-modules-path {dir}
-
- This option specifies the location of pre-compiled intrinsic modules, if
- they are not in the default location expected by the compiler. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst b/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst
deleted file mode 100644
index 65f418c..0000000
--- a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst
+++ /dev/null
@@ -1,63 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _interoperability-options:
-
-Options for interoperability with other languages
-*************************************************
-
-.. index:: c-prototypes, Generating C prototypes from Fortran BIND(C) enteties
-
-.. option:: -fc-prototypes
-
- This option will generate C prototypes from ``BIND(C)`` variable
- declarations, types and procedure interfaces and writes them to
- standard output. ``ENUM`` is not yet supported.
-
- The generated prototypes may need inclusion of an appropriate header,
- such as ``<stdint.h>`` or ``<stdlib.h>``. For types which are
- not specified using the appropriate kind from the ``iso_c_binding``
- module, a warning is added as a comment to the code.
-
- For function pointers, a pointer to a function returning ``int``
- without an explicit argument list is generated.
-
- Example of use:
-
- .. code-block:: shell-session
-
- $ gfortran -fc-prototypes -fsyntax-only foo.f90 > foo.h
-
- where the C code intended for interoperating with the Fortran code
- then uses ``#include "foo.h"``.
-
-.. index:: c-prototypes-external, Generating C prototypes from external procedures
-
-.. option:: -fc-prototypes-external
-
- This option will generate C prototypes from external functions and
- subroutines and write them to standard output. This may be useful for
- making sure that C bindings to Fortran code are correct. This option
- does not generate prototypes for ``BIND(C)`` procedures, use
- :option:`-fc-prototypes` for that.
-
- The generated prototypes may need inclusion of an appropriate
- header, such as ``<stdint.h>`` or ``<stdlib.h>``.
-
- This is primarily meant for legacy code to ensure that existing C
- bindings match what :command:`gfortran` emits. The generated C
- prototypes should be correct for the current version of the compiler,
- but may not match what other compilers or earlier versions of
- :command:`gfortran` need. For new developments, use of the
- ``BIND(C)`` features is recommended.
-
- Example of use:
-
- .. code-block:: shell-session
-
- $ gfortran -fc-prototypes-external -fsyntax-only foo.f > foo.h
-
- where the C code intended for interoperating with the Fortran code
- then uses ``#include "foo.h"``. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst b/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst
deleted file mode 100644
index 871fe57..0000000
--- a/gcc/fortran/doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst
+++ /dev/null
@@ -1,411 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: options, warnings, options, errors, warnings, suppressing, messages, error, messages, warning, suppressing warnings
-
-.. _error-and-warning-options:
-
-Options to request or suppress errors and warnings
-**************************************************
-
-Errors are diagnostic messages that report that the GNU Fortran compiler
-cannot compile the relevant piece of source code. The compiler will
-continue to process the program in an attempt to report further errors
-to aid in debugging, but will not produce any compiled output.
-
-Warnings are diagnostic messages that report constructions which
-are not inherently erroneous but which are risky or suggest there is
-likely to be a bug in the program. Unless :option:`-Werror` is specified,
-they do not prevent compilation of the program.
-
-You can request many specific warnings with options beginning :option:`-W`,
-for example :option:`-Wimplicit` to request warnings on implicit
-declarations. Each of these specific warning options also has a
-negative form beginning :option:`-Wno-` to turn off warnings;
-for example, :option:`-Wno-implicit`. This manual lists only one of the
-two forms, whichever is not the default.
-
-These options control the amount and kinds of errors and warnings produced
-by GNU Fortran:
-
-.. index:: fmax-errors=n, errors, limiting
-
-.. option:: -fmax-errors={n}
-
- Limits the maximum number of error messages to :samp:`{n}`, at which point
- GNU Fortran bails out rather than attempting to continue processing the
- source code. If :samp:`{n}` is 0, there is no limit on the number of error
- messages produced.
-
-.. index:: fsyntax-only, syntax checking
-
-.. option:: -fsyntax-only
-
- Check the code for syntax errors, but do not actually compile it. This
- will generate module files for each module present in the code, but no
- other output file.
-
-.. index:: pedantic, Wpedantic
-
-.. option:: -Wpedantic, -pedantic
-
- Issue warnings for uses of extensions to Fortran.
- :option:`-pedantic` also applies to C-language constructs where they
- occur in GNU Fortran source files, such as use of :samp:`\\e` in a
- character constant within a directive like ``#include``.
-
- Valid Fortran programs should compile properly with or without
- this option.
- However, without this option, certain GNU extensions and traditional
- Fortran features are supported as well.
- With this option, many of them are rejected.
-
- Some users try to use :option:`-pedantic` to check programs for conformance.
- They soon find that it does not do quite what they want---it finds some
- nonstandard practices, but not all.
- However, improvements to GNU Fortran in this area are welcome.
-
- This should be used in conjunction with :option:`-std=f95`,
- :option:`-std=f2003`, :option:`-std=f2008` or :option:`-std=f2018`.
-
-.. index:: pedantic-errors
-
-.. option:: -pedantic-errors
-
- Like :option:`-pedantic`, except that errors are produced rather than
- warnings.
-
-.. index:: Wall, all warnings, warnings, all
-
-.. option:: -Wall
-
- Enables commonly used warning options pertaining to usage that
- we recommend avoiding and that we believe are easy to avoid.
- This currently includes :option:`-Waliasing`, :option:`-Wampersand`,
- :option:`-Wconversion`, :option:`-Wsurprising`, :option:`-Wc-binding-type`,
- :option:`-Wintrinsics-std`, :option:`-Wtabs`, :option:`-Wintrinsic-shadow`,
- :option:`-Wline-truncation`, :option:`-Wtarget-lifetime`,
- :option:`-Winteger-division`, :option:`-Wreal-q-constant`, :option:`-Wunused`
- and :option:`-Wundefined-do-loop`.
-
-.. index:: Waliasing, aliasing, warnings, aliasing
-
-.. option:: -Waliasing
-
- Warn about possible aliasing of dummy arguments. Specifically, it warns
- if the same actual argument is associated with a dummy argument with
- ``INTENT(IN)`` and a dummy argument with ``INTENT(OUT)`` in a call
- with an explicit interface.
-
- The following example will trigger the warning.
-
- .. code-block:: fortran
-
- interface
- subroutine bar(a,b)
- integer, intent(in) :: a
- integer, intent(out) :: b
- end subroutine
- end interface
- integer :: a
-
- call bar(a,a)
-
-.. index:: Wampersand, warnings, ampersand, &
-
-.. option:: -Wampersand
-
- Warn about missing ampersand in continued character constants. The
- warning is given with :option:`-Wampersand`, :option:`-pedantic`,
- :option:`-std=f95`, :option:`-std=f2003`, :option:`-std=f2008` and
- :option:`-std=f2018`. Note: With no ampersand given in a continued
- character constant, GNU Fortran assumes continuation at the first
- non-comment, non-whitespace character after the ampersand that
- initiated the continuation.
-
-.. index:: Warray-temporaries, warnings, array temporaries
-
-.. option:: -Warray-temporaries
-
- Warn about array temporaries generated by the compiler. The information
- generated by this warning is sometimes useful in optimization, in order to
- avoid such temporaries.
-
-.. index:: Wc-binding-type, warning, C binding type
-
-.. option:: -Wc-binding-type
-
- Warn if the a variable might not be C interoperable. In particular, warn if
- the variable has been declared using an intrinsic type with default kind
- instead of using a kind parameter defined for C interoperability in the
- intrinsic ``ISO_C_Binding`` module. This option is implied by
- :option:`-Wall`.
-
-.. index:: Wcharacter-truncation, warnings, character truncation
-
-.. option:: -Wcharacter-truncation
-
- Warn when a character assignment will truncate the assigned string.
-
-.. index:: Wline-truncation, warnings, line truncation
-
-.. option:: -Wline-truncation
-
- Warn when a source code line will be truncated. This option is
- implied by :option:`-Wall`. For free-form source code, the default is
- :option:`-Werror=line-truncation` such that truncations are reported as
- error.
-
-.. index:: Wconversion, warnings, conversion, conversion
-
-.. option:: -Wconversion
-
- Warn about implicit conversions that are likely to change the value of
- the expression after conversion. Implied by :option:`-Wall`.
-
-.. index:: Wconversion-extra, warnings, conversion, conversion
-
-.. option:: -Wconversion-extra
-
- Warn about implicit conversions between different types and kinds. This
- option does *not* imply :option:`-Wconversion`.
-
-.. index:: Wextra, extra warnings, warnings, extra
-
-.. option:: -Wextra
-
- Enables some warning options for usages of language features which
- may be problematic. This currently includes :option:`-Wcompare-reals`,
- :option:`-Wunused-parameter` and :option:`-Wdo-subscript`.
-
-.. index:: Wfrontend-loop-interchange, warnings, loop interchange, loop interchange, warning
-
-.. option:: -Wfrontend-loop-interchange
-
- Warn when using :option:`-ffrontend-loop-interchange` for performing loop
- interchanges.
-
-.. index:: Wimplicit-interface, warnings, implicit interface
-
-.. option:: -Wimplicit-interface
-
- Warn if a procedure is called without an explicit interface.
- Note this only checks that an explicit interface is present. It does not
- check that the declared interfaces are consistent across program units.
-
-.. index:: Wimplicit-procedure, warnings, implicit procedure
-
-.. option:: -Wimplicit-procedure
-
- Warn if a procedure is called that has neither an explicit interface
- nor has been declared as ``EXTERNAL``.
-
-.. index:: Winteger-division, warnings, integer division, warnings, division of integers
-
-.. option:: -Winteger-division
-
- Warn if a constant integer division truncates its result.
- As an example, 3/5 evaluates to 0.
-
-.. index:: Wintrinsics-std, warnings, non-standard intrinsics, warnings, intrinsics of other standards
-
-.. option:: -Wintrinsics-std
-
- Warn if :command:`gfortran` finds a procedure named like an intrinsic not
- available in the currently selected standard (with :option:`-std`) and treats
- it as ``EXTERNAL`` procedure because of this. :option:`-fall-intrinsics` can
- be used to never trigger this behavior and always link to the intrinsic
- regardless of the selected standard.
-
-.. index:: Woverwrite-recursive, warnings, overwrite recursive
-
-.. option:: -Wno-overwrite-recursive
-
- Do not warn when :option:`-fno-automatic` is used with :option:`-frecursive`. Recursion
- will be broken if the relevant local variables do not have the attribute
- ``AUTOMATIC`` explicitly declared. This option can be used to suppress the warning
- when it is known that recursion is not broken. Useful for build environments that use
- :option:`-Werror`.
-
-.. index:: Wreal-q-constant, warnings, q exponent-letter
-
-.. option:: -Wreal-q-constant
-
- Produce a warning if a real-literal-constant contains a ``q``
- exponent-letter.
-
-.. index:: Wsurprising, warnings, suspicious code
-
-.. option:: -Wsurprising
-
- Produce a warning when 'suspicious' code constructs are encountered.
- While technically legal these usually indicate that an error has been made.
-
- This currently produces a warning under the following circumstances:
-
- * An INTEGER SELECT construct has a CASE that can never be matched as its
- lower value is greater than its upper value.
-
- * A LOGICAL SELECT construct has three CASE statements.
-
- * A TRANSFER specifies a source that is shorter than the destination.
-
- * The type of a function result is declared more than once with the same type. If
- :option:`-pedantic` or standard-conforming mode is enabled, this is an error.
-
- * A ``CHARACTER`` variable is declared with negative length.
-
- * With :option:`-fopenmp`, for fixed-form source code, when an ``omx``
- vendor-extension sentinel is encountered. (The equivalent ``ompx``,
- used in free-form source code, is diagnosed by default.)
-
-.. index:: Wtabs, warnings, tabs, tabulators
-
-.. option:: -Wtabs
-
- By default, tabs are accepted as whitespace, but tabs are not members
- of the Fortran Character Set. For continuation lines, a tab followed
- by a digit between 1 and 9 is supported. :option:`-Wtabs` will cause a
- warning to be issued if a tab is encountered. Note, :option:`-Wtabs` is
- active for :option:`-pedantic`, :option:`-std=f95`, :option:`-std=f2003`,
- :option:`-std=f2008`, :option:`-std=f2018` and
- :option:`-Wall`.
-
-.. index:: Wundefined-do-loop, warnings, undefined do loop
-
-.. option:: -Wundefined-do-loop
-
- Warn if a DO loop with step either 1 or -1 yields an underflow or an overflow
- during iteration of an induction variable of the loop.
- This option is implied by :option:`-Wall`.
-
-.. index:: Wunderflow, warnings, underflow, underflow
-
-.. option:: -Wunderflow
-
- Produce a warning when numerical constant expressions are
- encountered, which yield an UNDERFLOW during compilation. Enabled by default.
-
-.. index:: Wintrinsic-shadow, warnings, intrinsic, intrinsic
-
-.. option:: -Wintrinsic-shadow
-
- Warn if a user-defined procedure or module procedure has the same name as an
- intrinsic; in this case, an explicit interface or ``EXTERNAL`` or
- ``INTRINSIC`` declaration might be needed to get calls later resolved to
- the desired intrinsic/procedure. This option is implied by :option:`-Wall`.
-
-.. index:: Wuse-without-only, warnings, use statements, intrinsic
-
-.. option:: -Wuse-without-only
-
- Warn if a ``USE`` statement has no ``ONLY`` qualifier and
- thus implicitly imports all public entities of the used module.
-
-.. index:: Wunused-dummy-argument, warnings, unused dummy argument, unused dummy argument, dummy argument, unused
-
-.. option:: -Wunused-dummy-argument
-
- Warn about unused dummy arguments. This option is implied by :option:`-Wall`.
-
-.. index:: Wunused-parameter, warnings, unused parameter, unused parameter
-
-.. option:: -Wunused-parameter
-
- Contrary to :command:`gcc`'s meaning of :option:`-Wunused-parameter`,
- :command:`gfortran`'s implementation of this option does not warn
- about unused dummy arguments (see :option:`-Wunused-dummy-argument`),
- but about unused ``PARAMETER`` values. :option:`-Wunused-parameter`
- is implied by :option:`-Wextra` if also :option:`-Wunused` or
- :option:`-Wall` is used.
-
-.. index:: Walign-commons, warnings, alignment of COMMON blocks, alignment of COMMON blocks
-
-.. option:: -Walign-commons
-
- By default, :command:`gfortran` warns about any occasion of variables being
- padded for proper alignment inside a ``COMMON`` block. This warning can be turned
- off via :option:`-Wno-align-commons`. See also :option:`-falign-commons`.
-
-.. index:: Wfunction-elimination, function elimination, warnings, function elimination
-
-.. option:: -Wfunction-elimination
-
- Warn if any calls to impure functions are eliminated by the optimizations
- enabled by the :option:`-ffrontend-optimize` option.
- This option is implied by :option:`-Wextra`.
-
-.. index:: Wrealloc-lhs, Reallocate the LHS in assignments, notification
-
-.. option:: -Wrealloc-lhs
-
- Warn when the compiler might insert code to for allocation or reallocation of
- an allocatable array variable of intrinsic type in intrinsic assignments. In
- hot loops, the Fortran 2003 reallocation feature may reduce the performance.
- If the array is already allocated with the correct shape, consider using a
- whole-array array-spec (e.g. ``(:,:,:)``) for the variable on the left-hand
- side to prevent the reallocation check. Note that in some cases the warning
- is shown, even if the compiler will optimize reallocation checks away. For
- instance, when the right-hand side contains the same variable multiplied by
- a scalar. See also :option:`-frealloc-lhs`.
-
-.. index:: Wrealloc-lhs-all
-
-.. option:: -Wrealloc-lhs-all
-
- Warn when the compiler inserts code to for allocation or reallocation of an
- allocatable variable; this includes scalars and derived types.
-
-.. index:: Wcompare-reals
-
-.. option:: -Wcompare-reals
-
- Warn when comparing real or complex types for equality or inequality.
- This option is implied by :option:`-Wextra`.
-
-.. index:: Wtargt-lifetime
-
-.. option:: -Wtarget-lifetime
-
- Warn if the pointer in a pointer assignment might be longer than the its
- target. This option is implied by :option:`-Wall`.
-
-.. index:: Wzerotrip
-
-.. option:: -Wzerotrip
-
- Warn if a ``DO`` loop is known to execute zero times at compile
- time. This option is implied by :option:`-Wall`.
-
-.. index:: Wdo-subscript
-
-.. option:: -Wdo-subscript
-
- Warn if an array subscript inside a DO loop could lead to an
- out-of-bounds access even if the compiler cannot prove that the
- statement is actually executed, in cases like
-
- .. code-block:: fortran
-
- real a(3)
- do i=1,4
- if (condition(i)) then
- a(i) = 1.2
- end if
- end do
-
- This option is implied by :option:`-Wextra`.
-
-.. index:: Werror, warnings, to errors
-
-.. option:: -Werror
-
- Turns all warnings into errors.
-
-See :ref:`gcc:warning-options`, for information on
-more options offered by the GBE shared by :command:`gfortran`, :command:`gcc`
-and other GNU compilers.
-
-Some of these have no effect when compiling programs written in Fortran. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/gnu-fortran-compiler-directives.rst b/gcc/fortran/doc/gfortran/gnu-fortran-compiler-directives.rst
deleted file mode 100644
index 966be29..0000000
--- a/gcc/fortran/doc/gfortran/gnu-fortran-compiler-directives.rst
+++ /dev/null
@@ -1,174 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _gnu-fortran-compiler-directives:
-
-GNU Fortran Compiler Directives
-*******************************
-
-.. toctree::
- :maxdepth: 2
-
-
-.. _attributes-directive:
-
-ATTRIBUTES directive
-^^^^^^^^^^^^^^^^^^^^
-
-The Fortran standard describes how a conforming program shall
-behave; however, the exact implementation is not standardized. In order
-to allow the user to choose specific implementation details, compiler
-directives can be used to set attributes of variables and procedures
-which are not part of the standard. Whether a given attribute is
-supported and its exact effects depend on both the operating system and
-on the processor; see
-:ref:`gcc:top`
-for details.
-
-For procedures and procedure pointers, the following attributes can
-be used to change the calling convention:
-
-* ``CDECL`` -- standard C calling convention
-
-* ``STDCALL`` -- convention where the called procedure pops the stack
-
-* ``FASTCALL`` -- part of the arguments are passed via registers
- instead using the stack
-
-Besides changing the calling convention, the attributes also influence
-the decoration of the symbol name, e.g., by a leading underscore or by
-a trailing at-sign followed by the number of bytes on the stack. When
-assigning a procedure to a procedure pointer, both should use the same
-calling convention.
-
-On some systems, procedures and global variables (module variables and
-``COMMON`` blocks) need special handling to be accessible when they
-are in a shared library. The following attributes are available:
-
-* ``DLLEXPORT`` -- provide a global pointer to a pointer in the DLL
-
-* ``DLLIMPORT`` -- reference the function or variable using a
- global pointer
-
-For dummy arguments, the ``NO_ARG_CHECK`` attribute can be used; in
-other compilers, it is also known as ``IGNORE_TKR``. For dummy arguments
-with this attribute actual arguments of any type and kind (similar to
-``TYPE(*)``), scalars and arrays of any rank (no equivalent
-in Fortran standard) are accepted. As with ``TYPE(*)``, the argument
-is unlimited polymorphic and no type information is available.
-Additionally, the argument may only be passed to dummy arguments
-with the ``NO_ARG_CHECK`` attribute and as argument to the
-``PRESENT`` intrinsic function and to ``C_LOC`` of the
-``ISO_C_BINDING`` module.
-
-Variables with ``NO_ARG_CHECK`` attribute shall be of assumed-type
-(``TYPE(*)`` ; recommended) or of type ``INTEGER``, ``LOGICAL``,
-``REAL`` or ``COMPLEX``. They shall not have the ``ALLOCATE``,
-``CODIMENSION``, ``INTENT(OUT)``, ``POINTER`` or ``VALUE``
-attribute; furthermore, they shall be either scalar or of assumed-size
-(``dimension(*)``). As ``TYPE(*)``, the ``NO_ARG_CHECK`` attribute
-requires an explicit interface.
-
-* ``NO_ARG_CHECK`` -- disable the type, kind and rank checking
-
-* ``DEPRECATED`` -- print a warning when using a such-tagged
- deprecated procedure, variable or parameter; the warning can be suppressed
- with :option:`-Wno-deprecated-declarations`.
-
-The attributes are specified using the syntax
-
-``!GCC$ ATTRIBUTES`` :samp:`{attribute-list}` ``::`` :samp:`{variable-list}`
-
-where in free-form source code only whitespace is allowed before ``!GCC$``
-and in fixed-form source code ``!GCC$``, ``cGCC$`` or ``*GCC$`` shall
-start in the first column.
-
-For procedures, the compiler directives shall be placed into the body
-of the procedure; for variables and procedure pointers, they shall be in
-the same declaration part as the variable or procedure pointer.
-
-.. _unroll-directive:
-
-UNROLL directive
-^^^^^^^^^^^^^^^^
-
-The syntax of the directive is
-
-``!GCC$ unroll N``
-
-You can use this directive to control how many times a loop should be unrolled.
-It must be placed immediately before a ``DO`` loop and applies only to the
-loop that follows. N is an integer constant specifying the unrolling factor.
-The values of 0 and 1 block any unrolling of the loop.
-
-.. _builtin-directive:
-
-BUILTIN directive
-^^^^^^^^^^^^^^^^^
-
-The syntax of the directive is
-
-``!GCC$ BUILTIN (B) attributes simd FLAGS IF('target')``
-
-You can use this directive to define which middle-end built-ins provide vector
-implementations. ``B`` is name of the middle-end built-in. ``FLAGS``
-are optional and must be either "(inbranch)" or "(notinbranch)".
-``IF`` statement is optional and is used to filter multilib ABIs
-for the built-in that should be vectorized. Example usage:
-
-.. code-block:: fortran
-
- !GCC$ builtin (sinf) attributes simd (notinbranch) if('x86_64')
-
-The purpose of the directive is to provide an API among the GCC compiler and
-the GNU C Library which would define vector implementations of math routines.
-
-.. _ivdep-directive:
-
-IVDEP directive
-^^^^^^^^^^^^^^^
-
-The syntax of the directive is
-
-``!GCC$ ivdep``
-
-This directive tells the compiler to ignore vector dependencies in the
-following loop. It must be placed immediately before a ``DO`` loop
-and applies only to the loop that follows.
-
-Sometimes the compiler may not have sufficient information to decide
-whether a particular loop is vectorizable due to potential
-dependencies between iterations. The purpose of the directive is to
-tell the compiler that vectorization is safe.
-
-This directive is intended for annotation of existing code. For new
-code it is recommended to consider OpenMP SIMD directives as potential
-alternative.
-
-.. _vector-directive:
-
-VECTOR directive
-^^^^^^^^^^^^^^^^
-
-The syntax of the directive is
-
-``!GCC$ vector``
-
-This directive tells the compiler to vectorize the following loop. It
-must be placed immediately before a ``DO`` loop and applies only to
-the loop that follows.
-
-.. _novector-directive:
-
-NOVECTOR directive
-^^^^^^^^^^^^^^^^^^
-
-The syntax of the directive is
-
-``!GCC$ novector``
-
-This directive tells the compiler to not vectorize the following loop.
-It must be placed immediately before a ``DO`` loop and applies only
-to the loop that follows. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/gnu-free-documentation-license.rst b/gcc/fortran/doc/gfortran/gnu-free-documentation-license.rst
deleted file mode 100644
index 9a3dac6..0000000
--- a/gcc/fortran/doc/gfortran/gnu-free-documentation-license.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. include:: ../../../../doc/gnu_free_documentation_license.rst \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/index.rst b/gcc/fortran/doc/gfortran/index.rst
deleted file mode 100644
index 312da78..0000000
--- a/gcc/fortran/doc/gfortran/index.rst
+++ /dev/null
@@ -1,56 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-The GNU Fortran Compiler
-========================
-
-.. index:: Introduction
-
-This manual documents the use of :command:`gfortran`,
-the GNU Fortran compiler. You can find in this manual how to invoke
-:command:`gfortran`, as well as its features and incompatibilities.
-
-.. only:: development
-
- .. warning::
-
- This document, and the compiler it describes, are still
- under development. While efforts are made to keep it up-to-date, it might
- not accurately reflect the status of the most recent GNU Fortran compiler.
-
-.. toctree::
- :maxdepth: 3
-
- copyright
- introduction
-
-Part I: Invoking GNU Fortran
-----------------------------
-
-.. toctree::
- :maxdepth: 3
-
- gnu-fortran-command-options
- runtime
-
-Part II: Language Reference
----------------------------
-
-.. toctree::
- :maxdepth: 3
-
- compiler-characteristics
- extensions
- mixed-language-programming
- coarray-programming
- intrinsic-procedures
- intrinsic-modules
-
- contributing
- general-public-license-3
- gnu-free-documentation-license
- funding
-
- indices-and-tables \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/indices-and-tables.rst b/gcc/fortran/doc/gfortran/indices-and-tables.rst
deleted file mode 100644
index 50865c6..0000000
--- a/gcc/fortran/doc/gfortran/indices-and-tables.rst
+++ /dev/null
@@ -1 +0,0 @@
-.. include:: ../../../../doc/indices-and-tables.rst \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/interoperability-with-c.rst b/gcc/fortran/doc/gfortran/interoperability-with-c.rst
deleted file mode 100644
index 52364ad..0000000
--- a/gcc/fortran/doc/gfortran/interoperability-with-c.rst
+++ /dev/null
@@ -1,413 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: interoperability with C, C interoperability
-
-.. _interoperability-with-c:
-
-Interoperability with C
-***********************
-
-.. toctree::
- :maxdepth: 2
-
-Since Fortran 2003 (ISO/IEC 1539-1:2004(E)) there is a
-standardized way to generate procedure and derived-type
-declarations and global variables that are interoperable with C
-(ISO/IEC 9899:1999). The ``BIND(C)`` attribute has been added
-to inform the compiler that a symbol shall be interoperable with C;
-also, some constraints are added. Note, however, that not
-all C features have a Fortran equivalent or vice versa. For instance,
-neither C's unsigned integers nor C's functions with variable number
-of arguments have an equivalent in Fortran.
-
-Note that array dimensions are reversely ordered in C and that arrays in
-C always start with index 0 while in Fortran they start by default with
-1. Thus, an array declaration ``A(n,m)`` in Fortran matches
-``A[m][n]`` in C and accessing the element ``A(i,j)`` matches
-``A[j-1][i-1]``. The element following ``A(i,j)`` (C: ``A[j-1][i-1]`` ;
-assuming i < n) in memory is ``A(i+1,j)`` (C: ``A[j-1][i]``).
-
-.. index:: C intrinsic type interoperability, intrinsic type interoperability with C, interoperability, intrinsic type
-
-.. _intrinsic-types:
-
-Intrinsic Types
-^^^^^^^^^^^^^^^
-
-In order to ensure that exactly the same variable type and kind is used
-in C and Fortran, you should use the named constants for kind parameters
-that are defined in the ``ISO_C_BINDING`` intrinsic module.
-That module contains named constants of character type representing
-the escaped special characters in C, such as newline.
-For a list of the constants, see :ref:`ISO_C_BINDING`.
-
-For logical types, please note that the Fortran standard only guarantees
-interoperability between C99's ``_Bool`` and Fortran's ``C_Bool`` -kind
-logicals and C99 defines that ``true`` has the value 1 and ``false``
-the value 0. Using any other integer value with GNU Fortran's ``LOGICAL``
-(with any kind parameter) gives an undefined result. (Passing other integer
-values than 0 and 1 to GCC's ``_Bool`` is also undefined, unless the
-integer is explicitly or implicitly casted to ``_Bool``.)
-
-.. index:: C derived type and struct interoperability, derived type interoperability with C, interoperability, derived type and struct
-
-.. _derived-types-and-struct:
-
-Derived Types and struct
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-For compatibility of derived types with ``struct``, use
-the ``BIND(C)`` attribute in the type declaration. For instance, the
-following type declaration
-
-.. code-block:: fortran
-
- USE ISO_C_BINDING
- TYPE, BIND(C) :: myType
- INTEGER(C_INT) :: i1, i2
- INTEGER(C_SIGNED_CHAR) :: i3
- REAL(C_DOUBLE) :: d1
- COMPLEX(C_FLOAT_COMPLEX) :: c1
- CHARACTER(KIND=C_CHAR) :: str(5)
- END TYPE
-
-matches the following ``struct`` declaration in C
-
-.. code-block:: c
-
- struct {
- int i1, i2;
- /* Note: "char" might be signed or unsigned. */
- signed char i3;
- double d1;
- float _Complex c1;
- char str[5];
- } myType;
-
-Derived types with the C binding attribute shall not have the ``sequence``
-attribute, type parameters, the ``extends`` attribute, nor type-bound
-procedures. Every component must be of interoperable type and kind and may not
-have the ``pointer`` or ``allocatable`` attribute. The names of the
-components are irrelevant for interoperability.
-
-As there exist no direct Fortran equivalents, neither unions nor structs
-with bit field or variable-length array members are interoperable.
-
-.. index:: C variable interoperability, variable interoperability with C, interoperability, variable
-
-.. _interoperable-global-variables:
-
-Interoperable Global Variables
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Variables can be made accessible from C using the C binding attribute,
-optionally together with specifying a binding name. Those variables
-have to be declared in the declaration part of a ``MODULE``,
-be of interoperable type, and have neither the ``pointer`` nor
-the ``allocatable`` attribute.
-
-.. code-block:: fortran
-
- MODULE m
- USE myType_module
- USE ISO_C_BINDING
- integer(C_INT), bind(C, name="_MyProject_flags") :: global_flag
- type(myType), bind(C) :: tp
- END MODULE
-
-Here, ``_MyProject_flags`` is the case-sensitive name of the variable
-as seen from C programs while ``global_flag`` is the case-insensitive
-name as seen from Fortran. If no binding name is specified, as for
-:samp:`{tp}`, the C binding name is the (lowercase) Fortran binding name.
-If a binding name is specified, only a single variable may be after the
-double colon. Note of warning: You cannot use a global variable to
-access :samp:`{errno}` of the C library as the C standard allows it to be
-a macro. Use the ``IERRNO`` intrinsic (GNU extension) instead.
-
-.. index:: C procedure interoperability, procedure interoperability with C, function interoperability with C, subroutine interoperability with C, interoperability, subroutine and function
-
-.. _interoperable-subroutines-and-functions:
-
-Interoperable Subroutines and Functions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Subroutines and functions have to have the ``BIND(C)`` attribute to
-be compatible with C. The dummy argument declaration is relatively
-straightforward. However, one needs to be careful because C uses
-call-by-value by default while Fortran behaves usually similar to
-call-by-reference. Furthermore, strings and pointers are handled
-differently.
-
-To pass a variable by value, use the ``VALUE`` attribute.
-Thus, the following C prototype
-
-.. code-block:: fortran
-
- int func(int i, int *j)
-
-matches the Fortran declaration
-
-.. code-block:: fortran
-
- integer(c_int) function func(i,j)
- use iso_c_binding, only: c_int
- integer(c_int), VALUE :: i
- integer(c_int) :: j
-
-Note that pointer arguments also frequently need the ``VALUE`` attribute,
-see :ref:`working-with-c-pointers`.
-
-Strings are handled quite differently in C and Fortran. In C a string
-is a ``NUL`` -terminated array of characters while in Fortran each string
-has a length associated with it and is thus not terminated (by e.g.
-``NUL``). For example, if you want to use the following C function,
-
-.. code-block:: c
-
- #include <stdio.h>
- void print_C(char *string) /* equivalent: char string[] */
- {
- printf("%s\n", string);
- }
-
-to print 'Hello World' from Fortran, you can call it using
-
-.. code-block:: fortran
-
- use iso_c_binding, only: C_CHAR, C_NULL_CHAR
- interface
- subroutine print_c(string) bind(C, name="print_C")
- use iso_c_binding, only: c_char
- character(kind=c_char) :: string(*)
- end subroutine print_c
- end interface
- call print_c(C_CHAR_"Hello World"//C_NULL_CHAR)
-
-As the example shows, you need to ensure that the
-string is ``NUL`` terminated. Additionally, the dummy argument
-:samp:`{string}` of ``print_C`` is a length-one assumed-size
-array; using ``character(len=*)`` is not allowed. The example
-above uses ``c_char_"Hello World"`` to ensure the string
-literal has the right type; typically the default character
-kind and ``c_char`` are the same and thus ``"Hello World"``
-is equivalent. However, the standard does not guarantee this.
-
-The use of strings is now further illustrated using the C library
-function ``strncpy``, whose prototype is
-
-.. code-block:: c
-
- char *strncpy(char *restrict s1, const char *restrict s2, size_t n);
-
-The function ``strncpy`` copies at most :samp:`{n}` characters from
-string :samp:`{s2}` to :samp:`{s1}` and returns :samp:`{s1}`. In the following
-example, we ignore the return value:
-
-.. code-block:: fortran
-
- use iso_c_binding
- implicit none
- character(len=30) :: str,str2
- interface
- ! Ignore the return value of strncpy -> subroutine
- ! "restrict" is always assumed if we do not pass a pointer
- subroutine strncpy(dest, src, n) bind(C)
- import
- character(kind=c_char), intent(out) :: dest(*)
- character(kind=c_char), intent(in) :: src(*)
- integer(c_size_t), value, intent(in) :: n
- end subroutine strncpy
- end interface
- str = repeat('X',30) ! Initialize whole string with 'X'
- call strncpy(str, c_char_"Hello World"//C_NULL_CHAR, &
- len(c_char_"Hello World",kind=c_size_t))
- print '(a)', str ! prints: "Hello WorldXXXXXXXXXXXXXXXXXXX"
- end
-
-The intrinsic procedures are described in :ref:`intrinsic-procedures`.
-
-.. index:: C pointers, pointers, C
-
-.. _working-with-c-pointers:
-
-Working with C Pointers
-^^^^^^^^^^^^^^^^^^^^^^^
-
-C pointers are represented in Fortran via the special opaque derived
-type ``type(c_ptr)`` (with private components). C pointers are distinct
-from Fortran objects with the ``POINTER`` attribute. Thus one needs to
-use intrinsic conversion procedures to convert from or to C pointers.
-For some applications, using an assumed type (``TYPE(*)``) can be
-an alternative to a C pointer, and you can also use library routines
-to access Fortran pointers from C. See :ref:`further-interoperability-of-fortran-with-c`.
-
-Here is an example of using C pointers in Fortran:
-
-.. code-block:: fortran
-
- use iso_c_binding
- type(c_ptr) :: cptr1, cptr2
- integer, target :: array(7), scalar
- integer, pointer :: pa(:), ps
- cptr1 = c_loc(array(1)) ! The programmer needs to ensure that the
- ! array is contiguous if required by the C
- ! procedure
- cptr2 = c_loc(scalar)
- call c_f_pointer(cptr2, ps)
- call c_f_pointer(cptr2, pa, shape=[7])
-
-When converting C to Fortran arrays, the one-dimensional ``SHAPE`` argument
-has to be passed.
-
-If a pointer is a dummy argument of an interoperable procedure, it usually
-has to be declared using the ``VALUE`` attribute. ``void*``
-matches ``TYPE(C_PTR), VALUE``, while ``TYPE(C_PTR)`` alone
-matches ``void**``.
-
-Procedure pointers are handled analogously to pointers; the C type is
-``TYPE(C_FUNPTR)`` and the intrinsic conversion procedures are
-``C_F_PROCPOINTER`` and ``C_FUNLOC``.
-
-Let us consider two examples of actually passing a procedure pointer from
-C to Fortran and vice versa. Note that these examples are also very
-similar to passing ordinary pointers between both languages. First,
-consider this code in C:
-
-.. code-block:: c
-
- /* Procedure implemented in Fortran. */
- void get_values (void (*)(double));
-
- /* Call-back routine we want called from Fortran. */
- void
- print_it (double x)
- {
- printf ("Number is %f.\n", x);
- }
-
- /* Call Fortran routine and pass call-back to it. */
- void
- foobar ()
- {
- get_values (&print_it);
- }
-
-A matching implementation for ``get_values`` in Fortran, that correctly
-receives the procedure pointer from C and is able to call it, is given
-in the following ``MODULE`` :
-
-.. code-block:: fortran
-
- MODULE m
- IMPLICIT NONE
-
- ! Define interface of call-back routine.
- ABSTRACT INTERFACE
- SUBROUTINE callback (x)
- USE, INTRINSIC :: ISO_C_BINDING
- REAL(KIND=C_DOUBLE), INTENT(IN), VALUE :: x
- END SUBROUTINE callback
- END INTERFACE
-
- CONTAINS
-
- ! Define C-bound procedure.
- SUBROUTINE get_values (cproc) BIND(C)
- USE, INTRINSIC :: ISO_C_BINDING
- TYPE(C_FUNPTR), INTENT(IN), VALUE :: cproc
-
- PROCEDURE(callback), POINTER :: proc
-
- ! Convert C to Fortran procedure pointer.
- CALL C_F_PROCPOINTER (cproc, proc)
-
- ! Call it.
- CALL proc (1.0_C_DOUBLE)
- CALL proc (-42.0_C_DOUBLE)
- CALL proc (18.12_C_DOUBLE)
- END SUBROUTINE get_values
-
- END MODULE m
-
-Next, we want to call a C routine that expects a procedure pointer argument
-and pass it a Fortran procedure (which clearly must be interoperable!).
-Again, the C function may be:
-
-.. code-block:: c
-
- int
- call_it (int (*func)(int), int arg)
- {
- return func (arg);
- }
-
-It can be used as in the following Fortran code:
-
-.. code-block:: fortran
-
- MODULE m
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
-
- ! Define interface of C function.
- INTERFACE
- INTEGER(KIND=C_INT) FUNCTION call_it (func, arg) BIND(C)
- USE, INTRINSIC :: ISO_C_BINDING
- TYPE(C_FUNPTR), INTENT(IN), VALUE :: func
- INTEGER(KIND=C_INT), INTENT(IN), VALUE :: arg
- END FUNCTION call_it
- END INTERFACE
-
- CONTAINS
-
- ! Define procedure passed to C function.
- ! It must be interoperable!
- INTEGER(KIND=C_INT) FUNCTION double_it (arg) BIND(C)
- INTEGER(KIND=C_INT), INTENT(IN), VALUE :: arg
- double_it = arg + arg
- END FUNCTION double_it
-
- ! Call C function.
- SUBROUTINE foobar ()
- TYPE(C_FUNPTR) :: cproc
- INTEGER(KIND=C_INT) :: i
-
- ! Get C procedure pointer.
- cproc = C_FUNLOC (double_it)
-
- ! Use it.
- DO i = 1_C_INT, 10_C_INT
- PRINT *, call_it (cproc, i)
- END DO
- END SUBROUTINE foobar
-
- END MODULE m
-
-.. index:: Further Interoperability of Fortran with C, TS 29113, array descriptor, dope vector, assumed-type, assumed-rank
-
-.. _further-interoperability-of-fortran-with-c:
-
-Further Interoperability of Fortran with C
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-GNU Fortran implements the Technical Specification ISO/IEC TS
-29113:2012, which extends the interoperability support of Fortran 2003
-and Fortran 2008 and is now part of the 2018 Fortran standard.
-Besides removing some restrictions and constraints, the Technical
-Specification adds assumed-type (``TYPE(*)``) and assumed-rank
-(``DIMENSION(..)``) variables and allows for interoperability of
-assumed-shape, assumed-rank, and deferred-shape arrays, as well as
-allocatables and pointers. Objects of these types are passed to
-``BIND(C)`` functions as descriptors with a standard interface,
-declared in the header file ``<ISO_Fortran_binding.h>``.
-
-Note: Currently, GNU Fortran does not use internally the array descriptor
-(dope vector) as specified in the Technical Specification, but uses
-an array descriptor with different fields in functions without the
-``BIND(C)`` attribute. Arguments to functions marked ``BIND(C)``
-are converted to the specified form. If you need to access GNU Fortran's
-internal array descriptor, you can use the Chasm Language Interoperability
-Tools, http://chasm-interop.sourceforge.net/. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-modules.rst b/gcc/fortran/doc/gfortran/intrinsic-modules.rst
deleted file mode 100644
index 3768d4f..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-modules.rst
+++ /dev/null
@@ -1,20 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: intrinsic Modules
-
-.. _intrinsic-modules:
-
-Intrinsic Modules
------------------
-
-.. toctree::
- :maxdepth: 2
-
- intrinsic-modules/openacc-module-openacc
- intrinsic-modules/isofortranenv
- intrinsic-modules/isocbinding
- intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures
- intrinsic-modules/openmp-modules-omplib-and-omplibkinds \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst b/gcc/fortran/doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst
deleted file mode 100644
index 4bdf249..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst
+++ /dev/null
@@ -1,29 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _ieee-modules:
-
-IEEE modules: IEEE_EXCEPTIONS, IEEE_ARITHMETIC, and IEEE_FEATURES
-*****************************************************************
-
-:samp:`{Standard}:`
- Fortran 2003 and later
-
- The ``IEEE_EXCEPTIONS``, ``IEEE_ARITHMETIC``, and ``IEEE_FEATURES``
- intrinsic modules provide support for exceptions and IEEE arithmetic, as
- defined in Fortran 2003 and later standards, and the IEC 60559:1989 standard
- (*Binary floating-point arithmetic for microprocessor systems*). These
- modules are only provided on the following supported platforms:
-
- * i386 and x86_64 processors
- * platforms which use the GNU C Library (glibc)
- * platforms with support for SysV/386 routines for floating point
- interface (including Solaris and BSDs)
- * platforms with the AIX OS
-
-For full compliance with the Fortran standards, code using the
-``IEEE_EXCEPTIONS`` or ``IEEE_ARITHMETIC`` modules should be compiled
-with the following options: ``-fno-unsafe-math-optimizations
--frounding-math -fsignaling-nans``. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-modules/isocbinding.rst b/gcc/fortran/doc/gfortran/intrinsic-modules/isocbinding.rst
deleted file mode 100644
index 3750eda..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-modules/isocbinding.rst
+++ /dev/null
@@ -1,227 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _iso_c_binding:
-
-ISO_C_BINDING
-*************
-
-:samp:`{Standard}:`
- Fortran 2003 and later, GNU extensions
-
- The following intrinsic procedures are provided by the module; their
- definition can be found in the section Intrinsic Procedures of this
- manual.
-
-* C_ASSOCIATED
-* C_F_POINTER
-* C_F_PROCPOINTER
-* C_FUNLOCC_LOC
-* C_SIZEOF
-
-The ``ISO_C_BINDING`` module provides the following named constants of
-type default integer, which can be used as KIND type parameters.
-
-In addition to the integer named constants required by the Fortran 2003
-standard and ``C_PTRDIFF_T`` of TS 29113, GNU Fortran provides as an
-extension named constants for the 128-bit integer types supported by the
-C compiler: ``C_INT128_T, C_INT_LEAST128_T, C_INT_FAST128_T``.
-Furthermore, if ``_Float128`` is supported in C, the named constants
-``C_FLOAT128`` and ``C_FLOAT128_COMPLEX`` are defined.
-
-.. list-table::
- :header-rows: 1
-
- * - Fortran Type
- - Named constant
- - C type
- - Extension
-
- * - ``INTEGER``
- - ``C_INT``
- - ``int``
- -
- * - ``INTEGER``
- - ``C_SHORT``
- - ``short int``
- -
- * - ``INTEGER``
- - ``C_LONG``
- - ``long int``
- -
- * - ``INTEGER``
- - ``C_LONG_LONG``
- - ``long long int``
- -
- * - ``INTEGER``
- - ``C_SIGNED_CHAR``
- - ``signed char`` / ``unsigned char``
- -
- * - ``INTEGER``
- - ``C_SIZE_T``
- - ``size_t``
- -
- * - ``INTEGER``
- - ``C_INT8_T``
- - ``int8_t``
- -
- * - ``INTEGER``
- - ``C_INT16_T``
- - ``int16_t``
- -
- * - ``INTEGER``
- - ``C_INT32_T``
- - ``int32_t``
- -
- * - ``INTEGER``
- - ``C_INT64_T``
- - ``int64_t``
- -
- * - ``INTEGER``
- - ``C_INT128_T``
- - ``int128_t``
- - Ext.
- * - ``INTEGER``
- - ``C_INT_LEAST8_T``
- - ``int_least8_t``
- -
- * - ``INTEGER``
- - ``C_INT_LEAST16_T``
- - ``int_least16_t``
- -
- * - ``INTEGER``
- - ``C_INT_LEAST32_T``
- - ``int_least32_t``
- -
- * - ``INTEGER``
- - ``C_INT_LEAST64_T``
- - ``int_least64_t``
- -
- * - ``INTEGER``
- - ``C_INT_LEAST128_T``
- - ``int_least128_t``
- - Ext.
- * - ``INTEGER``
- - ``C_INT_FAST8_T``
- - ``int_fast8_t``
- -
- * - ``INTEGER``
- - ``C_INT_FAST16_T``
- - ``int_fast16_t``
- -
- * - ``INTEGER``
- - ``C_INT_FAST32_T``
- - ``int_fast32_t``
- -
- * - ``INTEGER``
- - ``C_INT_FAST64_T``
- - ``int_fast64_t``
- -
- * - ``INTEGER``
- - ``C_INT_FAST128_T``
- - ``int_fast128_t``
- - Ext.
- * - ``INTEGER``
- - ``C_INTMAX_T``
- - ``intmax_t``
- -
- * - ``INTEGER``
- - ``C_INTPTR_T``
- - ``intptr_t``
- -
- * - ``INTEGER``
- - ``C_PTRDIFF_T``
- - ``ptrdiff_t``
- - TS 29113
- * - ``REAL``
- - ``C_FLOAT``
- - ``float``
- -
- * - ``REAL``
- - ``C_DOUBLE``
- - ``double``
- -
- * - ``REAL``
- - ``C_LONG_DOUBLE``
- - ``long double``
- -
- * - ``REAL``
- - ``C_FLOAT128``
- - ``_Float128``
- - Ext.
- * - ``COMPLEX``
- - ``C_FLOAT_COMPLEX``
- - ``float _Complex``
- -
- * - ``COMPLEX``
- - ``C_DOUBLE_COMPLEX``
- - ``double _Complex``
- -
- * - ``COMPLEX``
- - ``C_LONG_DOUBLE_COMPLEX``
- - ``long double _Complex``
- -
- * - ``COMPLEX``
- - ``C_FLOAT128_COMPLEX``
- - ``_Float128 _Complex``
- - Ext.
- * - ``LOGICAL``
- - ``C_BOOL``
- - ``_Bool``
- -
- * - ``CHARACTER``
- - ``C_CHAR``
- - ``char``
- -
-
-Additionally, the following parameters of type ``CHARACTER(KIND=C_CHAR)``
-are defined.
-
-.. list-table::
- :header-rows: 1
-
- * - Name
- - C definition
- - Value
-
- * - ``C_NULL_CHAR``
- - null character
- - ``'\0'``
- * - ``C_ALERT``
- - alert
- - ``'\a'``
- * - ``C_BACKSPACE``
- - backspace
- - ``'\b'``
- * - ``C_FORM_FEED``
- - form feed
- - ``'\f'``
- * - ``C_NEW_LINE``
- - new line
- - ``'\n'``
- * - ``C_CARRIAGE_RETURN``
- - carriage return
- - ``'\r'``
- * - ``C_HORIZONTAL_TAB``
- - horizontal tab
- - ``'\t'``
- * - ``C_VERTICAL_TAB``
- - vertical tab
- - ``'\v'``
-
-Moreover, the following two named constants are defined:
-
-.. list-table::
- :header-rows: 1
-
- * - Name
- - Type
-
- * - ``C_NULL_PTR``
- - ``C_PTR``
- * - ``C_NULL_FUNPTR``
- - ``C_FUNPTR``
-
-Both are equivalent to the value ``NULL`` in C. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-modules/isofortranenv.rst b/gcc/fortran/doc/gfortran/intrinsic-modules/isofortranenv.rst
deleted file mode 100644
index a03e1eb..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-modules/isofortranenv.rst
+++ /dev/null
@@ -1,116 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _iso_fortran_env:
-
-ISO_FORTRAN_ENV
-***************
-
-:samp:`{Standard}:`
- Fortran 2003 and later, except when otherwise noted
-
- The ``ISO_FORTRAN_ENV`` module provides the following scalar default-integer named constants:
-
-:samp:`{ATOMIC_INT_KIND}:`
- Default-kind integer constant to be used as kind parameter when defining
- integer variables used in atomic operations. (Fortran 2008 or later.)
-
-:samp:`{ATOMIC_LOGICAL_KIND}:`
- Default-kind integer constant to be used as kind parameter when defining
- logical variables used in atomic operations. (Fortran 2008 or later.)
-
-:samp:`{CHARACTER_KINDS}:`
- Default-kind integer constant array of rank one containing the supported kind
- parameters of the ``CHARACTER`` type. (Fortran 2008 or later.)
-
-:samp:`{CHARACTER_STORAGE_SIZE}:`
- Size in bits of the character storage unit.
-
-:samp:`{ERROR_UNIT}:`
- Identifies the preconnected unit used for error reporting.
-
-:samp:`{FILE_STORAGE_SIZE}:`
- Size in bits of the file-storage unit.
-
-:samp:`{INPUT_UNIT}:`
- Identifies the preconnected unit identified by the asterisk
- (``*``) in ``READ`` statement.
-
-:samp:`{INT8}, {INT16}, {INT32}, {INT64}:`
- Kind type parameters to specify an INTEGER type with a storage
- size of 16, 32, and 64 bits. It is negative if a target platform
- does not support the particular kind. (Fortran 2008 or later.)
-
-:samp:`{INTEGER_KINDS}:`
- Default-kind integer constant array of rank one containing the supported kind
- parameters of the ``INTEGER`` type. (Fortran 2008 or later.)
-
-:samp:`{IOSTAT_END}:`
- The value assigned to the variable passed to the ``IOSTAT=`` specifier of
- an input/output statement if an end-of-file condition occurred.
-
-:samp:`{IOSTAT_EOR}:`
- The value assigned to the variable passed to the ``IOSTAT=`` specifier of
- an input/output statement if an end-of-record condition occurred.
-
-:samp:`{IOSTAT_INQUIRE_INTERNAL_UNIT}:`
- Scalar default-integer constant, used by ``INQUIRE`` for the
- ``IOSTAT=`` specifier to denote an that a unit number identifies an
- internal unit. (Fortran 2008 or later.)
-
-:samp:`{NUMERIC_STORAGE_SIZE}:`
- The size in bits of the numeric storage unit.
-
-:samp:`{LOGICAL_KINDS}:`
- Default-kind integer constant array of rank one containing the supported kind
- parameters of the ``LOGICAL`` type. (Fortran 2008 or later.)
-
-:samp:`{OUTPUT_UNIT}:`
- Identifies the preconnected unit identified by the asterisk
- (``*``) in ``WRITE`` statement.
-
-:samp:`{REAL32}, {REAL64}, {REAL128}:`
- Kind type parameters to specify a REAL type with a storage
- size of 32, 64, and 128 bits. It is negative if a target platform
- does not support the particular kind. (Fortran 2008 or later.)
-
-:samp:`{REAL_KINDS}:`
- Default-kind integer constant array of rank one containing the supported kind
- parameters of the ``REAL`` type. (Fortran 2008 or later.)
-
-:samp:`{STAT_LOCKED}:`
- Scalar default-integer constant used as STAT= return value by ``LOCK`` to
- denote that the lock variable is locked by the executing image. (Fortran 2008
- or later.)
-
-:samp:`{STAT_LOCKED_OTHER_IMAGE}:`
- Scalar default-integer constant used as STAT= return value by ``UNLOCK`` to
- denote that the lock variable is locked by another image. (Fortran 2008 or
- later.)
-
-:samp:`{STAT_STOPPED_IMAGE}:`
- Positive, scalar default-integer constant used as STAT= return value if the
- argument in the statement requires synchronisation with an image, which has
- initiated the termination of the execution. (Fortran 2008 or later.)
-
-:samp:`{STAT_FAILED_IMAGE}:`
- Positive, scalar default-integer constant used as STAT= return value if the
- argument in the statement requires communication with an image, which has
- is in the failed state. (TS 18508 or later.)
-
-:samp:`{STAT_UNLOCKED}:`
- Scalar default-integer constant used as STAT= return value by ``UNLOCK`` to
- denote that the lock variable is unlocked. (Fortran 2008 or later.)
-
- The module provides the following derived type:
-
-:samp:`{LOCK_TYPE}:`
- Derived type with private components to be use with the ``LOCK`` and
- ``UNLOCK`` statement. A variable of its type has to be always declared
- as coarray and may not appear in a variable-definition context.
- (Fortran 2008 or later.)
-
- The module also provides the following intrinsic procedures:
- :ref:`COMPILER_OPTIONS` and :ref:`COMPILER_VERSION`. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-modules/openacc-module-openacc.rst b/gcc/fortran/doc/gfortran/intrinsic-modules/openacc-module-openacc.rst
deleted file mode 100644
index 56a5d37..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-modules/openacc-module-openacc.rst
+++ /dev/null
@@ -1,27 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _openacc-module-openacc:
-
-OpenACC Module OPENACC
-**********************
-
-:samp:`{Standard}:`
- OpenACC Application Programming Interface v2.6
-
- The OpenACC Fortran runtime library routines are provided both in a
- form of a Fortran 90 module, named ``OPENACC``, and in form of a
- Fortran ``include`` file named :samp:`openacc_lib.h`. The
- procedures provided by ``OPENACC`` can be found in the
- :ref:`libgomp:top` manual, the named constants defined in the modules
- are listed below.
-
-For details refer to the actual
-`OpenACC Application Programming Interface v2.6 <https://www.openacc.org/>`_.
-
-``OPENACC`` provides the scalar default-integer
-named constant ``openacc_version`` with a value of the form
-:samp:`{yyyymm}`, where ``yyyy`` is the year and :samp:`{mm}` the month
-of the OpenACC version; for OpenACC v2.6 the value is ``201711``. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst b/gcc/fortran/doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst
deleted file mode 100644
index 56951f3..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst
+++ /dev/null
@@ -1,161 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _openmp-modules-omp_lib-and-omp_lib_kinds:
-
-OpenMP Modules OMP_LIB and OMP_LIB_KINDS
-****************************************
-
-The OpenMP Fortran runtime library routines are provided both in
-a form of two Fortran modules, named ``OMP_LIB`` and
-``OMP_LIB_KINDS``, and in a form of a Fortran ``include`` file named
-:samp:`omp_lib.h`. The procedures provided by ``OMP_LIB`` can be found
-in the :ref:`libgomp:top` manual,
-the named constants defined in the modules are listed
-below.
-
-For details refer to the actual
-`OpenMP Application Program Interface v4.5 <https://www.openmp.org/wp-content/uploads/openmp-4.5.pdf>`_ and
-`OpenMP Application Program Interface v5.0 <https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-5.0.pdf>`_.
-
-``OMP_LIB_KINDS`` provides the following scalar default-integer
-named constants:
-
-.. code-block::
-
- omp_allocator_handle_kind
- omp_alloctrait_key_kind
- omp_alloctrait_val_kind
- omp_depend_kind
- omp_lock_kind
- omp_lock_hint_kind
- omp_nest_lock_kind
- omp_pause_resource_kind
- omp_memspace_handle_kind
- omp_proc_bind_kind
- omp_sched_kind
- omp_sync_hint_kind
-
-``OMP_LIB`` provides the scalar default-integer
-named constant ``openmp_version`` with a value of the form
-:samp:`{yyyymm}`, where ``yyyy`` is the year and :samp:`{mm}` the month
-of the OpenMP version; for OpenMP v4.5 the value is ``201511``.
-
-The following derived type:
-
-.. code-block::
-
- omp_alloctrait
-
-The following scalar integer named constants of the
-kind ``omp_sched_kind`` :
-
-.. code-block::
-
- omp_sched_static
- omp_sched_dynamic
- omp_sched_guided
- omp_sched_auto
-
-And the following scalar integer named constants of the
-kind ``omp_proc_bind_kind`` :
-
-.. code-block::
-
- omp_proc_bind_false
- omp_proc_bind_true
- omp_proc_bind_primary
- omp_proc_bind_master
- omp_proc_bind_close
- omp_proc_bind_spread
-
-The following scalar integer named constants are of the
-kind ``omp_lock_hint_kind`` :
-
-.. code-block::
-
- omp_lock_hint_none
- omp_lock_hint_uncontended
- omp_lock_hint_contended
- omp_lock_hint_nonspeculative
- omp_lock_hint_speculative
- omp_sync_hint_none
- omp_sync_hint_uncontended
- omp_sync_hint_contended
- omp_sync_hint_nonspeculative
- omp_sync_hint_speculative
-
-And the following two scalar integer named constants are of the
-kind ``omp_pause_resource_kind`` :
-
-.. code-block::
-
- omp_pause_soft
- omp_pause_hard
-
-The following scalar integer named constants are of the kind
-``omp_alloctrait_key_kind`` :
-
-.. code-block::
-
- omp_atk_sync_hint
- omp_atk_alignment
- omp_atk_access
- omp_atk_pool_size
- omp_atk_fallback
- omp_atk_fb_data
- omp_atk_pinned
- omp_atk_partition
-
-The following scalar integer named constants are of the kind
-``omp_alloctrait_val_kind`` :
-
-.. code-block::
-
- omp_atv_default
- omp_atv_false
- omp_atv_true
- omp_atv_contended
- omp_atv_uncontended
- omp_atv_serialized
- omp_atv_sequential
- omp_atv_private
- omp_atv_all
- omp_atv_thread
- omp_atv_pteam
- omp_atv_cgroup
- omp_atv_default_mem_fb
- omp_atv_null_fb
- omp_atv_abort_fb
- omp_atv_allocator_fb
- omp_atv_environment
- omp_atv_nearest
- omp_atv_blocked
-
-The following scalar integer named constants are of the kind
-``omp_allocator_handle_kind`` :
-
-.. code-block::
-
- omp_null_allocator
- omp_default_mem_alloc
- omp_large_cap_mem_alloc
- omp_const_mem_alloc
- omp_high_bw_mem_alloc
- omp_low_lat_mem_alloc
- omp_cgroup_mem_alloc
- omp_pteam_mem_alloc
- omp_thread_mem_alloc
-
-The following scalar integer named constants are of the kind
-``omp_memspace_handle_kind`` :
-
-.. code-block::
-
- omp_default_mem_space
- omp_large_cap_mem_space
- omp_const_mem_space
- omp_high_bw_mem_space
- omp_low_lat_mem_space \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures.rst
deleted file mode 100644
index cf1b0c9..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures.rst
+++ /dev/null
@@ -1,299 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: intrinsic procedures
-
-.. _intrinsic-procedures:
-
-Intrinsic Procedures
---------------------
-
-.. toctree::
- :maxdepth: 2
-
-
- intrinsic-procedures/introduction-to-intrinsic-procedures
- intrinsic-procedures/abort
- intrinsic-procedures/abs
- intrinsic-procedures/access
- intrinsic-procedures/achar
- intrinsic-procedures/acos
- intrinsic-procedures/acosd
- intrinsic-procedures/acosh
- intrinsic-procedures/adjustl
- intrinsic-procedures/adjustr
- intrinsic-procedures/aimag
- intrinsic-procedures/aint
- intrinsic-procedures/alarm
- intrinsic-procedures/all
- intrinsic-procedures/allocated
- intrinsic-procedures/and
- intrinsic-procedures/anint
- intrinsic-procedures/any
- intrinsic-procedures/asin
- intrinsic-procedures/asind
- intrinsic-procedures/asinh
- intrinsic-procedures/associated
- intrinsic-procedures/atan
- intrinsic-procedures/atand
- intrinsic-procedures/atan2
- intrinsic-procedures/atan2d
- intrinsic-procedures/atanh
- intrinsic-procedures/atomicadd
- intrinsic-procedures/atomicand
- intrinsic-procedures/atomiccas
- intrinsic-procedures/atomicdefine
- intrinsic-procedures/atomicfetchadd
- intrinsic-procedures/atomicfetchand
- intrinsic-procedures/atomicfetchor
- intrinsic-procedures/atomicfetchxor
- intrinsic-procedures/atomicor
- intrinsic-procedures/atomicref
- intrinsic-procedures/atomicxor
- intrinsic-procedures/backtrace
- intrinsic-procedures/besselj0
- intrinsic-procedures/besselj1
- intrinsic-procedures/besseljn
- intrinsic-procedures/bessely0
- intrinsic-procedures/bessely1
- intrinsic-procedures/besselyn
- intrinsic-procedures/bge
- intrinsic-procedures/bgt
- intrinsic-procedures/bitsize
- intrinsic-procedures/ble
- intrinsic-procedures/blt
- intrinsic-procedures/btest
- intrinsic-procedures/cassociated
- intrinsic-procedures/cfpointer
- intrinsic-procedures/cfprocpointer
- intrinsic-procedures/cfunloc
- intrinsic-procedures/cloc
- intrinsic-procedures/csizeof
- intrinsic-procedures/ceiling
- intrinsic-procedures/char
- intrinsic-procedures/chdir
- intrinsic-procedures/chmod
- intrinsic-procedures/cmplx
- intrinsic-procedures/cobroadcast
- intrinsic-procedures/comax
- intrinsic-procedures/comin
- intrinsic-procedures/coreduce
- intrinsic-procedures/cosum
- intrinsic-procedures/commandargumentcount
- intrinsic-procedures/compileroptions
- intrinsic-procedures/compilerversion
- intrinsic-procedures/complex
- intrinsic-procedures/conjg
- intrinsic-procedures/cos
- intrinsic-procedures/cosd
- intrinsic-procedures/cosh
- intrinsic-procedures/cotan
- intrinsic-procedures/cotand
- intrinsic-procedures/count
- intrinsic-procedures/cputime
- intrinsic-procedures/cshift
- intrinsic-procedures/ctime
- intrinsic-procedures/dateandtime
- intrinsic-procedures/dble
- intrinsic-procedures/dcmplx
- intrinsic-procedures/digits
- intrinsic-procedures/dim
- intrinsic-procedures/dotproduct
- intrinsic-procedures/dprod
- intrinsic-procedures/dreal
- intrinsic-procedures/dshiftl
- intrinsic-procedures/dshiftr
- intrinsic-procedures/dtime
- intrinsic-procedures/eoshift
- intrinsic-procedures/epsilon
- intrinsic-procedures/erf
- intrinsic-procedures/erfc
- intrinsic-procedures/erfcscaled
- intrinsic-procedures/etime
- intrinsic-procedures/eventquery
- intrinsic-procedures/executecommandline
- intrinsic-procedures/exit
- intrinsic-procedures/exp
- intrinsic-procedures/exponent
- intrinsic-procedures/extendstypeof
- intrinsic-procedures/fdate
- intrinsic-procedures/fget
- intrinsic-procedures/fgetc
- intrinsic-procedures/findloc
- intrinsic-procedures/floor
- intrinsic-procedures/flush
- intrinsic-procedures/fnum
- intrinsic-procedures/fput
- intrinsic-procedures/fputc
- intrinsic-procedures/fraction
- intrinsic-procedures/free
- intrinsic-procedures/fseek
- intrinsic-procedures/fstat
- intrinsic-procedures/ftell
- intrinsic-procedures/gamma
- intrinsic-procedures/gerror
- intrinsic-procedures/getarg
- intrinsic-procedures/getcommand
- intrinsic-procedures/getcommandargument
- intrinsic-procedures/getcwd
- intrinsic-procedures/getenv
- intrinsic-procedures/getenvironmentvariable
- intrinsic-procedures/getgid
- intrinsic-procedures/getlog
- intrinsic-procedures/getpid
- intrinsic-procedures/getuid
- intrinsic-procedures/gmtime
- intrinsic-procedures/hostnm
- intrinsic-procedures/huge
- intrinsic-procedures/hypot
- intrinsic-procedures/iachar
- intrinsic-procedures/iall
- intrinsic-procedures/iand
- intrinsic-procedures/iany
- intrinsic-procedures/iargc
- intrinsic-procedures/ibclr
- intrinsic-procedures/ibits
- intrinsic-procedures/ibset
- intrinsic-procedures/ichar
- intrinsic-procedures/idate
- intrinsic-procedures/ieor
- intrinsic-procedures/ierrno
- intrinsic-procedures/imageindex
- intrinsic-procedures/index
- intrinsic-procedures/int
- intrinsic-procedures/int2
- intrinsic-procedures/int8
- intrinsic-procedures/ior
- intrinsic-procedures/iparity
- intrinsic-procedures/irand
- intrinsic-procedures/iscontiguous
- intrinsic-procedures/isiostatend
- intrinsic-procedures/isiostateor
- intrinsic-procedures/isatty
- intrinsic-procedures/ishft
- intrinsic-procedures/ishftc
- intrinsic-procedures/isnan
- intrinsic-procedures/itime
- intrinsic-procedures/kill
- intrinsic-procedures/kind
- intrinsic-procedures/lbound
- intrinsic-procedures/lcobound
- intrinsic-procedures/leadz
- intrinsic-procedures/len
- intrinsic-procedures/lentrim
- intrinsic-procedures/lge
- intrinsic-procedures/lgt
- intrinsic-procedures/link
- intrinsic-procedures/lle
- intrinsic-procedures/llt
- intrinsic-procedures/lnblnk
- intrinsic-procedures/loc
- intrinsic-procedures/log
- intrinsic-procedures/log10
- intrinsic-procedures/loggamma
- intrinsic-procedures/logical
- intrinsic-procedures/lshift
- intrinsic-procedures/lstat
- intrinsic-procedures/ltime
- intrinsic-procedures/malloc
- intrinsic-procedures/maskl
- intrinsic-procedures/maskr
- intrinsic-procedures/matmul
- intrinsic-procedures/max
- intrinsic-procedures/maxexponent
- intrinsic-procedures/maxloc
- intrinsic-procedures/maxval
- intrinsic-procedures/mclock
- intrinsic-procedures/mclock8
- intrinsic-procedures/merge
- intrinsic-procedures/mergebits
- intrinsic-procedures/min
- intrinsic-procedures/minexponent
- intrinsic-procedures/minloc
- intrinsic-procedures/minval
- intrinsic-procedures/mod
- intrinsic-procedures/modulo
- intrinsic-procedures/movealloc
- intrinsic-procedures/mvbits
- intrinsic-procedures/nearest
- intrinsic-procedures/newline
- intrinsic-procedures/nint
- intrinsic-procedures/norm2
- intrinsic-procedures/not
- intrinsic-procedures/null
- intrinsic-procedures/numimages
- intrinsic-procedures/or
- intrinsic-procedures/pack
- intrinsic-procedures/parity
- intrinsic-procedures/perror
- intrinsic-procedures/popcnt
- intrinsic-procedures/poppar
- intrinsic-procedures/precision
- intrinsic-procedures/present
- intrinsic-procedures/product
- intrinsic-procedures/radix
- intrinsic-procedures/ran
- intrinsic-procedures/rand
- intrinsic-procedures/randominit
- intrinsic-procedures/randomnumber
- intrinsic-procedures/randomseed
- intrinsic-procedures/range
- intrinsic-procedures/rank
- intrinsic-procedures/real
- intrinsic-procedures/rename
- intrinsic-procedures/repeat
- intrinsic-procedures/reshape
- intrinsic-procedures/rrspacing
- intrinsic-procedures/rshift
- intrinsic-procedures/sametypeas
- intrinsic-procedures/scale
- intrinsic-procedures/scan
- intrinsic-procedures/secnds
- intrinsic-procedures/second
- intrinsic-procedures/selectedcharkind
- intrinsic-procedures/selectedintkind
- intrinsic-procedures/selectedrealkind
- intrinsic-procedures/setexponent
- intrinsic-procedures/shape
- intrinsic-procedures/shifta
- intrinsic-procedures/shiftl
- intrinsic-procedures/shiftr
- intrinsic-procedures/sign
- intrinsic-procedures/signal
- intrinsic-procedures/sin
- intrinsic-procedures/sind
- intrinsic-procedures/sinh
- intrinsic-procedures/size
- intrinsic-procedures/sizeof
- intrinsic-procedures/sleep
- intrinsic-procedures/spacing
- intrinsic-procedures/spread
- intrinsic-procedures/sqrt
- intrinsic-procedures/srand
- intrinsic-procedures/stat
- intrinsic-procedures/storagesize
- intrinsic-procedures/sum
- intrinsic-procedures/symlnk
- intrinsic-procedures/system
- intrinsic-procedures/systemclock
- intrinsic-procedures/tan
- intrinsic-procedures/tand
- intrinsic-procedures/tanh
- intrinsic-procedures/thisimage
- intrinsic-procedures/time
- intrinsic-procedures/time8
- intrinsic-procedures/tiny
- intrinsic-procedures/trailz
- intrinsic-procedures/transfer
- intrinsic-procedures/transpose
- intrinsic-procedures/trim
- intrinsic-procedures/ttynam
- intrinsic-procedures/ubound
- intrinsic-procedures/ucobound
- intrinsic-procedures/umask
- intrinsic-procedures/unlink
- intrinsic-procedures/unpack
- intrinsic-procedures/verify
- intrinsic-procedures/xor \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/abort.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/abort.rst
deleted file mode 100644
index 9ac38fa..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/abort.rst
+++ /dev/null
@@ -1,44 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _abort:
-
-ABORT --- Abort the program
-***************************
-
-.. index:: ABORT, program termination, with core dump, terminate program, with core dump, core, dump
-
-.. function:: ABORT()
-
- ``ABORT`` causes immediate termination of the program. On operating
- systems that support a core dump, ``ABORT`` will produce a core dump.
- It will also print a backtrace, unless ``-fno-backtrace`` is given.
-
- :return:
- Does not return.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL ABORT
-
- Example:
- .. code-block:: fortran
-
- program test_abort
- integer :: i = 1, j = 2
- if (i /= j) call abort
- end program test_abort
-
- See also:
- :ref:`EXIT`,
- :ref:`KILL`,
- :ref:`BACKTRACE` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/abs.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/abs.rst
deleted file mode 100644
index ecc7495..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/abs.rst
+++ /dev/null
@@ -1,117 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _abs:
-
-.. index:: ABS
-
-.. index:: CABS
-
-.. index:: DABS
-
-.. index:: IABS
-
-.. index:: ZABS
-
-.. index:: CDABS
-
-.. index:: BABS
-
-.. index:: IIABS
-
-.. index:: JIABS
-
-.. index:: KIABS
-
-.. index:: absolute value
-
-ABS --- Absolute value
-**********************
-
-.. function:: ABS(A)
-
- ``ABS(A)`` computes the absolute value of ``A``.
-
- :param A:
- The type of the argument shall be an ``INTEGER``,
- ``REAL``, or ``COMPLEX``.
-
- :return:
- The return value is of the same type and
- kind as the argument except the return value is ``REAL`` for a
- ``COMPLEX`` argument.
-
- Standard:
- Fortran 77 and later, has overloads that are GNU extensions
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ABS(A)
-
- Example:
- .. code-block:: fortran
-
- program test_abs
- integer :: i = -1
- real :: x = -1.e0
- complex :: z = (-1.e0,0.e0)
- i = abs(i)
- x = abs(x)
- x = abs(z)
- end program test_abs
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``ABS(A)``
- - ``REAL(4) A``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``CABS(A)``
- - ``COMPLEX(4) A``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DABS(A)``
- - ``REAL(8) A``
- - ``REAL(8)``
- - Fortran 77 and later
- * - ``IABS(A)``
- - ``INTEGER(4) A``
- - ``INTEGER(4)``
- - Fortran 77 and later
- * - ``BABS(A)``
- - ``INTEGER(1) A``
- - ``INTEGER(1)``
- - GNU extension
- * - ``IIABS(A)``
- - ``INTEGER(2) A``
- - ``INTEGER(2)``
- - GNU extension
- * - ``JIABS(A)``
- - ``INTEGER(4) A``
- - ``INTEGER(4)``
- - GNU extension
- * - ``KIABS(A)``
- - ``INTEGER(8) A``
- - ``INTEGER(8)``
- - GNU extension
- * - ``ZABS(A)``
- - ``COMPLEX(8) A``
- - ``REAL(8)``
- - GNU extension
- * - ``CDABS(A)``
- - ``COMPLEX(8) A``
- - ``REAL(8)``
- - GNU extension \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/access.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/access.rst
deleted file mode 100644
index 8293133..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/access.rst
+++ /dev/null
@@ -1,61 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ACCESS, file system, access mode
-
-.. _access:
-
-ACCESS --- Checks file access modes
-***********************************
-
-.. function:: ACCESS(NAME, MODE)
-
- ``ACCESS(NAME, MODE)`` checks whether the file :samp:`{NAME}`
- exists, is readable, writable or executable. Except for the
- executable check, ``ACCESS`` can be replaced by
- Fortran 95's ``INQUIRE``.
-
- :param NAME:
- Scalar ``CHARACTER`` of default kind with the
- file name. Trailing blank are ignored unless the character ``achar(0)``
- is present, then all characters up to and excluding ``achar(0)`` are
- used as file name.
-
- :param MODE:
- Scalar ``CHARACTER`` of default kind with the
- file access mode, may be any concatenation of ``"r"`` (readable),
- ``"w"`` (writable) and ``"x"`` (executable), or ``" "`` to check
- for existence.
-
- :return:
- Returns a scalar ``INTEGER``, which is ``0`` if the file is
- accessible in the given mode; otherwise or if an invalid argument
- has been given for ``MODE`` the value ``1`` is returned.
-
- Standard:
- GNU extension
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ACCESS(NAME, MODE)
-
- Example:
- .. code-block:: fortran
-
- program access_test
- implicit none
- character(len=*), parameter :: file = 'test.dat'
- character(len=*), parameter :: file2 = 'test.dat '//achar(0)
- if(access(file,' ') == 0) print *, trim(file),' is exists'
- if(access(file,'r') == 0) print *, trim(file),' is readable'
- if(access(file,'w') == 0) print *, trim(file),' is writable'
- if(access(file,'x') == 0) print *, trim(file),' is executable'
- if(access(file2,'rwx') == 0) &
- print *, trim(file2),' is readable, writable and executable'
- end program access_test \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/achar.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/achar.rst
deleted file mode 100644
index 81df133..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/achar.rst
+++ /dev/null
@@ -1,56 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ACHAR, ASCII collating sequence, collating sequence, ASCII
-
-.. _achar:
-
-ACHAR --- Character in ASCII collating sequence
-************************************************
-
-.. function:: ACHAR(I)
-
- ``ACHAR(I)`` returns the character located at position ``I``
- in the ASCII collating sequence.
-
- :param I:
- The type shall be ``INTEGER``.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``CHARACTER`` with a length of one.
- If the :samp:`{KIND}` argument is present, the return value is of the
- specified kind and of the default kind otherwise.
-
- Standard:
- Fortran 77 and later, with :samp:`{KIND}` argument Fortran 2003 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ACHAR(I [, KIND])
-
- Example:
- .. code-block:: fortran
-
- program test_achar
- character c
- c = achar(32)
- end program test_achar
-
- Note:
- See :ref:`ICHAR` for a discussion of converting between numerical values
- and formatted string representations.
-
- See also:
- :ref:`CHAR`,
- :ref:`IACHAR`,
- :ref:`ICHAR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/acos.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/acos.rst
deleted file mode 100644
index f744aaf..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/acos.rst
+++ /dev/null
@@ -1,73 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _acos:
-
-.. index:: ACOS
-
-.. index:: DACOS
-
-.. index:: trigonometric function, cosine, inverse
-
-.. index:: cosine, inverse
-
-ACOS --- Arccosine function
-****************************
-
-.. function:: ACOS(X)
-
- ``ACOS(X)`` computes the arccosine of :samp:`{X}` (inverse of ``COS(X)``).
-
- :param X:
- The type shall either be ``REAL`` with a magnitude that is
- less than or equal to one - or the type shall be ``COMPLEX``.
-
- :return:
- The return value is of the same type and kind as :samp:`{X}`.
- The real part of the result is in radians and lies in the range
- 0 \leq \Re \acos(x) \leq \pi.
-
- Standard:
- Fortran 77 and later, for a complex argument Fortran 2008 or later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ACOS(X)
-
- Example:
- .. code-block:: fortran
-
- program test_acos
- real(8) :: x = 0.866_8
- x = acos(x)
- end program test_acos
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``ACOS(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DACOS(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - Fortran 77 and later
-
- See also:
- Inverse function:
- :ref:`COS`
- Degrees function:
- :ref:`ACOSD` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/acosd.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/acosd.rst
deleted file mode 100644
index 676b7a4..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/acosd.rst
+++ /dev/null
@@ -1,74 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _acosd:
-
-.. index:: ACOSD
-
-.. index:: DACOSD
-
-.. index:: trigonometric function, cosine, inverse, degrees
-
-.. index:: cosine, inverse, degrees
-
-ACOSD --- Arccosine function, degrees
-*************************************
-
-.. function:: ACOSD(X)
-
- ``ACOSD(X)`` computes the arccosine of :samp:`{X}` in degrees (inverse of
- ``COSD(X)``).
-
- :param X:
- The type shall either be ``REAL`` with a magnitude that is
- less than or equal to one - or the type shall be ``COMPLEX``.
-
- :return:
- The return value is of the same type and kind as :samp:`{X}`.
- The real part of the result is in degrees and lies in the range
- 0 \leq \Re \acos(x) \leq 180.
-
- Standard:
- GNU extension, enabled with :option:`-fdec-math`
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ACOSD(X)
-
- Example:
- .. code-block:: fortran
-
- program test_acosd
- real(8) :: x = 0.866_8
- x = acosd(x)
- end program test_acosd
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``ACOSD(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - GNU extension
- * - ``DACOSD(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension
-
- See also:
- Inverse function:
- :ref:`COSD`
- Radians function:
- :ref:`ACOS` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/acosh.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/acosh.rst
deleted file mode 100644
index b2012d1..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/acosh.rst
+++ /dev/null
@@ -1,70 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _acosh:
-
-.. index:: ACOSH
-
-.. index:: DACOSH
-
-.. index:: area hyperbolic cosine
-
-.. index:: inverse hyperbolic cosine
-
-.. index:: hyperbolic function, cosine, inverse
-
-.. index:: cosine, hyperbolic, inverse
-
-ACOSH --- Inverse hyperbolic cosine function
-********************************************
-
-.. function:: ACOSH(X)
-
- ``ACOSH(X)`` computes the inverse hyperbolic cosine of :samp:`{X}`.
-
- :param X:
- The type shall be ``REAL`` or ``COMPLEX``.
-
- :return:
- The return value has the same type and kind as :samp:`{X}`. If :samp:`{X}` is
- complex, the imaginary part of the result is in radians and lies between
- 0 \leq \Im \acosh(x) \leq \pi.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ACOSH(X)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_acosh
- REAL(8), DIMENSION(3) :: x = (/ 1.0, 2.0, 3.0 /)
- WRITE (*,*) ACOSH(x)
- END PROGRAM
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``DACOSH(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension
-
- See also:
- Inverse function:
- :ref:`COSH` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/adjustl.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/adjustl.rst
deleted file mode 100644
index 233516a..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/adjustl.rst
+++ /dev/null
@@ -1,48 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ADJUSTL, string, adjust left, adjust string
-
-.. _adjustl:
-
-ADJUSTL --- Left adjust a string
-*********************************
-
-.. function:: ADJUSTL(STRING)
-
- ``ADJUSTL(STRING)`` will left adjust a string by removing leading spaces.
- Spaces are inserted at the end of the string as needed.
-
- :param STRING:
- The type shall be ``CHARACTER``.
-
- :return:
- The return value is of type ``CHARACTER`` and of the same kind as
- :samp:`{STRING}` where leading spaces are removed and the same number of
- spaces are inserted on the end of :samp:`{STRING}`.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ADJUSTL(STRING)
-
- Example:
- .. code-block:: fortran
-
- program test_adjustl
- character(len=20) :: str = ' gfortran'
- str = adjustl(str)
- print *, str
- end program test_adjustl
-
- See also:
- :ref:`ADJUSTR`,
- :ref:`TRIM` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/adjustr.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/adjustr.rst
deleted file mode 100644
index fac4b0c..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/adjustr.rst
+++ /dev/null
@@ -1,48 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ADJUSTR, string, adjust right, adjust string
-
-.. _adjustr:
-
-ADJUSTR --- Right adjust a string
-**********************************
-
-.. function:: ADJUSTR(STRING)
-
- ``ADJUSTR(STRING)`` will right adjust a string by removing trailing spaces.
- Spaces are inserted at the start of the string as needed.
-
- :param STR:
- The type shall be ``CHARACTER``.
-
- :return:
- The return value is of type ``CHARACTER`` and of the same kind as
- :samp:`{STRING}` where trailing spaces are removed and the same number of
- spaces are inserted at the start of :samp:`{STRING}`.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ADJUSTR(STRING)
-
- Example:
- .. code-block:: fortran
-
- program test_adjustr
- character(len=20) :: str = 'gfortran'
- str = adjustr(str)
- print *, str
- end program test_adjustr
-
- See also:
- :ref:`ADJUSTL`,
- :ref:`TRIM` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/aimag.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/aimag.rst
deleted file mode 100644
index cf51185..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/aimag.rst
+++ /dev/null
@@ -1,81 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _aimag:
-
-.. index:: AIMAG
-
-.. index:: DIMAG
-
-.. index:: IMAG
-
-.. index:: IMAGPART
-
-.. index:: complex numbers, imaginary part
-
-AIMAG --- Imaginary part of complex number
-********************************************
-
-.. function:: AIMAG(Z)
-
- ``AIMAG(Z)`` yields the imaginary part of complex argument ``Z``.
- The ``IMAG(Z)`` and ``IMAGPART(Z)`` intrinsic functions are provided
- for compatibility with :command:`g77`, and their use in new code is
- strongly discouraged.
-
- :param Z:
- The type of the argument shall be ``COMPLEX``.
-
- :return:
- The return value is of type ``REAL`` with the
- kind type parameter of the argument.
-
- Standard:
- Fortran 77 and later, has overloads that are GNU extensions
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = AIMAG(Z)
-
- Example:
- .. code-block:: fortran
-
- program test_aimag
- complex(4) z4
- complex(8) z8
- z4 = cmplx(1.e0_4, 0.e0_4)
- z8 = cmplx(0.e0_8, 1.e0_8)
- print *, aimag(z4), dimag(z8)
- end program test_aimag
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``AIMAG(Z)``
- - ``COMPLEX Z``
- - ``REAL``
- - Fortran 77 and later
- * - ``DIMAG(Z)``
- - ``COMPLEX(8) Z``
- - ``REAL(8)``
- - GNU extension
- * - ``IMAG(Z)``
- - ``COMPLEX Z``
- - ``REAL``
- - GNU extension
- * - ``IMAGPART(Z)``
- - ``COMPLEX Z``
- - ``REAL``
- - GNU extension \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/aint.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/aint.rst
deleted file mode 100644
index 2550442..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/aint.rst
+++ /dev/null
@@ -1,78 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _aint:
-
-.. index:: AINT
-
-.. index:: DINT
-
-.. index:: floor
-
-.. index:: rounding, floor
-
-AINT --- Truncate to a whole number
-***********************************
-
-.. function:: AINT(A [, KIND])
-
- ``AINT(A [, KIND])`` truncates its argument to a whole number.
-
- :param A:
- The type of the argument shall be ``REAL``.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``REAL`` with the kind type parameter of the
- argument if the optional :samp:`{KIND}` is absent; otherwise, the kind
- type parameter will be given by :samp:`{KIND}`. If the magnitude of
- :samp:`{X}` is less than one, ``AINT(X)`` returns zero. If the
- magnitude is equal to or greater than one then it returns the largest
- whole number that does not exceed its magnitude. The sign is the same
- as the sign of :samp:`{X}`.
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = AINT(A [, KIND])
-
- Example:
- .. code-block:: fortran
-
- program test_aint
- real(4) x4
- real(8) x8
- x4 = 1.234E0_4
- x8 = 4.321_8
- print *, aint(x4), dint(x8)
- x8 = aint(x4,8)
- end program test_aint
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``AINT(A)``
- - ``REAL(4) A``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DINT(A)``
- - ``REAL(8) A``
- - ``REAL(8)``
- - Fortran 77 and later \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/alarm.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/alarm.rst
deleted file mode 100644
index 3670966..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/alarm.rst
+++ /dev/null
@@ -1,59 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _alarm:
-
-ALARM --- Execute a routine after a given delay
-***********************************************
-
-.. index:: ALARM, delayed execution
-
-.. function:: ALARM(SECONDS, HANDLER, STATUS)
-
- ``ALARM(SECONDS, HANDLER [, STATUS])`` causes external subroutine :samp:`{HANDLER}`
- to be executed after a delay of :samp:`{SECONDS}` by using ``alarm(2)`` to
- set up a signal and ``signal(2)`` to catch it. If :samp:`{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.
-
- :param SECONDS:
- The type of the argument shall be a scalar
- ``INTEGER``. It is ``INTENT(IN)``.
-
- :param HANDLER:
- Signal handler (``INTEGER FUNCTION`` or
- ``SUBROUTINE``) or dummy/global ``INTEGER`` scalar. The scalar
- values may be either ``SIG_IGN=1`` to ignore the alarm generated
- or ``SIG_DFL=0`` to set the default action. It is ``INTENT(IN)``.
-
- :param STATUS:
- (Optional) :samp:`{STATUS}` shall be a scalar
- variable of the default ``INTEGER`` kind. It is ``INTENT(OUT)``.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL ALARM(SECONDS, HANDLER [, STATUS])
-
- Example:
- .. code-block:: fortran
-
- program test_alarm
- external handler_print
- integer i
- call alarm (3, handler_print, i)
- print *, i
- call sleep(10)
- end program test_alarm
-
- This will cause the external routine :samp:`{handler_print}` to be called
- after 3 seconds. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/all.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/all.rst
deleted file mode 100644
index a023168..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/all.rst
+++ /dev/null
@@ -1,61 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _all:
-
-ALL --- All values in MASK along DIM are true
-**********************************************
-
-.. index:: ALL, array, apply condition, array, condition testing
-
-.. function:: ALL(MASK, DIM)
-
- ``ALL(MASK [, DIM])`` determines if all the values are true in :samp:`{MASK}`
- in the array along dimension :samp:`{DIM}`.
-
- :param MASK:
- The type of the argument shall be ``LOGICAL`` and
- it shall not be scalar.
-
- :param DIM:
- (Optional) :samp:`{DIM}` shall be a scalar integer
- with a value that lies between one and the rank of :samp:`{MASK}`.
-
- :return:
- ``ALL(MASK)`` returns a scalar value of type ``LOGICAL`` where
- the kind type parameter is the same as the kind type parameter of
- :samp:`{MASK}`. If :samp:`{DIM}` is present, then ``ALL(MASK, DIM)`` returns
- an array with the rank of :samp:`{MASK}` minus 1. The shape is determined from
- the shape of :samp:`{MASK}` where the :samp:`{DIM}` dimension is elided.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ALL(MASK [, DIM])
-
- Example:
- .. code-block:: fortran
-
- program test_all
- logical l
- l = all((/.true., .true., .true./))
- print *, l
- call section
- contains
- subroutine section
- integer a(2,3), b(2,3)
- a = 1
- b = 1
- b(2,2) = 2
- print *, all(a .eq. b, 1)
- print *, all(a .eq. b, 2)
- end subroutine section
- end program test_all \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/allocated.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/allocated.rst
deleted file mode 100644
index eed0f76..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/allocated.rst
+++ /dev/null
@@ -1,49 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ALLOCATED, allocation, status
-
-.. _allocated:
-
-ALLOCATED --- Status of an allocatable entity
-*********************************************
-
-.. function:: ALLOCATED(ARRAY)
-
- ``ALLOCATED(ARRAY)`` and ``ALLOCATED(SCALAR)`` check the allocation
- status of :samp:`{ARRAY}` and :samp:`{SCALAR}`, respectively.
-
- :param ARRAY:
- The argument shall be an ``ALLOCATABLE`` array.
-
- :param SCALAR:
- The argument shall be an ``ALLOCATABLE`` scalar.
-
- :return:
- The return value is a scalar ``LOGICAL`` with the default logical
- kind type parameter. If the argument is allocated, then the result is
- ``.TRUE.`` ; otherwise, it returns ``.FALSE.``
-
- Standard:
- Fortran 90 and later. Note, the ``SCALAR=`` keyword and allocatable
- scalar entities are available in Fortran 2003 and later.
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ALLOCATED(ARRAY)
- RESULT = ALLOCATED(SCALAR)
-
- Example:
- .. code-block:: fortran
-
- program test_allocated
- integer :: i = 4
- real(4), allocatable :: x(:)
- if (.not. allocated(x)) allocate(x(i))
- end program test_allocated \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/and.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/and.rst
deleted file mode 100644
index 66a8d25..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/and.rst
+++ /dev/null
@@ -1,60 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _and:
-
-AND --- Bitwise logical AND
-***************************
-
-.. index:: AND, bitwise logical and, logical and, bitwise
-
-.. function:: AND(I, J)
-
- Bitwise logical ``AND``.
-
- :param I:
- The type shall be either a scalar ``INTEGER``
- type or a scalar ``LOGICAL`` type or a boz-literal-constant.
-
- :param J:
- The type shall be the same as the type of :samp:`{I}` or
- a boz-literal-constant. :samp:`{I}` and :samp:`{J}` shall not both be
- boz-literal-constants. If either :samp:`{I}` or :samp:`{J}` is a
- boz-literal-constant, then the other argument must be a scalar ``INTEGER``.
-
- :return:
- The return type is either a scalar ``INTEGER`` or a scalar
- ``LOGICAL``. If the kind type parameters differ, then the
- smaller kind type is implicitly converted to larger kind, and the
- return has the larger kind. A boz-literal-constant is
- converted to an ``INTEGER`` with the kind type parameter of
- the other argument as-if a call to :ref:`INT` occurred.
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = AND(I, J)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_and
- LOGICAL :: T = .TRUE., F = .FALSE.
- INTEGER :: a, b
- DATA a / Z'F' /, b / Z'3' /
-
- WRITE (*,*) AND(T, T), AND(T, F), AND(F, T), AND(F, F)
- WRITE (*,*) AND(a, b)
- END PROGRAM
-
- See also:
- Fortran 95 elemental function:
- :ref:`IAND` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/anint.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/anint.rst
deleted file mode 100644
index 889585c..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/anint.rst
+++ /dev/null
@@ -1,76 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _anint:
-
-.. index:: ANINT
-
-.. index:: DNINT
-
-.. index:: ceiling
-
-.. index:: rounding, ceiling
-
-ANINT --- Nearest whole number
-******************************
-
-.. function:: ANINT(A [, KIND])
-
- ``ANINT(A [, KIND])`` rounds its argument to the nearest whole number.
-
- :param A:
- The type of the argument shall be ``REAL``.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type real with the kind type parameter of the
- argument if the optional :samp:`{KIND}` is absent; otherwise, the kind
- type parameter will be given by :samp:`{KIND}`. If :samp:`{A}` is greater than
- zero, ``ANINT(A)`` returns ``AINT(X+0.5)``. If :samp:`{A}` is
- less than or equal to zero then it returns ``AINT(X-0.5)``.
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ANINT(A [, KIND])
-
- Example:
- .. code-block:: fortran
-
- program test_anint
- real(4) x4
- real(8) x8
- x4 = 1.234E0_4
- x8 = 4.321_8
- print *, anint(x4), dnint(x8)
- x8 = anint(x4,8)
- end program test_anint
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``ANINT(A)``
- - ``REAL(4) A``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DNINT(A)``
- - ``REAL(8) A``
- - ``REAL(8)``
- - Fortran 77 and later \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/any.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/any.rst
deleted file mode 100644
index 1a2ba10..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/any.rst
+++ /dev/null
@@ -1,61 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _any:
-
-ANY --- Any value in MASK along DIM is true
-********************************************
-
-.. index:: ANY, array, apply condition, array, condition testing
-
-.. function:: ANY(MASK, DIM)
-
- ``ANY(MASK [, DIM])`` determines if any of the values in the logical array
- :samp:`{MASK}` along dimension :samp:`{DIM}` are ``.TRUE.``.
-
- :param MASK:
- The type of the argument shall be ``LOGICAL`` and
- it shall not be scalar.
-
- :param DIM:
- (Optional) :samp:`{DIM}` shall be a scalar integer
- with a value that lies between one and the rank of :samp:`{MASK}`.
-
- :return:
- ``ANY(MASK)`` returns a scalar value of type ``LOGICAL`` where
- the kind type parameter is the same as the kind type parameter of
- :samp:`{MASK}`. If :samp:`{DIM}` is present, then ``ANY(MASK, DIM)`` returns
- an array with the rank of :samp:`{MASK}` minus 1. The shape is determined from
- the shape of :samp:`{MASK}` where the :samp:`{DIM}` dimension is elided.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ANY(MASK [, DIM])
-
- Example:
- .. code-block:: fortran
-
- program test_any
- logical l
- l = any((/.true., .true., .true./))
- print *, l
- call section
- contains
- subroutine section
- integer a(2,3), b(2,3)
- a = 1
- b = 1
- b(2,2) = 2
- print *, any(a .eq. b, 1)
- print *, any(a .eq. b, 2)
- end subroutine section
- end program test_any \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/asin.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/asin.rst
deleted file mode 100644
index 0b6c419..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/asin.rst
+++ /dev/null
@@ -1,73 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _asin:
-
-.. index:: ASIN
-
-.. index:: DASIN
-
-.. index:: trigonometric function, sine, inverse
-
-.. index:: sine, inverse
-
-ASIN --- Arcsine function
-**************************
-
-.. function:: ASIN(X)
-
- ``ASIN(X)`` computes the arcsine of its :samp:`{X}` (inverse of ``SIN(X)``).
-
- :param X:
- The type shall be either ``REAL`` and a magnitude that is
- less than or equal to one - or be ``COMPLEX``.
-
- :return:
- The return value is of the same type and kind as :samp:`{X}`.
- The real part of the result is in radians and lies in the range
- -\pi/2 \leq \Re \asin(x) \leq \pi/2.
-
- Standard:
- Fortran 77 and later, for a complex argument Fortran 2008 or later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ASIN(X)
-
- Example:
- .. code-block:: fortran
-
- program test_asin
- real(8) :: x = 0.866_8
- x = asin(x)
- end program test_asin
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``ASIN(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DASIN(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - Fortran 77 and later
-
- See also:
- Inverse function:
- :ref:`SIN`
- Degrees function:
- :ref:`ASIND` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/asind.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/asind.rst
deleted file mode 100644
index 407542b..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/asind.rst
+++ /dev/null
@@ -1,74 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _asind:
-
-.. index:: ASIND
-
-.. index:: DASIND
-
-.. index:: trigonometric function, sine, inverse, degrees
-
-.. index:: sine, inverse, degrees
-
-ASIND --- Arcsine function, degrees
-***********************************
-
-.. function:: ASIND(X)
-
- ``ASIND(X)`` computes the arcsine of its :samp:`{X}` in degrees (inverse of
- ``SIND(X)``).
-
- :param X:
- The type shall be either ``REAL`` and a magnitude that is
- less than or equal to one - or be ``COMPLEX``.
-
- :return:
- The return value is of the same type and kind as :samp:`{X}`.
- The real part of the result is in degrees and lies in the range
- -90 \leq \Re \asin(x) \leq 90.
-
- Standard:
- GNU extension, enabled with :option:`-fdec-math`.
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ASIND(X)
-
- Example:
- .. code-block:: fortran
-
- program test_asind
- real(8) :: x = 0.866_8
- x = asind(x)
- end program test_asind
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``ASIND(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - GNU extension
- * - ``DASIND(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension
-
- See also:
- Inverse function:
- :ref:`SIND`
- Radians function:
- :ref:`ASIN` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/asinh.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/asinh.rst
deleted file mode 100644
index 08902e8..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/asinh.rst
+++ /dev/null
@@ -1,70 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _asinh:
-
-.. index:: ASINH
-
-.. index:: DASINH
-
-.. index:: area hyperbolic sine
-
-.. index:: inverse hyperbolic sine
-
-.. index:: hyperbolic function, sine, inverse
-
-.. index:: sine, hyperbolic, inverse
-
-ASINH --- Inverse hyperbolic sine function
-******************************************
-
-.. function:: ASINH(X)
-
- ``ASINH(X)`` computes the inverse hyperbolic sine of :samp:`{X}`.
-
- :param X:
- The type shall be ``REAL`` or ``COMPLEX``.
-
- :return:
- The return value is of the same type and kind as :samp:`{X}`. If :samp:`{X}` is
- complex, the imaginary part of the result is in radians and lies between
- -\pi/2 \leq \Im \asinh(x) \leq \pi/2.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ASINH(X)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_asinh
- REAL(8), DIMENSION(3) :: x = (/ -1.0, 0.0, 1.0 /)
- WRITE (*,*) ASINH(x)
- END PROGRAM
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``DASINH(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension.
-
- See also:
- Inverse function:
- :ref:`SINH` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/associated.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/associated.rst
deleted file mode 100644
index 5988c21..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/associated.rst
+++ /dev/null
@@ -1,74 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _associated:
-
-ASSOCIATED --- Status of a pointer or pointer/target pair
-**********************************************************
-
-.. index:: ASSOCIATED, pointer, status, association status
-
-.. function:: ASSOCIATED(POINTER, TARGET)
-
- ``ASSOCIATED(POINTER [, TARGET])`` determines the status of the pointer
- :samp:`{POINTER}` or if :samp:`{POINTER}` is associated with the target :samp:`{TARGET}`.
-
- :param POINTER:
- :samp:`{POINTER}` shall have the ``POINTER`` attribute
- and it can be of any type.
-
- :param TARGET:
- (Optional) :samp:`{TARGET}` shall be a pointer or
- a target. It must have the same type, kind type parameter, and
- array rank as :samp:`{POINTER}`.
-
- :return:
- ``ASSOCIATED(POINTER)`` returns a scalar value of type ``LOGICAL(4)``.
- There are several cases:
-
- - When the optional TARGET is not present then
- ASSOCIATED(POINTER) is true if POINTER is associated with a target; otherwise, it returns false.
-
- - If TARGET is present and a scalar target, the result is true if
- TARGET is not a zero-sized storage sequence and the target associated with POINTER occupies the same storage units. If POINTER is disassociated, the result is false.
-
- - If TARGET is present and an array target, the result is true if
- TARGET and POINTER have the same shape, are not zero-sized arrays, are arrays whose elements are not zero-sized storage sequences,
- and TARGET and POINTER occupy the same storage units in array element order. As in case(B), the result is false, if POINTER is disassociated.
-
- - If TARGET is present and an scalar pointer, the result is true
- if TARGET is associated with POINTER, the target associated with TARGET are not zero-sized storage sequences and occupy the same storage units.
- The result is false, if either TARGET or POINTER is disassociated.
-
- - If TARGET is present and an array pointer, the result is true if
- target associated with POINTER and the target associated with TARGET have the same shape, are not zero-sized arrays,
- are arrays whose elements are not zero-sized storage sequences, and TARGET and POINTER occupy the same storage units in array element order.
- The result is false, if either TARGET or POINTER is disassociated.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ASSOCIATED(POINTER [, TARGET])
-
- Example:
- .. code-block:: fortran
-
- program test_associated
- implicit none
- real, target :: tgt(2) = (/1., 2./)
- real, pointer :: ptr(:)
- ptr => tgt
- if (associated(ptr) .eqv. .false.) call abort
- if (associated(ptr,tgt) .eqv. .false.) call abort
- end program test_associated
-
- See also:
- :ref:`NULL` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/atan.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/atan.rst
deleted file mode 100644
index ae36dda..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/atan.rst
+++ /dev/null
@@ -1,80 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _atan:
-
-.. index:: ATAN
-
-.. index:: DATAN
-
-.. index:: trigonometric function, tangent, inverse
-
-.. index:: tangent, inverse
-
-ATAN --- Arctangent function
-*****************************
-
-.. function:: ATAN(X)
-
- ``ATAN(X)`` computes the arctangent of :samp:`{X}`.
-
- :param X:
- The type shall be ``REAL`` or ``COMPLEX`` ;
- if :samp:`{Y}` is present, :samp:`{X}` shall be REAL.
-
- :param Y:
- The type and kind type parameter shall be the same as :samp:`{X}`.
-
- :return:
- The return value is of the same type and kind as :samp:`{X}`.
- If :samp:`{Y}` is present, the result is identical to ``ATAN2(Y,X)``.
- Otherwise, it the arcus tangent of :samp:`{X}`, where the real part of
- the result is in radians and lies in the range
- -\pi/2 \leq \Re \atan(x) \leq \pi/2.
-
- Standard:
- Fortran 77 and later, for a complex argument and for two arguments
- Fortran 2008 or later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ATAN(X)
- RESULT = ATAN(Y, X)
-
- Example:
- .. code-block:: fortran
-
- program test_atan
- real(8) :: x = 2.866_8
- x = atan(x)
- end program test_atan
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``ATAN(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DATAN(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - Fortran 77 and later
-
- See also:
- Inverse function:
- :ref:`TAN`
- Degrees function:
- :ref:`ATAND` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/atan2.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/atan2.rst
deleted file mode 100644
index 0f61a79..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/atan2.rst
+++ /dev/null
@@ -1,85 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _atan2:
-
-.. index:: ATAN2
-
-.. index:: DATAN2
-
-.. index:: trigonometric function, tangent, inverse
-
-.. index:: tangent, inverse
-
-ATAN2 --- Arctangent function
-******************************
-
-.. function:: ATAN2(Y, X)
-
- ``ATAN2(Y, X)`` computes the principal value of the argument
- function of the complex number X + i Y. This function can
- be used to transform from Cartesian into polar coordinates and
- allows to determine the angle in the correct quadrant.
-
- :param Y:
- The type shall be ``REAL``.
-
- :param X:
- The type and kind type parameter shall be the same as :samp:`{Y}`.
- If :samp:`{Y}` is zero, then :samp:`{X}` must be nonzero.
-
- :return:
- The return value has the same type and kind type parameter as :samp:`{Y}`. It
- is the principal value of the complex number X + i Y. If :samp:`{X}`
- is nonzero, then it lies in the range -\pi \le \atan (x) \leq \pi.
- The sign is positive if :samp:`{Y}` is positive. If :samp:`{Y}` is zero, then
- the return value is zero if :samp:`{X}` is strictly positive, \pi if
- :samp:`{X}` is negative and :samp:`{Y}` is positive zero (or the processor does
- not handle signed zeros), and -\pi if :samp:`{X}` is negative and
- :samp:`{Y}` is negative zero. Finally, if :samp:`{X}` is zero, then the
- magnitude of the result is \pi/2.
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ATAN2(Y, X)
-
- Example:
- .. code-block:: fortran
-
- program test_atan2
- real(4) :: x = 1.e0_4, y = 0.5e0_4
- x = atan2(y,x)
- end program test_atan2
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``ATAN2(X, Y)``
- - ``REAL(4) X, Y``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DATAN2(X, Y)``
- - ``REAL(8) X, Y``
- - ``REAL(8)``
- - Fortran 77 and later
-
- See also:
- Alias:
- :ref:`ATAN`
- Degrees function:
- :ref:`ATAN2D` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/atan2d.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/atan2d.rst
deleted file mode 100644
index 1aed24a..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/atan2d.rst
+++ /dev/null
@@ -1,85 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _atan2d:
-
-.. index:: ATAN2D
-
-.. index:: DATAN2D
-
-.. index:: trigonometric function, tangent, inverse, degrees
-
-.. index:: tangent, inverse, degrees
-
-ATAN2D --- Arctangent function, degrees
-***************************************
-
-.. function:: ATAN2D(Y, X)
-
- ``ATAN2D(Y, X)`` computes the principal value of the argument
- function of the complex number X + i Y in degrees. This function can
- be used to transform from Cartesian into polar coordinates and
- allows to determine the angle in the correct quadrant.
-
- :param Y:
- The type shall be ``REAL``.
-
- :param X:
- The type and kind type parameter shall be the same as :samp:`{Y}`.
- If :samp:`{Y}` is zero, then :samp:`{X}` must be nonzero.
-
- :return:
- The return value has the same type and kind type parameter as :samp:`{Y}`. It
- is the principal value of the complex number X + i Y. If :samp:`{X}`
- is nonzero, then it lies in the range -180 \le \atan (x) \leq 180.
- The sign is positive if :samp:`{Y}` is positive. If :samp:`{Y}` is zero, then
- the return value is zero if :samp:`{X}` is strictly positive, 180 if
- :samp:`{X}` is negative and :samp:`{Y}` is positive zero (or the processor does
- not handle signed zeros), and -180 if :samp:`{X}` is negative and
- :samp:`{Y}` is negative zero. Finally, if :samp:`{X}` is zero, then the
- magnitude of the result is 90.
-
- Standard:
- GNU extension, enabled with :option:`-fdec-math`.
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ATAN2D(Y, X)
-
- Example:
- .. code-block:: fortran
-
- program test_atan2d
- real(4) :: x = 1.e0_4, y = 0.5e0_4
- x = atan2d(y,x)
- end program test_atan2d
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``ATAN2D(X, Y)``
- - ``REAL(4) X, Y``
- - ``REAL(4)``
- - GNU extension
- * - ``DATAN2D(X, Y)``
- - ``REAL(8) X, Y``
- - ``REAL(8)``
- - GNU extension
-
- See also:
- Alias:
- :ref:`ATAND`
- Radians function:
- :ref:`ATAN2` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/atand.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/atand.rst
deleted file mode 100644
index f070cfc..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/atand.rst
+++ /dev/null
@@ -1,80 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _atand:
-
-.. index:: ATAND
-
-.. index:: DATAND
-
-.. index:: trigonometric function, tangent, inverse, degrees
-
-.. index:: tangent, inverse, degrees
-
-ATAND --- Arctangent function, degrees
-**************************************
-
-.. function:: ATAND(X)
-
- ``ATAND(X)`` computes the arctangent of :samp:`{X}` in degrees (inverse of
- :ref:`TAND`).
-
- :param X:
- The type shall be ``REAL`` or ``COMPLEX`` ;
- if :samp:`{Y}` is present, :samp:`{X}` shall be REAL.
-
- :param Y:
- The type and kind type parameter shall be the same as :samp:`{X}`.
-
- :return:
- The return value is of the same type and kind as :samp:`{X}`.
- If :samp:`{Y}` is present, the result is identical to ``ATAND2(Y,X)``.
- Otherwise, it is the arcus tangent of :samp:`{X}`, where the real part of
- the result is in degrees and lies in the range
- -90 \leq \Re \atand(x) \leq 90.
-
- Standard:
- GNU extension, enabled with :option:`-fdec-math`.
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ATAND(X)
- RESULT = ATAND(Y, X)
-
- Example:
- .. code-block:: fortran
-
- program test_atand
- real(8) :: x = 2.866_8
- x = atand(x)
- end program test_atand
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``ATAND(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - GNU extension
- * - ``DATAND(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension
-
- See also:
- Inverse function:
- :ref:`TAND`
- Radians function:
- :ref:`ATAN` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/atanh.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/atanh.rst
deleted file mode 100644
index 7d6f157..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/atanh.rst
+++ /dev/null
@@ -1,70 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _atanh:
-
-.. index:: ATANH
-
-.. index:: DATANH
-
-.. index:: area hyperbolic tangent
-
-.. index:: inverse hyperbolic tangent
-
-.. index:: hyperbolic function, tangent, inverse
-
-.. index:: tangent, hyperbolic, inverse
-
-ATANH --- Inverse hyperbolic tangent function
-*********************************************
-
-.. function:: ATANH(X)
-
- ``ATANH(X)`` computes the inverse hyperbolic tangent of :samp:`{X}`.
-
- :param X:
- The type shall be ``REAL`` or ``COMPLEX``.
-
- :return:
- The return value has same type and kind as :samp:`{X}`. If :samp:`{X}` is
- complex, the imaginary part of the result is in radians and lies between
- -\pi/2 \leq \Im \atanh(x) \leq \pi/2.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ATANH(X)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_atanh
- REAL, DIMENSION(3) :: x = (/ -1.0, 0.0, 1.0 /)
- WRITE (*,*) ATANH(x)
- END PROGRAM
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``DATANH(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension
-
- See also:
- Inverse function:
- :ref:`TANH` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicadd.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicadd.rst
deleted file mode 100644
index 3b1195e..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicadd.rst
+++ /dev/null
@@ -1,60 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ATOMIC_ADD, Atomic subroutine, add
-
-.. _atomic_add:
-
-ATOMIC_ADD --- Atomic ADD operation
-***********************************
-
-.. function:: ATOMIC_ADD(ATOM, VALUE)
-
- ``ATOMIC_ADD(ATOM, VALUE)`` atomically adds the value of :samp:`{VALUE}` to the
- variable :samp:`{ATOM}`. When :samp:`{STAT}` is present and the invocation was
- successful, it is assigned the value 0. If it is present and the invocation
- has failed, it is assigned a positive value; in particular, for a coindexed
- :samp:`{ATOM}`, if the remote image has stopped, it is assigned the value of
- ``ISO_FORTRAN_ENV`` 's ``STAT_STOPPED_IMAGE`` and if the remote image has
- failed, the value ``STAT_FAILED_IMAGE``.
-
- :param ATOM:
- Scalar coarray or coindexed variable of integer
- type with ``ATOMIC_INT_KIND`` kind.
-
- :param VALUE:
- Scalar of the same type as :samp:`{ATOM}`. If the kind
- is different, the value is converted to the kind of :samp:`{ATOM}`.
-
- :param STAT:
- (optional) Scalar default-kind integer variable.
-
- Standard:
- TS 18508 or later
-
- Class:
- Atomic subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL ATOMIC_ADD (ATOM, VALUE [, STAT])
-
- Example:
- .. code-block:: fortran
-
- program atomic
- use iso_fortran_env
- integer(atomic_int_kind) :: atom[*]
- call atomic_add (atom[1], this_image())
- end program atomic
-
- See also:
- :ref:`ATOMIC_DEFINE`,
- :ref:`ATOMIC_FETCH_ADD`,
- :ref:`ISO_FORTRAN_ENV`,
- :ref:`ATOMIC_AND`,
- :ref:`ATOMIC_OR`,
- :ref:`ATOMIC_XOR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicand.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicand.rst
deleted file mode 100644
index fd503c8..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicand.rst
+++ /dev/null
@@ -1,60 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ATOMIC_AND, Atomic subroutine, AND
-
-.. _atomic_and:
-
-ATOMIC_AND --- Atomic bitwise AND operation
-*******************************************
-
-.. function:: ATOMIC_AND(ATOM, VALUE)
-
- ``ATOMIC_AND(ATOM, VALUE)`` atomically defines :samp:`{ATOM}` with the bitwise
- AND between the values of :samp:`{ATOM}` and :samp:`{VALUE}`. When :samp:`{STAT}` is present
- and the invocation was successful, it is assigned the value 0. If it is present
- and the invocation has failed, it is assigned a positive value; in particular,
- for a coindexed :samp:`{ATOM}`, if the remote image has stopped, it is assigned the
- value of ``ISO_FORTRAN_ENV`` 's ``STAT_STOPPED_IMAGE`` and if the remote
- image has failed, the value ``STAT_FAILED_IMAGE``.
-
- :param ATOM:
- Scalar coarray or coindexed variable of integer
- type with ``ATOMIC_INT_KIND`` kind.
-
- :param VALUE:
- Scalar of the same type as :samp:`{ATOM}`. If the kind
- is different, the value is converted to the kind of :samp:`{ATOM}`.
-
- :param STAT:
- (optional) Scalar default-kind integer variable.
-
- Standard:
- TS 18508 or later
-
- Class:
- Atomic subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL ATOMIC_AND (ATOM, VALUE [, STAT])
-
- Example:
- .. code-block:: fortran
-
- program atomic
- use iso_fortran_env
- integer(atomic_int_kind) :: atom[*]
- call atomic_and (atom[1], int(b'10100011101'))
- end program atomic
-
- See also:
- :ref:`ATOMIC_DEFINE`,
- :ref:`ATOMIC_FETCH_AND`,
- :ref:`ISO_FORTRAN_ENV`,
- :ref:`ATOMIC_ADD`,
- :ref:`ATOMIC_OR`,
- :ref:`ATOMIC_XOR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomiccas.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/atomiccas.rst
deleted file mode 100644
index a26e134..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomiccas.rst
+++ /dev/null
@@ -1,67 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _atomic_cas:
-
-ATOMIC_CAS --- Atomic compare and swap
-**************************************
-
-.. index:: ATOMIC_DEFINE, Atomic subroutine, compare and swap
-
-.. function:: ATOMIC_CAS(ATOM, OLD, COMPARE, NEW, STAT)
-
- ``ATOMIC_CAS`` compares the variable :samp:`{ATOM}` with the value of
- :samp:`{COMPARE}` ; if the value is the same, :samp:`{ATOM}` is set to the value
- of :samp:`{NEW}`. Additionally, :samp:`{OLD}` is set to the value of :samp:`{ATOM}`
- that was used for the comparison. When :samp:`{STAT}` is present and the invocation
- was successful, it is assigned the value 0. If it is present and the invocation
- has failed, it is assigned a positive value; in particular, for a coindexed
- :samp:`{ATOM}`, if the remote image has stopped, it is assigned the value of
- ``ISO_FORTRAN_ENV`` 's ``STAT_STOPPED_IMAGE`` and if the remote image has
- failed, the value ``STAT_FAILED_IMAGE``.
-
- :param ATOM:
- Scalar coarray or coindexed variable of either integer
- type with ``ATOMIC_INT_KIND`` kind or logical type with
- ``ATOMIC_LOGICAL_KIND`` kind.
-
- :param OLD:
- Scalar of the same type and kind as :samp:`{ATOM}`.
-
- :param COMPARE:
- Scalar variable of the same type and kind as
- :samp:`{ATOM}`.
-
- :param NEW:
- Scalar variable of the same type as :samp:`{ATOM}`. If kind
- is different, the value is converted to the kind of :samp:`{ATOM}`.
-
- :param STAT:
- (optional) Scalar default-kind integer variable.
-
- Standard:
- TS 18508 or later
-
- Class:
- Atomic subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL ATOMIC_CAS (ATOM, OLD, COMPARE, NEW [, STAT])
-
- Example:
- .. code-block:: fortran
-
- program atomic
- use iso_fortran_env
- logical(atomic_logical_kind) :: atom[*], prev
- call atomic_cas (atom[1], prev, .false., .true.))
- end program atomic
-
- See also:
- :ref:`ATOMIC_DEFINE`,
- :ref:`ATOMIC_REF`,
- :ref:`ISO_FORTRAN_ENV` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicdefine.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicdefine.rst
deleted file mode 100644
index 4366028..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicdefine.rst
+++ /dev/null
@@ -1,62 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ATOMIC_DEFINE, Atomic subroutine, define
-
-.. _atomic_define:
-
-ATOMIC_DEFINE --- Setting a variable atomically
-***********************************************
-
-.. function:: ATOMIC_DEFINE(ATOM, VALUE)
-
- ``ATOMIC_DEFINE(ATOM, VALUE)`` defines the variable :samp:`{ATOM}` with the value
- :samp:`{VALUE}` atomically. When :samp:`{STAT}` is present and the invocation was
- successful, it is assigned the value 0. If it is present and the invocation
- has failed, it is assigned a positive value; in particular, for a coindexed
- :samp:`{ATOM}`, if the remote image has stopped, it is assigned the value of
- ``ISO_FORTRAN_ENV`` 's ``STAT_STOPPED_IMAGE`` and if the remote image has
- failed, the value ``STAT_FAILED_IMAGE``.
-
- :param ATOM:
- Scalar coarray or coindexed variable of either integer
- type with ``ATOMIC_INT_KIND`` kind or logical type with
- ``ATOMIC_LOGICAL_KIND`` kind.
-
- :param VALUE:
- Scalar of the same type as :samp:`{ATOM}`. If the kind
- is different, the value is converted to the kind of :samp:`{ATOM}`.
-
- :param STAT:
- (optional) Scalar default-kind integer variable.
-
- Standard:
- Fortran 2008 and later; with :samp:`{STAT}`, TS 18508 or later
-
- Class:
- Atomic subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL ATOMIC_DEFINE (ATOM, VALUE [, STAT])
-
- Example:
- .. code-block:: fortran
-
- program atomic
- use iso_fortran_env
- integer(atomic_int_kind) :: atom[*]
- call atomic_define (atom[1], this_image())
- end program atomic
-
- See also:
- :ref:`ATOMIC_REF`,
- :ref:`ATOMIC_CAS`,
- :ref:`ISO_FORTRAN_ENV`,
- :ref:`ATOMIC_ADD`,
- :ref:`ATOMIC_AND`,
- :ref:`ATOMIC_OR`,
- :ref:`ATOMIC_XOR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicfetchadd.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicfetchadd.rst
deleted file mode 100644
index a3b1059..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicfetchadd.rst
+++ /dev/null
@@ -1,65 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ATOMIC_FETCH_ADD, Atomic subroutine, ADD with fetch
-
-.. _atomic_fetch_add:
-
-ATOMIC_FETCH_ADD --- Atomic ADD operation with prior fetch
-**********************************************************
-
-.. function:: ATOMIC_FETCH_ADD(ATOM, VALUE, OLD)
-
- ``ATOMIC_FETCH_ADD(ATOM, VALUE, OLD)`` atomically stores the value of
- :samp:`{ATOM}` in :samp:`{OLD}` and adds the value of :samp:`{VALUE}` to the
- variable :samp:`{ATOM}`. When :samp:`{STAT}` is present and the invocation was
- successful, it is assigned the value 0. If it is present and the invocation
- has failed, it is assigned a positive value; in particular, for a coindexed
- :samp:`{ATOM}`, if the remote image has stopped, it is assigned the value of
- ``ISO_FORTRAN_ENV`` 's ``STAT_STOPPED_IMAGE`` and if the remote image has
- failed, the value ``STAT_FAILED_IMAGE``.
-
- :param ATOM:
- Scalar coarray or coindexed variable of integer
- type with ``ATOMIC_INT_KIND`` kind.
- ``ATOMIC_LOGICAL_KIND`` kind.
-
- :param VALUE:
- Scalar of the same type as :samp:`{ATOM}`. If the kind
- is different, the value is converted to the kind of :samp:`{ATOM}`.
-
- :param OLD:
- Scalar of the same type and kind as :samp:`{ATOM}`.
-
- :param STAT:
- (optional) Scalar default-kind integer variable.
-
- Standard:
- TS 18508 or later
-
- Class:
- Atomic subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL ATOMIC_FETCH_ADD (ATOM, VALUE, old [, STAT])
-
- Example:
- .. code-block:: fortran
-
- program atomic
- use iso_fortran_env
- integer(atomic_int_kind) :: atom[*], old
- call atomic_add (atom[1], this_image(), old)
- end program atomic
-
- See also:
- :ref:`ATOMIC_DEFINE`,
- :ref:`ATOMIC_ADD`,
- :ref:`ISO_FORTRAN_ENV`,
- :ref:`ATOMIC_FETCH_AND`,
- :ref:`ATOMIC_FETCH_OR`,
- :ref:`ATOMIC_FETCH_XOR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicfetchand.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicfetchand.rst
deleted file mode 100644
index 379a767..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicfetchand.rst
+++ /dev/null
@@ -1,64 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ATOMIC_FETCH_AND, Atomic subroutine, AND with fetch
-
-.. _atomic_fetch_and:
-
-ATOMIC_FETCH_AND --- Atomic bitwise AND operation with prior fetch
-******************************************************************
-
-.. function:: ATOMIC_FETCH_AND (ATOM, VALUE, OLD , STAT)
-
- ``ATOMIC_AND(ATOM, VALUE)`` atomically stores the value of :samp:`{ATOM}` in
- :samp:`{OLD}` and defines :samp:`{ATOM}` with the bitwise AND between the values of
- :samp:`{ATOM}` and :samp:`{VALUE}`. When :samp:`{STAT}` is present and the invocation was
- successful, it is assigned the value 0. If it is present and the invocation has
- failed, it is assigned a positive value; in particular, for a coindexed
- :samp:`{ATOM}`, if the remote image has stopped, it is assigned the value of
- ``ISO_FORTRAN_ENV`` 's ``STAT_STOPPED_IMAGE`` and if the remote image has
- failed, the value ``STAT_FAILED_IMAGE``.
-
- :param ATOM:
- Scalar coarray or coindexed variable of integer
- type with ``ATOMIC_INT_KIND`` kind.
-
- :param VALUE:
- Scalar of the same type as :samp:`{ATOM}`. If the kind
- is different, the value is converted to the kind of :samp:`{ATOM}`.
-
- :param OLD:
- Scalar of the same type and kind as :samp:`{ATOM}`.
-
- :param STAT:
- (optional) Scalar default-kind integer variable.
-
- Standard:
- TS 18508 or later
-
- Class:
- Atomic subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL ATOMIC_FETCH_AND (ATOM, VALUE, OLD [, STAT])
-
- Example:
- .. code-block:: fortran
-
- program atomic
- use iso_fortran_env
- integer(atomic_int_kind) :: atom[*], old
- call atomic_fetch_and (atom[1], int(b'10100011101'), old)
- end program atomic
-
- See also:
- :ref:`ATOMIC_DEFINE`,
- :ref:`ATOMIC_AND`,
- :ref:`ISO_FORTRAN_ENV`,
- :ref:`ATOMIC_FETCH_ADD`,
- :ref:`ATOMIC_FETCH_OR`,
- :ref:`ATOMIC_FETCH_XOR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicfetchor.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicfetchor.rst
deleted file mode 100644
index 5dd5391..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicfetchor.rst
+++ /dev/null
@@ -1,64 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ATOMIC_FETCH_OR, Atomic subroutine, OR with fetch
-
-.. _atomic_fetch_or:
-
-ATOMIC_FETCH_OR --- Atomic bitwise OR operation with prior fetch
-****************************************************************
-
-.. function:: ATOMIC_FETCH_OR (ATOM, VALUE, OLD , STAT)
-
- ``ATOMIC_OR(ATOM, VALUE)`` atomically stores the value of :samp:`{ATOM}` in
- :samp:`{OLD}` and defines :samp:`{ATOM}` with the bitwise OR between the values of
- :samp:`{ATOM}` and :samp:`{VALUE}`. When :samp:`{STAT}` is present and the invocation was
- successful, it is assigned the value 0. If it is present and the invocation has
- failed, it is assigned a positive value; in particular, for a coindexed
- :samp:`{ATOM}`, if the remote image has stopped, it is assigned the value of
- ``ISO_FORTRAN_ENV`` 's ``STAT_STOPPED_IMAGE`` and if the remote image has
- failed, the value ``STAT_FAILED_IMAGE``.
-
- :param ATOM:
- Scalar coarray or coindexed variable of integer
- type with ``ATOMIC_INT_KIND`` kind.
-
- :param VALUE:
- Scalar of the same type as :samp:`{ATOM}`. If the kind
- is different, the value is converted to the kind of :samp:`{ATOM}`.
-
- :param OLD:
- Scalar of the same type and kind as :samp:`{ATOM}`.
-
- :param STAT:
- (optional) Scalar default-kind integer variable.
-
- Standard:
- TS 18508 or later
-
- Class:
- Atomic subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL ATOMIC_FETCH_OR (ATOM, VALUE, OLD [, STAT])
-
- Example:
- .. code-block:: fortran
-
- program atomic
- use iso_fortran_env
- integer(atomic_int_kind) :: atom[*], old
- call atomic_fetch_or (atom[1], int(b'10100011101'), old)
- end program atomic
-
- See also:
- :ref:`ATOMIC_DEFINE`,
- :ref:`ATOMIC_OR`,
- :ref:`ISO_FORTRAN_ENV`,
- :ref:`ATOMIC_FETCH_ADD`,
- :ref:`ATOMIC_FETCH_AND`,
- :ref:`ATOMIC_FETCH_XOR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicfetchxor.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicfetchxor.rst
deleted file mode 100644
index 4f5a4c2..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicfetchxor.rst
+++ /dev/null
@@ -1,64 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ATOMIC_FETCH_XOR, Atomic subroutine, XOR with fetch
-
-.. _atomic_fetch_xor:
-
-ATOMIC_FETCH_XOR --- Atomic bitwise XOR operation with prior fetch
-******************************************************************
-
-.. function:: ATOMIC_FETCH_XOR (ATOM, VALUE, OLD , STAT)
-
- ``ATOMIC_XOR(ATOM, VALUE)`` atomically stores the value of :samp:`{ATOM}` in
- :samp:`{OLD}` and defines :samp:`{ATOM}` with the bitwise XOR between the values of
- :samp:`{ATOM}` and :samp:`{VALUE}`. When :samp:`{STAT}` is present and the invocation was
- successful, it is assigned the value 0. If it is present and the invocation has
- failed, it is assigned a positive value; in particular, for a coindexed
- :samp:`{ATOM}`, if the remote image has stopped, it is assigned the value of
- ``ISO_FORTRAN_ENV`` 's ``STAT_STOPPED_IMAGE`` and if the remote image has
- failed, the value ``STAT_FAILED_IMAGE``.
-
- :param ATOM:
- Scalar coarray or coindexed variable of integer
- type with ``ATOMIC_INT_KIND`` kind.
-
- :param VALUE:
- Scalar of the same type as :samp:`{ATOM}`. If the kind
- is different, the value is converted to the kind of :samp:`{ATOM}`.
-
- :param OLD:
- Scalar of the same type and kind as :samp:`{ATOM}`.
-
- :param STAT:
- (optional) Scalar default-kind integer variable.
-
- Standard:
- TS 18508 or later
-
- Class:
- Atomic subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL ATOMIC_FETCH_XOR (ATOM, VALUE, OLD [, STAT])
-
- Example:
- .. code-block:: fortran
-
- program atomic
- use iso_fortran_env
- integer(atomic_int_kind) :: atom[*], old
- call atomic_fetch_xor (atom[1], int(b'10100011101'), old)
- end program atomic
-
- See also:
- :ref:`ATOMIC_DEFINE`,
- :ref:`ATOMIC_XOR`,
- :ref:`ISO_FORTRAN_ENV`,
- :ref:`ATOMIC_FETCH_ADD`,
- :ref:`ATOMIC_FETCH_AND`,
- :ref:`ATOMIC_FETCH_OR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicor.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicor.rst
deleted file mode 100644
index ed5ae9c..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicor.rst
+++ /dev/null
@@ -1,60 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ATOMIC_OR, Atomic subroutine, OR
-
-.. _atomic_or:
-
-ATOMIC_OR --- Atomic bitwise OR operation
-*****************************************
-
-.. function:: ATOMIC_OR(ATOM, VALUE)
-
- ``ATOMIC_OR(ATOM, VALUE)`` atomically defines :samp:`{ATOM}` with the bitwise
- AND between the values of :samp:`{ATOM}` and :samp:`{VALUE}`. When :samp:`{STAT}` is present
- and the invocation was successful, it is assigned the value 0. If it is present
- and the invocation has failed, it is assigned a positive value; in particular,
- for a coindexed :samp:`{ATOM}`, if the remote image has stopped, it is assigned the
- value of ``ISO_FORTRAN_ENV`` 's ``STAT_STOPPED_IMAGE`` and if the remote
- image has failed, the value ``STAT_FAILED_IMAGE``.
-
- :param ATOM:
- Scalar coarray or coindexed variable of integer
- type with ``ATOMIC_INT_KIND`` kind.
-
- :param VALUE:
- Scalar of the same type as :samp:`{ATOM}`. If the kind
- is different, the value is converted to the kind of :samp:`{ATOM}`.
-
- :param STAT:
- (optional) Scalar default-kind integer variable.
-
- Standard:
- TS 18508 or later
-
- Class:
- Atomic subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL ATOMIC_OR (ATOM, VALUE [, STAT])
-
- Example:
- .. code-block:: fortran
-
- program atomic
- use iso_fortran_env
- integer(atomic_int_kind) :: atom[*]
- call atomic_or (atom[1], int(b'10100011101'))
- end program atomic
-
- See also:
- :ref:`ATOMIC_DEFINE`,
- :ref:`ATOMIC_FETCH_OR`,
- :ref:`ISO_FORTRAN_ENV`,
- :ref:`ATOMIC_ADD`,
- :ref:`ATOMIC_OR`,
- :ref:`ATOMIC_XOR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicref.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicref.rst
deleted file mode 100644
index 2bbae37..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicref.rst
+++ /dev/null
@@ -1,68 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ATOMIC_REF, Atomic subroutine, reference
-
-.. _atomic_ref:
-
-ATOMIC_REF --- Obtaining the value of a variable atomically
-***********************************************************
-
-.. function:: ATOMIC_REF(VALUE, ATOM , STAT)
-
- ``ATOMIC_DEFINE(ATOM, VALUE)`` atomically assigns the value of the
- variable :samp:`{ATOM}` to :samp:`{VALUE}`. When :samp:`{STAT}` is present and the
- invocation was successful, it is assigned the value 0. If it is present and the
- invocation has failed, it is assigned a positive value; in particular, for a
- coindexed :samp:`{ATOM}`, if the remote image has stopped, it is assigned the value
- of ``ISO_FORTRAN_ENV`` 's ``STAT_STOPPED_IMAGE`` and if the remote image
- has failed, the value ``STAT_FAILED_IMAGE``.
-
- :param VALUE:
- Scalar of the same type as :samp:`{ATOM}`. If the kind
- is different, the value is converted to the kind of :samp:`{ATOM}`.
-
- :param ATOM:
- Scalar coarray or coindexed variable of either integer
- type with ``ATOMIC_INT_KIND`` kind or logical type with
- ``ATOMIC_LOGICAL_KIND`` kind.
-
- :param STAT:
- (optional) Scalar default-kind integer variable.
-
- Standard:
- Fortran 2008 and later; with :samp:`{STAT}`, TS 18508 or later
-
- Class:
- Atomic subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL ATOMIC_REF(VALUE, ATOM [, STAT])
-
- Example:
- .. code-block:: fortran
-
- program atomic
- use iso_fortran_env
- logical(atomic_logical_kind) :: atom[*]
- logical :: val
- call atomic_ref (atom, .false.)
- ! ...
- call atomic_ref (atom, val)
- if (val) then
- print *, "Obtained"
- end if
- end program atomic
-
- See also:
- :ref:`ATOMIC_DEFINE`,
- :ref:`ATOMIC_CAS`,
- :ref:`ISO_FORTRAN_ENV`,
- :ref:`ATOMIC_FETCH_ADD`,
- :ref:`ATOMIC_FETCH_AND`,
- :ref:`ATOMIC_FETCH_OR`,
- :ref:`ATOMIC_FETCH_XOR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicxor.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicxor.rst
deleted file mode 100644
index 7e4a38b..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/atomicxor.rst
+++ /dev/null
@@ -1,60 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ATOMIC_XOR, Atomic subroutine, XOR
-
-.. _atomic_xor:
-
-ATOMIC_XOR --- Atomic bitwise OR operation
-******************************************
-
-.. function:: ATOMIC_XOR (ATOM, VALUE , STAT)
-
- ``ATOMIC_AND(ATOM, VALUE)`` atomically defines :samp:`{ATOM}` with the bitwise
- XOR between the values of :samp:`{ATOM}` and :samp:`{VALUE}`. When :samp:`{STAT}` is present
- and the invocation was successful, it is assigned the value 0. If it is present
- and the invocation has failed, it is assigned a positive value; in particular,
- for a coindexed :samp:`{ATOM}`, if the remote image has stopped, it is assigned the
- value of ``ISO_FORTRAN_ENV`` 's ``STAT_STOPPED_IMAGE`` and if the remote
- image has failed, the value ``STAT_FAILED_IMAGE``.
-
- :param ATOM:
- Scalar coarray or coindexed variable of integer
- type with ``ATOMIC_INT_KIND`` kind.
-
- :param VALUE:
- Scalar of the same type as :samp:`{ATOM}`. If the kind
- is different, the value is converted to the kind of :samp:`{ATOM}`.
-
- :param STAT:
- (optional) Scalar default-kind integer variable.
-
- Standard:
- TS 18508 or later
-
- Class:
- Atomic subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL ATOMIC_XOR (ATOM, VALUE [, STAT])
-
- Example:
- .. code-block:: fortran
-
- program atomic
- use iso_fortran_env
- integer(atomic_int_kind) :: atom[*]
- call atomic_xor (atom[1], int(b'10100011101'))
- end program atomic
-
- See also:
- :ref:`ATOMIC_DEFINE`,
- :ref:`ATOMIC_FETCH_XOR`,
- :ref:`ISO_FORTRAN_ENV`,
- :ref:`ATOMIC_ADD`,
- :ref:`ATOMIC_OR`,
- :ref:`ATOMIC_XOR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/backtrace.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/backtrace.rst
deleted file mode 100644
index 04b0854..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/backtrace.rst
+++ /dev/null
@@ -1,34 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _backtrace:
-
-BACKTRACE --- Show a backtrace
-******************************
-
-.. index:: BACKTRACE, backtrace
-
-.. function:: BACKTRACE()
-
- ``BACKTRACE`` shows a backtrace at an arbitrary place in user code. Program
- execution continues normally afterwards. The backtrace information is printed
- to the unit corresponding to ``ERROR_UNIT`` in ``ISO_FORTRAN_ENV``.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL BACKTRACE
-
- Arguments:
- None
-
- See also:
- :ref:`ABORT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/besselj0.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/besselj0.rst
deleted file mode 100644
index 5317b76..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/besselj0.rst
+++ /dev/null
@@ -1,64 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _bessel_j0:
-
-.. index:: BESSEL_J0
-
-.. index:: BESJ0
-
-.. index:: DBESJ0
-
-.. index:: Bessel function, first kind
-
-BESSEL_J0 --- Bessel function of the first kind of order 0
-**********************************************************
-
-.. function:: BESSEL_J0(X)
-
- ``BESSEL_J0(X)`` computes the Bessel function of the first kind of
- order 0 of :samp:`{X}`. This function is available under the name
- ``BESJ0`` as a GNU extension.
-
- :param X:
- The type shall be ``REAL``.
-
- :return:
- The return value is of type ``REAL`` and lies in the
- range - 0.4027... \leq Bessel (0,x) \leq 1. It has the same
- kind as :samp:`{X}`.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = BESSEL_J0(X)
-
- Example:
- .. code-block:: fortran
-
- program test_besj0
- real(8) :: x = 0.0_8
- x = bessel_j0(x)
- end program test_besj0
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``DBESJ0(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/besselj1.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/besselj1.rst
deleted file mode 100644
index 973c387..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/besselj1.rst
+++ /dev/null
@@ -1,64 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _bessel_j1:
-
-.. index:: BESSEL_J1
-
-.. index:: BESJ1
-
-.. index:: DBESJ1
-
-.. index:: Bessel function, first kind
-
-BESSEL_J1 --- Bessel function of the first kind of order 1
-**********************************************************
-
-.. function:: BESSEL_J1(X)
-
- ``BESSEL_J1(X)`` computes the Bessel function of the first kind of
- order 1 of :samp:`{X}`. This function is available under the name
- ``BESJ1`` as a GNU extension.
-
- :param X:
- The type shall be ``REAL``.
-
- :return:
- The return value is of type ``REAL`` and lies in the
- range - 0.5818... \leq Bessel (0,x) \leq 0.5818 . It has the same
- kind as :samp:`{X}`.
-
- Standard:
- Fortran 2008
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = BESSEL_J1(X)
-
- Example:
- .. code-block:: fortran
-
- program test_besj1
- real(8) :: x = 1.0_8
- x = bessel_j1(x)
- end program test_besj1
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``DBESJ1(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/besseljn.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/besseljn.rst
deleted file mode 100644
index 75efb2b..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/besseljn.rst
+++ /dev/null
@@ -1,85 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _bessel_jn:
-
-.. index:: BESSEL_JN
-
-.. index:: BESJN
-
-.. index:: DBESJN
-
-.. index:: Bessel function, first kind
-
-BESSEL_JN --- Bessel function of the first kind
-***********************************************
-
-.. function:: BESSEL_JN(N, X)
-
- ``BESSEL_JN(N, X)`` computes the Bessel function of the first kind of
- order :samp:`{N}` of :samp:`{X}`. This function is available under the name
- ``BESJN`` as a GNU extension. If :samp:`{N}` and :samp:`{X}` are arrays,
- their ranks and shapes shall conform.
-
- :param N:
- Shall be a scalar or an array of type ``INTEGER``.
-
- :param N1:
- Shall be a non-negative scalar of type ``INTEGER``.
-
- :param N2:
- Shall be a non-negative scalar of type ``INTEGER``.
-
- :param X:
- Shall be a scalar or an array of type ``REAL`` ;
- for ``BESSEL_JN(N1, N2, X)`` it shall be scalar.
-
- :return:
- The return value is a scalar of type ``REAL``. It has the same
- kind as :samp:`{X}`.
-
- Standard:
- Fortran 2008 and later, negative :samp:`{N}` is allowed as GNU extension
-
- Class:
- Elemental function, except for the transformational function
- ``BESSEL_JN(N1, N2, X)``
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = BESSEL_JN(N, X)
- RESULT = BESSEL_JN(N1, N2, X)
-
- Note:
- The transformational function uses a recurrence algorithm which might,
- for some values of :samp:`{X}`, lead to different results than calls to
- the elemental function.
-
- Example:
- .. code-block:: fortran
-
- program test_besjn
- real(8) :: x = 1.0_8
- x = bessel_jn(5,x)
- end program test_besjn
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``DBESJN(N, X)``
- - ``INTEGER N``
- - ``REAL(8)``
- - GNU extension
- * -
- - ``REAL(8) X``
- -
- - \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/bessely0.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/bessely0.rst
deleted file mode 100644
index 455ba64..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/bessely0.rst
+++ /dev/null
@@ -1,62 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _bessel_y0:
-
-.. index:: BESSEL_Y0
-
-.. index:: BESY0
-
-.. index:: DBESY0
-
-.. index:: Bessel function, second kind
-
-BESSEL_Y0 --- Bessel function of the second kind of order 0
-***********************************************************
-
-.. function:: BESSEL_Y0(X)
-
- ``BESSEL_Y0(X)`` computes the Bessel function of the second kind of
- order 0 of :samp:`{X}`. This function is available under the name
- ``BESY0`` as a GNU extension.
-
- :param X:
- The type shall be ``REAL``.
-
- :return:
- The return value is of type ``REAL``. It has the same kind as :samp:`{X}`.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = BESSEL_Y0(X)
-
- Example:
- .. code-block:: fortran
-
- program test_besy0
- real(8) :: x = 0.0_8
- x = bessel_y0(x)
- end program test_besy0
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``DBESY0(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/bessely1.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/bessely1.rst
deleted file mode 100644
index e1f26af..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/bessely1.rst
+++ /dev/null
@@ -1,62 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _bessel_y1:
-
-.. index:: BESSEL_Y1
-
-.. index:: BESY1
-
-.. index:: DBESY1
-
-.. index:: Bessel function, second kind
-
-BESSEL_Y1 --- Bessel function of the second kind of order 1
-***********************************************************
-
-.. function:: BESSEL_Y1(X)
-
- ``BESSEL_Y1(X)`` computes the Bessel function of the second kind of
- order 1 of :samp:`{X}`. This function is available under the name
- ``BESY1`` as a GNU extension.
-
- :param X:
- The type shall be ``REAL``.
-
- :return:
- The return value is of type ``REAL``. It has the same kind as :samp:`{X}`.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = BESSEL_Y1(X)
-
- Example:
- .. code-block:: fortran
-
- program test_besy1
- real(8) :: x = 1.0_8
- x = bessel_y1(x)
- end program test_besy1
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``DBESY1(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/besselyn.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/besselyn.rst
deleted file mode 100644
index 2a0556e..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/besselyn.rst
+++ /dev/null
@@ -1,85 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _bessel_yn:
-
-.. index:: BESSEL_YN
-
-.. index:: BESYN
-
-.. index:: DBESYN
-
-.. index:: Bessel function, second kind
-
-BESSEL_YN --- Bessel function of the second kind
-************************************************
-
-.. function:: BESSEL_YN(N, X)
-
- ``BESSEL_YN(N, X)`` computes the Bessel function of the second kind of
- order :samp:`{N}` of :samp:`{X}`. This function is available under the name
- ``BESYN`` as a GNU extension. If :samp:`{N}` and :samp:`{X}` are arrays,
- their ranks and shapes shall conform.
-
- :param N:
- Shall be a scalar or an array of type ``INTEGER`` .
-
- :param N1:
- Shall be a non-negative scalar of type ``INTEGER``.
-
- :param N2:
- Shall be a non-negative scalar of type ``INTEGER``.
-
- :param X:
- Shall be a scalar or an array of type ``REAL`` ;
- for ``BESSEL_YN(N1, N2, X)`` it shall be scalar.
-
- :return:
- The return value is a scalar of type ``REAL``. It has the same
- kind as :samp:`{X}`.
-
- Standard:
- Fortran 2008 and later, negative :samp:`{N}` is allowed as GNU extension
-
- Class:
- Elemental function, except for the transformational function
- ``BESSEL_YN(N1, N2, X)``
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = BESSEL_YN(N, X)
- RESULT = BESSEL_YN(N1, N2, X)
-
- Note:
- The transformational function uses a recurrence algorithm which might,
- for some values of :samp:`{X}`, lead to different results than calls to
- the elemental function.
-
- Example:
- .. code-block:: fortran
-
- program test_besyn
- real(8) :: x = 1.0_8
- x = bessel_yn(5,x)
- end program test_besyn
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``DBESYN(N,X)``
- - ``INTEGER N``
- - ``REAL(8)``
- - GNU extension
- * -
- - ``REAL(8) X``
- -
- - \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/bge.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/bge.rst
deleted file mode 100644
index 0b53692..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/bge.rst
+++ /dev/null
@@ -1,42 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: BGE, bitwise comparison
-
-.. _bge:
-
-BGE --- Bitwise greater than or equal to
-****************************************
-
-.. function:: BGE(I, J)
-
- Determines whether an integral is a bitwise greater than or equal to
- another.
-
- :param I:
- Shall be of ``INTEGER`` type.
-
- :param J:
- Shall be of ``INTEGER`` type, and of the same kind
- as :samp:`{I}`.
-
- :return:
- The return value is of type ``LOGICAL`` and of the default kind.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = BGE(I, J)
-
- See also:
- :ref:`BGT`,
- :ref:`BLE`,
- :ref:`BLT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/bgt.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/bgt.rst
deleted file mode 100644
index b033ef5..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/bgt.rst
+++ /dev/null
@@ -1,41 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: BGT, bitwise comparison
-
-.. _bgt:
-
-BGT --- Bitwise greater than
-****************************
-
-.. function:: BGT(I, J)
-
- Determines whether an integral is a bitwise greater than another.
-
- :param I:
- Shall be of ``INTEGER`` type.
-
- :param J:
- Shall be of ``INTEGER`` type, and of the same kind
- as :samp:`{I}`.
-
- :return:
- The return value is of type ``LOGICAL`` and of the default kind.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = BGT(I, J)
-
- See also:
- :ref:`BGE`,
- :ref:`BLE`,
- :ref:`BLT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/bitsize.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/bitsize.rst
deleted file mode 100644
index 2aac37c..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/bitsize.rst
+++ /dev/null
@@ -1,44 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: BIT_SIZE, bits, number of, size of a variable, in bits
-
-.. _bit_size:
-
-BIT_SIZE --- Bit size inquiry function
-**************************************
-
-.. function:: BIT_SIZE(I)
-
- ``BIT_SIZE(I)`` returns the number of bits (integer precision plus sign bit)
- represented by the type of :samp:`{I}`. The result of ``BIT_SIZE(I)`` is
- independent of the actual value of :samp:`{I}`.
-
- :param I:
- The type shall be ``INTEGER``.
-
- :return:
- The return value is of type ``INTEGER``
-
- Standard:
- Fortran 90 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = BIT_SIZE(I)
-
- Example:
- .. code-block:: fortran
-
- program test_bit_size
- integer :: i = 123
- integer :: size
- size = bit_size(i)
- print *, size
- end program test_bit_size \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ble.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ble.rst
deleted file mode 100644
index 5144446..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ble.rst
+++ /dev/null
@@ -1,42 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: BLE, bitwise comparison
-
-.. _ble:
-
-BLE --- Bitwise less than or equal to
-*************************************
-
-.. function:: BLE(I, J)
-
- Determines whether an integral is a bitwise less than or equal to
- another.
-
- :param I:
- Shall be of ``INTEGER`` type.
-
- :param J:
- Shall be of ``INTEGER`` type, and of the same kind
- as :samp:`{I}`.
-
- :return:
- The return value is of type ``LOGICAL`` and of the default kind.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = BLE(I, J)
-
- See also:
- :ref:`BGT`,
- :ref:`BGE`,
- :ref:`BLT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/blt.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/blt.rst
deleted file mode 100644
index 225f63f..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/blt.rst
+++ /dev/null
@@ -1,41 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: BLT, bitwise comparison
-
-.. _blt:
-
-BLT --- Bitwise less than
-*************************
-
-.. function:: BLT(I, J)
-
- Determines whether an integral is a bitwise less than another.
-
- :param I:
- Shall be of ``INTEGER`` type.
-
- :param J:
- Shall be of ``INTEGER`` type, and of the same kind
- as :samp:`{I}`.
-
- :return:
- The return value is of type ``LOGICAL`` and of the default kind.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = BLT(I, J)
-
- See also:
- :ref:`BGE`,
- :ref:`BGT`,
- :ref:`BLE` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/btest.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/btest.rst
deleted file mode 100644
index c0f9c91..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/btest.rst
+++ /dev/null
@@ -1,89 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _btest:
-
-.. index:: BTEST
-
-.. index:: BBTEST
-
-.. index:: BITEST
-
-.. index:: BJTEST
-
-.. index:: BKTEST
-
-.. index:: bits, testing
-
-BTEST --- Bit test function
-***************************
-
-.. function:: BTEST(I,POS)
-
- ``BTEST(I,POS)`` returns logical ``.TRUE.`` if the bit at :samp:`{POS}`
- in :samp:`{I}` is set. The counting of the bits starts at 0.
-
- :param I:
- The type shall be ``INTEGER``.
-
- :param POS:
- The type shall be ``INTEGER``.
-
- :return:
- The return value is of type ``LOGICAL``
-
- Standard:
- Fortran 90 and later, has overloads that are GNU extensions
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = BTEST(I, POS)
-
- Example:
- .. code-block:: fortran
-
- program test_btest
- integer :: i = 32768 + 1024 + 64
- integer :: pos
- logical :: bool
- do pos=0,16
- bool = btest(i, pos)
- print *, pos, bool
- end do
- end program test_btest
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``BTEST(I,POS)``
- - ``INTEGER I,POS``
- - ``LOGICAL``
- - Fortran 95 and later
- * - ``BBTEST(I,POS)``
- - ``INTEGER(1) I,POS``
- - ``LOGICAL(1)``
- - GNU extension
- * - ``BITEST(I,POS)``
- - ``INTEGER(2) I,POS``
- - ``LOGICAL(2)``
- - GNU extension
- * - ``BJTEST(I,POS)``
- - ``INTEGER(4) I,POS``
- - ``LOGICAL(4)``
- - GNU extension
- * - ``BKTEST(I,POS)``
- - ``INTEGER(8) I,POS``
- - ``LOGICAL(8)``
- - GNU extension \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/cassociated.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/cassociated.rst
deleted file mode 100644
index a42c04d..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/cassociated.rst
+++ /dev/null
@@ -1,54 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _c_associated:
-
-C_ASSOCIATED --- Status of a C pointer
-**************************************
-
-.. index:: C_ASSOCIATED, association status, C pointer, pointer, C association status
-
-.. function:: C_ASSOCIATED(c_ptr_1, c_ptr_2)
-
- ``C_ASSOCIATED(c_ptr_1[, c_ptr_2])`` determines the status of the C pointer
- :samp:`{c_ptr_1}` or if :samp:`{c_ptr_1}` is associated with the target :samp:`{c_ptr_2}`.
-
- :param c_ptr_1:
- Scalar of the type ``C_PTR`` or ``C_FUNPTR``.
-
- :param c_ptr_2:
- (Optional) Scalar of the same type as :samp:`{c_ptr_1}`.
-
- :return:
- The return value is of type ``LOGICAL`` ; it is ``.false.`` if either
- :samp:`{c_ptr_1}` is a C NULL pointer or if :samp:`{c_ptr1}` and :samp:`{c_ptr_2}`
- point to different addresses.
-
- Standard:
- Fortran 2003 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = C_ASSOCIATED(c_ptr_1[, c_ptr_2])
-
- Example:
- .. code-block:: fortran
-
- subroutine association_test(a,b)
- use iso_c_binding, only: c_associated, c_loc, c_ptr
- implicit none
- real, pointer :: a
- type(c_ptr) :: b
- if(c_associated(b, c_loc(a))) &
- stop 'b and a do not point to same target'
- end subroutine association_test
-
- See also:
- :ref:`C_LOC`,
- :ref:`C_FUNLOC` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ceiling.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ceiling.rst
deleted file mode 100644
index de9e211..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ceiling.rst
+++ /dev/null
@@ -1,51 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: CEILING, ceiling, rounding, ceiling
-
-.. _ceiling:
-
-CEILING --- Integer ceiling function
-************************************
-
-.. function:: CEILING(A)
-
- ``CEILING(A)`` returns the least integer greater than or equal to :samp:`{A}`.
-
- :param A:
- The type shall be ``REAL``.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``INTEGER(KIND)`` if :samp:`{KIND}` is present
- and a default-kind ``INTEGER`` otherwise.
-
- Standard:
- Fortran 95 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = CEILING(A [, KIND])
-
- Example:
- .. code-block:: fortran
-
- program test_ceiling
- real :: x = 63.29
- real :: y = -63.59
- print *, ceiling(x) ! returns 64
- print *, ceiling(y) ! returns -63
- end program test_ceiling
-
- See also:
- :ref:`FLOOR`,
- :ref:`NINT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/cfpointer.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/cfpointer.rst
deleted file mode 100644
index 2d60e2c..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/cfpointer.rst
+++ /dev/null
@@ -1,63 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _c_f_pointer:
-
-C_F_POINTER --- Convert C into Fortran pointer
-**********************************************
-
-.. index:: C_F_POINTER, pointer, convert C to Fortran
-
-.. function:: C_F_POINTER(CPTR, FPTR, SHAPE)
-
- ``C_F_POINTER(CPTR, FPTR[, SHAPE])`` assigns the target of the C pointer
- :samp:`{CPTR}` to the Fortran pointer :samp:`{FPTR}` and specifies its shape.
-
- :param CPTR:
- scalar of the type ``C_PTR``. It is
- ``INTENT(IN)``.
-
- :param FPTR:
- pointer interoperable with :samp:`{cptr}`. It is
- ``INTENT(OUT)``.
-
- :param SHAPE:
- (Optional) Rank-one array of type ``INTEGER``
- with ``INTENT(IN)``. It shall be present
- if and only if :samp:`{fptr}` is an array. The size
- must be equal to the rank of :samp:`{fptr}`.
-
- Standard:
- Fortran 2003 and later
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL C_F_POINTER(CPTR, FPTR[, SHAPE])
-
- Example:
- .. code-block:: fortran
-
- program main
- use iso_c_binding
- implicit none
- interface
- subroutine my_routine(p) bind(c,name='myC_func')
- import :: c_ptr
- type(c_ptr), intent(out) :: p
- end subroutine
- end interface
- type(c_ptr) :: cptr
- real,pointer :: a(:)
- call my_routine(cptr)
- call c_f_pointer(cptr, a, [12])
- end program main
-
- See also:
- :ref:`C_LOC`,
- :ref:`C_F_PROCPOINTER` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/cfprocpointer.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/cfprocpointer.rst
deleted file mode 100644
index 2dedd69..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/cfprocpointer.rst
+++ /dev/null
@@ -1,64 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: C_F_PROCPOINTER, pointer, C address of pointers
-
-.. _c_f_procpointer:
-
-C_F_PROCPOINTER --- Convert C into Fortran procedure pointer
-************************************************************
-
-.. function:: C_F_PROCPOINTER(CPTR, FPTR)
-
- ``C_F_PROCPOINTER(CPTR, FPTR)`` Assign the target of the C function pointer
- :samp:`{CPTR}` to the Fortran procedure pointer :samp:`{FPTR}`.
-
- :param CPTR:
- scalar of the type ``C_FUNPTR``. It is
- ``INTENT(IN)``.
-
- :param FPTR:
- procedure pointer interoperable with :samp:`{cptr}`. It is
- ``INTENT(OUT)``.
-
- Standard:
- Fortran 2003 and later
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL C_F_PROCPOINTER(cptr, fptr)
-
- Example:
- .. code-block:: fortran
-
- program main
- use iso_c_binding
- implicit none
- abstract interface
- function func(a)
- import :: c_float
- real(c_float), intent(in) :: a
- real(c_float) :: func
- end function
- end interface
- interface
- function getIterFunc() bind(c,name="getIterFunc")
- import :: c_funptr
- type(c_funptr) :: getIterFunc
- end function
- end interface
- type(c_funptr) :: cfunptr
- procedure(func), pointer :: myFunc
- cfunptr = getIterFunc()
- call c_f_procpointer(cfunptr, myFunc)
- end program main
-
- See also:
- :ref:`C_LOC`,
- :ref:`C_F_POINTER` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/cfunloc.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/cfunloc.rst
deleted file mode 100644
index 19c8c19..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/cfunloc.rst
+++ /dev/null
@@ -1,64 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: C_FUNLOC, pointer, C address of procedures
-
-.. _c_funloc:
-
-C_FUNLOC --- Obtain the C address of a procedure
-************************************************
-
-.. function:: C_FUNLOC(x)
-
- ``C_FUNLOC(x)`` determines the C address of the argument.
-
- :param x:
- Interoperable function or pointer to such function.
-
- :return:
- The return value is of type ``C_FUNPTR`` and contains the C address
- of the argument.
-
- Standard:
- Fortran 2003 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = C_FUNLOC(x)
-
- Example:
- .. code-block:: fortran
-
- module x
- use iso_c_binding
- implicit none
- contains
- subroutine sub(a) bind(c)
- real(c_float) :: a
- a = sqrt(a)+5.0
- end subroutine sub
- end module x
- program main
- use iso_c_binding
- use x
- implicit none
- interface
- subroutine my_routine(p) bind(c,name='myC_func')
- import :: c_funptr
- type(c_funptr), intent(in) :: p
- end subroutine
- end interface
- call my_routine(c_funloc(sub))
- end program main
-
- See also:
- :ref:`C_ASSOCIATED`,
- :ref:`C_LOC`,
- :ref:`C_F_POINTER`,
- :ref:`C_F_PROCPOINTER` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/char.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/char.rst
deleted file mode 100644
index 221deca..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/char.rst
+++ /dev/null
@@ -1,71 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _char:
-
-.. index:: CHAR
-
-.. index:: conversion, to character
-
-CHAR --- Character conversion function
-**************************************
-
-.. function:: CHAR(I [, KIND])
-
- ``CHAR(I [, KIND])`` returns the character represented by the integer :samp:`{I}`.
-
- :param I:
- The type shall be ``INTEGER``.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``CHARACTER(1)``
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = CHAR(I [, KIND])
-
- Example:
- .. code-block:: fortran
-
- program test_char
- integer :: i = 74
- character(1) :: c
- c = char(i)
- print *, i, c ! returns 'J'
- end program test_char
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``CHAR(I)``
- - ``INTEGER I``
- - ``CHARACTER(LEN=1)``
- - Fortran 77 and later
-
- Note:
- See :ref:`ICHAR` for a discussion of converting between numerical values
- and formatted string representations.
-
- See also:
- :ref:`ACHAR`,
- :ref:`IACHAR`,
- :ref:`ICHAR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/chdir.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/chdir.rst
deleted file mode 100644
index 45126df..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/chdir.rst
+++ /dev/null
@@ -1,51 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: CHDIR, system, working directory
-
-.. _chdir:
-
-CHDIR --- Change working directory
-**********************************
-
-.. function:: CHDIR(NAME)
-
- Change current working directory to a specified path.
-
- :param NAME:
- The type shall be ``CHARACTER`` of default
- kind and shall specify a valid path within the file system.
-
- :param STATUS:
- (Optional) ``INTEGER`` status flag of the default
- kind. Returns 0 on success, and a system specific and nonzero error code
- otherwise.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL CHDIR(NAME [, STATUS])
- STATUS = CHDIR(NAME)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_chdir
- CHARACTER(len=255) :: path
- CALL getcwd(path)
- WRITE(*,*) TRIM(path)
- CALL chdir("/tmp")
- CALL getcwd(path)
- WRITE(*,*) TRIM(path)
- END PROGRAM
-
- See also:
- :ref:`GETCWD` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/chmod.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/chmod.rst
deleted file mode 100644
index 890b4ff..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/chmod.rst
+++ /dev/null
@@ -1,70 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _chmod:
-
-CHMOD --- Change access permissions of files
-********************************************
-
-.. index:: CHMOD(NAME, MODE, STATUS), file system, change access mode
-
-.. function:: CHMOD(NAME, MODE, STATUS)
-
- ``CHMOD`` changes the permissions of a file.
-
- :param NAME:
- Scalar ``CHARACTER`` of default kind with the
- file name. Trailing blanks are ignored unless the character
- ``achar(0)`` is present, then all characters up to and excluding
- ``achar(0)`` are used as the file name.
-
- :param MODE:
- Scalar ``CHARACTER`` of default kind giving the
- file permission. :samp:`{MODE}` uses the same syntax as the ``chmod`` utility
- as defined by the POSIX standard. The argument shall either be a string of
- a nonnegative octal number or a symbolic mode.
-
- :param STATUS:
- (optional) scalar ``INTEGER``, which is
- ``0`` on success and nonzero otherwise.
-
- :return:
- In either syntax, :samp:`{STATUS}` is set to ``0`` on success and nonzero
- otherwise.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL CHMOD(NAME, MODE[, STATUS])
- STATUS = CHMOD(NAME, MODE)
-
- Example:
- ``CHMOD`` as subroutine
-
- .. code-block:: fortran
-
- program chmod_test
- implicit none
- integer :: status
- call chmod('test.dat','u+x',status)
- print *, 'Status: ', status
- end program chmod_test
-
- ``CHMOD`` as function:
-
- .. code-block:: fortran
-
- program chmod_test
- implicit none
- integer :: status
- status = chmod('test.dat','u+x')
- print *, 'Status: ', status
- end program chmod_test \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/cloc.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/cloc.rst
deleted file mode 100644
index 8261e4d..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/cloc.rst
+++ /dev/null
@@ -1,51 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: C_LOC, procedure pointer, convert C to Fortran
-
-.. _c_loc:
-
-C_LOC --- Obtain the C address of an object
-*******************************************
-
-.. function:: C_LOC(X)
-
- ``C_LOC(X)`` determines the C address of the argument.
-
- :param X:
- Shall have either the POINTER or TARGET attribute. It shall not be a coindexed object. It shall either be a variable with interoperable type and kind type parameters, or be a scalar, nonpolymorphic variable with no length type parameters.
-
- :return:
- The return value is of type ``C_PTR`` and contains the C address
- of the argument.
-
- Standard:
- Fortran 2003 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = C_LOC(X)
-
- Example:
- .. code-block:: fortran
-
- subroutine association_test(a,b)
- use iso_c_binding, only: c_associated, c_loc, c_ptr
- implicit none
- real, pointer :: a
- type(c_ptr) :: b
- if(c_associated(b, c_loc(a))) &
- stop 'b and a do not point to same target'
- end subroutine association_test
-
- See also:
- :ref:`C_ASSOCIATED`,
- :ref:`C_FUNLOC`,
- :ref:`C_F_POINTER`,
- :ref:`C_F_PROCPOINTER` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/cmplx.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/cmplx.rst
deleted file mode 100644
index 790c9d0..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/cmplx.rst
+++ /dev/null
@@ -1,61 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _cmplx:
-
-CMPLX --- Complex conversion function
-*************************************
-
-.. index:: CMPLX, complex numbers, conversion to, conversion, to complex
-
-.. function:: CMPLX(X, Y, KIND)
-
- ``CMPLX(X [, Y [, KIND]])`` returns a complex number where :samp:`{X}` is converted to
- the real component. If :samp:`{Y}` is present it is converted to the imaginary
- component. If :samp:`{Y}` is not present then the imaginary component is set to
- 0.0. If :samp:`{X}` is complex then :samp:`{Y}` must not be present.
-
- :param X:
- The type may be ``INTEGER``, ``REAL``,
- or ``COMPLEX``.
-
- :param Y:
- (Optional; only allowed if :samp:`{X}` is not
- ``COMPLEX``.) May be ``INTEGER`` or ``REAL``.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of ``COMPLEX`` type, with a kind equal to
- :samp:`{KIND}` if it is specified. If :samp:`{KIND}` is not specified, the
- result is of the default ``COMPLEX`` kind, regardless of the kinds of
- :samp:`{X}` and :samp:`{Y}`.
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = CMPLX(X [, Y [, KIND]])
-
- Example:
- .. code-block:: fortran
-
- program test_cmplx
- integer :: i = 42
- real :: x = 3.14
- complex :: z
- z = cmplx(i, x)
- print *, z, cmplx(x)
- end program test_cmplx
-
- See also:
- :ref:`COMPLEX` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/cobroadcast.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/cobroadcast.rst
deleted file mode 100644
index 65a2e1e..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/cobroadcast.rst
+++ /dev/null
@@ -1,65 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _co_broadcast:
-
-CO_BROADCAST --- Copy a value to all images the current set of images
-*********************************************************************
-
-.. index:: CO_BROADCAST, Collectives, value broadcasting
-
-.. function:: CO_BROADCAST(A, SOURCE_IMAGE, STAT, ERRMSG)
-
- ``CO_BROADCAST`` copies the value of argument :samp:`{A}` on the image with
- image index ``SOURCE_IMAGE`` to all images in the current team. :samp:`{A}`
- becomes defined as if by intrinsic assignment. If the execution was
- successful and :samp:`{STAT}` is present, it is assigned the value zero. If the
- execution failed, :samp:`{STAT}` gets assigned a nonzero value and, if present,
- :samp:`{ERRMSG}` gets assigned a value describing the occurred error.
-
- :param A:
- INTENT(INOUT) argument; shall have the same
- dynamic type and type parameters on all images of the current team. If it
- is an array, it shall have the same shape on all images.
-
- :param SOURCE_IMAGE:
- a scalar integer expression.
- It shall have the same value on all images and refer to an
- image of the current team.
-
- :param STAT:
- (optional) a scalar integer variable
-
- :param ERRMSG:
- (optional) a scalar character variable
-
- Standard:
- Technical Specification (TS) 18508 or later
-
- Class:
- Collective subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL CO_BROADCAST(A, SOURCE_IMAGE [, STAT, ERRMSG])
-
- Example:
- .. code-block:: fortran
-
- program test
- integer :: val(3)
- if (this_image() == 1) then
- val = [1, 5, 3]
- end if
- call co_broadcast (val, source_image=1)
- print *, this_image, ":", val
- end program test
-
- See also:
- :ref:`CO_MAX`,
- :ref:`CO_MIN`,
- :ref:`CO_SUM`,
- :ref:`CO_REDUCE` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/comax.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/comax.rst
deleted file mode 100644
index d8f1be6..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/comax.rst
+++ /dev/null
@@ -1,66 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _co_max:
-
-CO_MAX --- Maximal value on the current set of images
-*****************************************************
-
-.. index:: CO_MAX, Collectives, maximal value
-
-.. function:: CO_MAX(A, RESULT_IMAGE, STAT, ERRMSG)
-
- ``CO_MAX`` determines element-wise the maximal value of :samp:`{A}` on all
- images of the current team. If :samp:`{RESULT_IMAGE}` is present, the maximum
- values are returned in :samp:`{A}` on the specified image only and the value
- of :samp:`{A}` on the other images become undefined. If :samp:`{RESULT_IMAGE}` is
- not present, the value is returned on all images. If the execution was
- successful and :samp:`{STAT}` is present, it is assigned the value zero. If the
- execution failed, :samp:`{STAT}` gets assigned a nonzero value and, if present,
- :samp:`{ERRMSG}` gets assigned a value describing the occurred error.
-
- :param A:
- shall be an integer, real or character variable,
- which has the same type and type parameters on all images of the team.
-
- :param RESULT_IMAGE:
- (optional) a scalar integer expression; if
- present, it shall have the same value on all images and refer to an
- image of the current team.
-
- :param STAT:
- (optional) a scalar integer variable
-
- :param ERRMSG:
- (optional) a scalar character variable
-
- Standard:
- Technical Specification (TS) 18508 or later
-
- Class:
- Collective subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL CO_MAX(A [, RESULT_IMAGE, STAT, ERRMSG])
-
- Example:
- .. code-block:: fortran
-
- program test
- integer :: val
- val = this_image ()
- call co_max (val, result_image=1)
- if (this_image() == 1) then
- write(*,*) "Maximal value", val ! prints num_images()
- end if
- end program test
-
- See also:
- :ref:`CO_MIN`,
- :ref:`CO_SUM`,
- :ref:`CO_REDUCE`,
- :ref:`CO_BROADCAST` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/comin.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/comin.rst
deleted file mode 100644
index 4bf2739..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/comin.rst
+++ /dev/null
@@ -1,66 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _co_min:
-
-CO_MIN --- Minimal value on the current set of images
-*****************************************************
-
-.. index:: CO_MIN, Collectives, minimal value
-
-.. function:: CO_MIN(A, RESULT_IMAGE, STAT, ERRMSG)
-
- ``CO_MIN`` determines element-wise the minimal value of :samp:`{A}` on all
- images of the current team. If :samp:`{RESULT_IMAGE}` is present, the minimal
- values are returned in :samp:`{A}` on the specified image only and the value
- of :samp:`{A}` on the other images become undefined. If :samp:`{RESULT_IMAGE}` is
- not present, the value is returned on all images. If the execution was
- successful and :samp:`{STAT}` is present, it is assigned the value zero. If the
- execution failed, :samp:`{STAT}` gets assigned a nonzero value and, if present,
- :samp:`{ERRMSG}` gets assigned a value describing the occurred error.
-
- :param A:
- shall be an integer, real or character variable,
- which has the same type and type parameters on all images of the team.
-
- :param RESULT_IMAGE:
- (optional) a scalar integer expression; if
- present, it shall have the same value on all images and refer to an
- image of the current team.
-
- :param STAT:
- (optional) a scalar integer variable
-
- :param ERRMSG:
- (optional) a scalar character variable
-
- Standard:
- Technical Specification (TS) 18508 or later
-
- Class:
- Collective subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL CO_MIN(A [, RESULT_IMAGE, STAT, ERRMSG])
-
- Example:
- .. code-block:: fortran
-
- program test
- integer :: val
- val = this_image ()
- call co_min (val, result_image=1)
- if (this_image() == 1) then
- write(*,*) "Minimal value", val ! prints 1
- end if
- end program test
-
- See also:
- :ref:`CO_MAX`,
- :ref:`CO_SUM`,
- :ref:`CO_REDUCE`,
- :ref:`CO_BROADCAST` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/commandargumentcount.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/commandargumentcount.rst
deleted file mode 100644
index 2d344b7..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/commandargumentcount.rst
+++ /dev/null
@@ -1,43 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _command_argument_count:
-
-COMMAND_ARGUMENT_COUNT --- Get number of command line arguments
-***************************************************************
-
-.. index:: COMMAND_ARGUMENT_COUNT, command-line arguments, command-line arguments, number of, arguments, to program
-
-.. function:: COMMAND_ARGUMENT_COUNT()
-
- ``COMMAND_ARGUMENT_COUNT`` returns the number of arguments passed on the
- command line when the containing program was invoked.
-
- :return:
- The return value is an ``INTEGER`` of default kind.
-
- Standard:
- Fortran 2003 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = COMMAND_ARGUMENT_COUNT()
-
- Example:
- .. code-block:: fortran
-
- program test_command_argument_count
- integer :: count
- count = command_argument_count()
- print *, count
- end program test_command_argument_count
-
- See also:
- :ref:`GET_COMMAND`,
- :ref:`GET_COMMAND_ARGUMENT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/compileroptions.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/compileroptions.rst
deleted file mode 100644
index 81552e1..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/compileroptions.rst
+++ /dev/null
@@ -1,48 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _compiler_options:
-
-COMPILER_OPTIONS --- Options passed to the compiler
-***************************************************
-
-.. index:: COMPILER_OPTIONS, flags inquiry function, options inquiry function, compiler flags inquiry function
-
-.. function:: COMPILER_OPTIONS()
-
- ``COMPILER_OPTIONS`` returns a string with the options used for
- compiling.
-
- :return:
- The return value is a default-kind string with system-dependent length.
- It contains the compiler flags used to compile the file, which called
- the ``COMPILER_OPTIONS`` intrinsic.
-
- Standard:
- Fortran 2008
-
- Class:
- Inquiry function of the module ``ISO_FORTRAN_ENV``
-
- Syntax:
- .. code-block:: fortran
-
- STR = COMPILER_OPTIONS()
-
- Arguments:
- None
-
- Example:
- .. code-block:: fortran
-
- use iso_fortran_env
- print '(4a)', 'This file was compiled by ', &
- compiler_version(), ' using the options ', &
- compiler_options()
- end
-
- See also:
- :ref:`COMPILER_VERSION`,
- :ref:`ISO_FORTRAN_ENV` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/compilerversion.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/compilerversion.rst
deleted file mode 100644
index 526d272..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/compilerversion.rst
+++ /dev/null
@@ -1,47 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _compiler_version:
-
-COMPILER_VERSION --- Compiler version string
-********************************************
-
-.. index:: COMPILER_VERSION, compiler, name and version, version of the compiler
-
-.. function:: COMPILER_VERSION()
-
- ``COMPILER_VERSION`` returns a string with the name and the
- version of the compiler.
-
- :return:
- The return value is a default-kind string with system-dependent length.
- It contains the name of the compiler and its version number.
-
- Standard:
- Fortran 2008
-
- Class:
- Inquiry function of the module ``ISO_FORTRAN_ENV``
-
- Syntax:
- .. code-block:: fortran
-
- STR = COMPILER_VERSION()
-
- Arguments:
- None
-
- Example:
- .. code-block:: fortran
-
- use iso_fortran_env
- print '(4a)', 'This file was compiled by ', &
- compiler_version(), ' using the options ', &
- compiler_options()
- end
-
- See also:
- :ref:`COMPILER_OPTIONS`,
- :ref:`ISO_FORTRAN_ENV` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/complex.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/complex.rst
deleted file mode 100644
index dc5d547..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/complex.rst
+++ /dev/null
@@ -1,50 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: COMPLEX, complex numbers, conversion to, conversion, to complex
-
-.. _complex:
-
-COMPLEX --- Complex conversion function
-***************************************
-
-.. function:: COMPLEX(X, Y)
-
- ``COMPLEX(X, Y)`` returns a complex number where :samp:`{X}` is converted
- to the real component and :samp:`{Y}` is converted to the imaginary
- component.
-
- :param X:
- The type may be ``INTEGER`` or ``REAL``.
-
- :param Y:
- The type may be ``INTEGER`` or ``REAL``.
-
- :return:
- If :samp:`{X}` and :samp:`{Y}` are both of ``INTEGER`` type, then the return
- value is of default ``COMPLEX`` type.
-
- Standard:
- GNU extension
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = COMPLEX(X, Y)
-
- Example:
- .. code-block:: fortran
-
- program test_complex
- integer :: i = 42
- real :: x = 3.14
- print *, complex(i, x)
- end program test_complex
-
- See also:
- :ref:`CMPLX` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/conjg.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/conjg.rst
deleted file mode 100644
index 80d3f7b..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/conjg.rst
+++ /dev/null
@@ -1,63 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _conjg:
-
-.. index:: CONJG
-
-.. index:: DCONJG
-
-.. index:: complex conjugate
-
-CONJG --- Complex conjugate function
-************************************
-
-.. function:: CONJG(Z)
-
- ``CONJG(Z)`` returns the conjugate of :samp:`{Z}`. If :samp:`{Z}` is ``(x, y)``
- then the result is ``(x, -y)``
-
- :param Z:
- The type shall be ``COMPLEX``.
-
- :return:
- The return value is of type ``COMPLEX``.
-
- Standard:
- Fortran 77 and later, has an overload that is a GNU extension
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- Z = CONJG(Z)
-
- Example:
- .. code-block:: fortran
-
- program test_conjg
- complex :: z = (2.0, 3.0)
- complex(8) :: dz = (2.71_8, -3.14_8)
- z= conjg(z)
- print *, z
- dz = dconjg(dz)
- print *, dz
- end program test_conjg
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``DCONJG(Z)``
- - ``COMPLEX(8) Z``
- - ``COMPLEX(8)``
- - GNU extension \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/coreduce.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/coreduce.rst
deleted file mode 100644
index cba765f..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/coreduce.rst
+++ /dev/null
@@ -1,94 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _co_reduce:
-
-CO_REDUCE --- Reduction of values on the current set of images
-**************************************************************
-
-.. index:: CO_REDUCE, Collectives, generic reduction
-
-.. function:: CO_REDUCE(A, OPERATOR, RESULT_IMAGE, STAT, ERRMSG)
-
- ``CO_REDUCE`` determines element-wise the reduction of the value of :samp:`{A}`
- on all images of the current team. The pure function passed as :samp:`{OPERATION}`
- is used to pairwise reduce the values of :samp:`{A}` by passing either the value
- of :samp:`{A}` of different images or the result values of such a reduction as
- argument. If :samp:`{A}` is an array, the deduction is done element wise. If
- :samp:`{RESULT_IMAGE}` is present, the result values are returned in :samp:`{A}` on
- the specified image only and the value of :samp:`{A}` on the other images become
- undefined. If :samp:`{RESULT_IMAGE}` is not present, the value is returned on all
- images. If the execution was successful and :samp:`{STAT}` is present, it is
- assigned the value zero. If the execution failed, :samp:`{STAT}` gets assigned
- a nonzero value and, if present, :samp:`{ERRMSG}` gets assigned a value describing
- the occurred error.
-
- :param A:
- is an ``INTENT(INOUT)`` argument and shall be
- nonpolymorphic. If it is allocatable, it shall be allocated; if it is a pointer,
- it shall be associated. :samp:`{A}` shall have the same type and type parameters on
- all images of the team; if it is an array, it shall have the same shape on all
- images.
-
- :param OPERATION:
- pure function with two scalar nonallocatable
- arguments, which shall be nonpolymorphic and have the same type and type
- parameters as :samp:`{A}`. The function shall return a nonallocatable scalar of
- the same type and type parameters as :samp:`{A}`. The function shall be the same on
- all images and with regards to the arguments mathematically commutative and
- associative. Note that :samp:`{OPERATION}` may not be an elemental function, unless
- it is an intrisic function.
-
- :param RESULT_IMAGE:
- (optional) a scalar integer expression; if
- present, it shall have the same value on all images and refer to an
- image of the current team.
-
- :param STAT:
- (optional) a scalar integer variable
-
- :param ERRMSG:
- (optional) a scalar character variable
-
- Standard:
- Technical Specification (TS) 18508 or later
-
- Class:
- Collective subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL CO_REDUCE(A, OPERATION, [, RESULT_IMAGE, STAT, ERRMSG])
-
- Example:
- .. code-block:: fortran
-
- program test
- integer :: val
- val = this_image ()
- call co_reduce (val, result_image=1, operation=myprod)
- if (this_image() == 1) then
- write(*,*) "Product value", val ! prints num_images() factorial
- end if
- contains
- pure function myprod(a, b)
- integer, value :: a, b
- integer :: myprod
- myprod = a * b
- end function myprod
- end program test
-
- Note:
- While the rules permit in principle an intrinsic function, none of the
- intrinsics in the standard fulfill the criteria of having a specific
- function, which takes two arguments of the same type and returning that
- type as result.
-
- See also:
- :ref:`CO_MIN`,
- :ref:`CO_MAX`,
- :ref:`CO_SUM`,
- :ref:`CO_BROADCAST` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/cos.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/cos.rst
deleted file mode 100644
index de283c4..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/cos.rst
+++ /dev/null
@@ -1,91 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _cos:
-
-.. index:: COS
-
-.. index:: DCOS
-
-.. index:: CCOS
-
-.. index:: ZCOS
-
-.. index:: CDCOS
-
-.. index:: trigonometric function, cosine
-
-.. index:: cosine
-
-COS --- Cosine function
-***********************
-
-.. function:: COS(X)
-
- ``COS(X)`` computes the cosine of :samp:`{X}`.
-
- :param X:
- The type shall be ``REAL`` or
- ``COMPLEX``.
-
- :return:
- The return value is of the same type and kind as :samp:`{X}`. The real part
- of the result is in radians. If :samp:`{X}` is of the type ``REAL``,
- the return value lies in the range -1 \leq \cos (x) \leq 1.
-
- Standard:
- Fortran 77 and later, has overloads that are GNU extensions
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = COS(X)
-
- Example:
- .. code-block:: fortran
-
- program test_cos
- real :: x = 0.0
- x = cos(x)
- end program test_cos
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``COS(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DCOS(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - Fortran 77 and later
- * - ``CCOS(X)``
- - ``COMPLEX(4) X``
- - ``COMPLEX(4)``
- - Fortran 77 and later
- * - ``ZCOS(X)``
- - ``COMPLEX(8) X``
- - ``COMPLEX(8)``
- - GNU extension
- * - ``CDCOS(X)``
- - ``COMPLEX(8) X``
- - ``COMPLEX(8)``
- - GNU extension
-
- See also:
- Inverse function:
- :ref:`ACOS`
- Degrees function:
- :ref:`COSD` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/cosd.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/cosd.rst
deleted file mode 100644
index fa54ab4..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/cosd.rst
+++ /dev/null
@@ -1,91 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _cosd:
-
-.. index:: COSD
-
-.. index:: DCOSD
-
-.. index:: CCOSD
-
-.. index:: ZCOSD
-
-.. index:: CDCOSD
-
-.. index:: trigonometric function, cosine, degrees
-
-.. index:: cosine, degrees
-
-COSD --- Cosine function, degrees
-*********************************
-
-.. function:: COSD(X)
-
- ``COSD(X)`` computes the cosine of :samp:`{X}` in degrees.
-
- :param X:
- The type shall be ``REAL`` or
- ``COMPLEX``.
-
- :return:
- The return value is of the same type and kind as :samp:`{X}`. The real part
- of the result is in degrees. If :samp:`{X}` is of the type ``REAL``,
- the return value lies in the range -1 \leq \cosd (x) \leq 1.
-
- Standard:
- GNU extension, enabled with :option:`-fdec-math`.
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = COSD(X)
-
- Example:
- .. code-block:: fortran
-
- program test_cosd
- real :: x = 0.0
- x = cosd(x)
- end program test_cosd
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``COSD(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - GNU extension
- * - ``DCOSD(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension
- * - ``CCOSD(X)``
- - ``COMPLEX(4) X``
- - ``COMPLEX(4)``
- - GNU extension
- * - ``ZCOSD(X)``
- - ``COMPLEX(8) X``
- - ``COMPLEX(8)``
- - GNU extension
- * - ``CDCOSD(X)``
- - ``COMPLEX(8) X``
- - ``COMPLEX(8)``
- - GNU extension
-
- See also:
- Inverse function:
- :ref:`ACOSD`
- Radians function:
- :ref:`COS` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/cosh.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/cosh.rst
deleted file mode 100644
index cf421dd..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/cosh.rst
+++ /dev/null
@@ -1,73 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _cosh:
-
-.. index:: COSH
-
-.. index:: DCOSH
-
-.. index:: hyperbolic cosine
-
-.. index:: hyperbolic function, cosine
-
-.. index:: cosine, hyperbolic
-
-COSH --- Hyperbolic cosine function
-***********************************
-
-.. function:: COSH(X)
-
- ``COSH(X)`` computes the hyperbolic cosine of :samp:`{X}`.
-
- :param X:
- The type shall be ``REAL`` or ``COMPLEX``.
-
- :return:
- The return value has same type and kind as :samp:`{X}`. If :samp:`{X}` is
- complex, the imaginary part of the result is in radians. If :samp:`{X}`
- is ``REAL``, the return value has a lower bound of one,
- \cosh (x) \geq 1.
-
- Standard:
- Fortran 77 and later, for a complex argument Fortran 2008 or later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- X = COSH(X)
-
- Example:
- .. code-block:: fortran
-
- program test_cosh
- real(8) :: x = 1.0_8
- x = cosh(x)
- end program test_cosh
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``COSH(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DCOSH(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - Fortran 77 and later
-
- See also:
- Inverse function:
- :ref:`ACOSH` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/cosum.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/cosum.rst
deleted file mode 100644
index 49d4cbd..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/cosum.rst
+++ /dev/null
@@ -1,67 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _co_sum:
-
-CO_SUM --- Sum of values on the current set of images
-*****************************************************
-
-.. index:: CO_SUM, Collectives, sum of values
-
-.. function:: CO_SUM(A, RESULT_IMAGE, STAT, ERRMSG)
-
- ``CO_SUM`` sums up the values of each element of :samp:`{A}` on all
- images of the current team. If :samp:`{RESULT_IMAGE}` is present, the summed-up
- values are returned in :samp:`{A}` on the specified image only and the value
- of :samp:`{A}` on the other images become undefined. If :samp:`{RESULT_IMAGE}` is
- not present, the value is returned on all images. If the execution was
- successful and :samp:`{STAT}` is present, it is assigned the value zero. If the
- execution failed, :samp:`{STAT}` gets assigned a nonzero value and, if present,
- :samp:`{ERRMSG}` gets assigned a value describing the occurred error.
-
- :param A:
- shall be an integer, real or complex variable,
- which has the same type and type parameters on all images of the team.
-
- :param RESULT_IMAGE:
- (optional) a scalar integer expression; if
- present, it shall have the same value on all images and refer to an
- image of the current team.
-
- :param STAT:
- (optional) a scalar integer variable
-
- :param ERRMSG:
- (optional) a scalar character variable
-
- Standard:
- Technical Specification (TS) 18508 or later
-
- Class:
- Collective subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL CO_SUM(A [, RESULT_IMAGE, STAT, ERRMSG])
-
- Example:
- .. code-block:: fortran
-
- program test
- integer :: val
- val = this_image ()
- call co_sum (val, result_image=1)
- if (this_image() == 1) then
- write(*,*) "The sum is ", val ! prints (n**2 + n)/2,
- ! with n = num_images()
- end if
- end program test
-
- See also:
- :ref:`CO_MAX`,
- :ref:`CO_MIN`,
- :ref:`CO_REDUCE`,
- :ref:`CO_BROADCAST` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/cotan.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/cotan.rst
deleted file mode 100644
index 82abca8..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/cotan.rst
+++ /dev/null
@@ -1,71 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _cotan:
-
-.. index:: COTAN
-
-.. index:: DCOTAN
-
-.. index:: trigonometric function, cotangent
-
-.. index:: cotangent
-
-COTAN --- Cotangent function
-****************************
-
-.. function:: COTAN(X)
-
- ``COTAN(X)`` computes the cotangent of :samp:`{X}`. Equivalent to ``COS(x)``
- divided by ``SIN(x)``, or ``1 / TAN(x)``.
-
- :param X:
- The type shall be ``REAL`` or ``COMPLEX``.
-
- :return:
- The return value has same type and kind as :samp:`{X}`, and its value is in radians.
-
- Standard:
- GNU extension, enabled with :option:`-fdec-math`.
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = COTAN(X)
-
- Example:
- .. code-block:: fortran
-
- program test_cotan
- real(8) :: x = 0.165_8
- x = cotan(x)
- end program test_cotan
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``COTAN(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - GNU extension
- * - ``DCOTAN(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension
-
- See also:
- Converse function:
- :ref:`TAN`
- Degrees function:
- :ref:`COTAND` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/cotand.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/cotand.rst
deleted file mode 100644
index e101c52..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/cotand.rst
+++ /dev/null
@@ -1,74 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _cotand:
-
-.. index:: COTAND
-
-.. index:: DCOTAND
-
-.. index:: trigonometric function, cotangent, degrees
-
-.. index:: cotangent, degrees
-
-COTAND --- Cotangent function, degrees
-**************************************
-
-.. function:: COTAND(X)
-
- ``COTAND(X)`` computes the cotangent of :samp:`{X}` in degrees. Equivalent to
- ``COSD(x)`` divided by ``SIND(x)``, or ``1 / TAND(x)``.
-
- :param X:
- The type shall be ``REAL`` or ``COMPLEX``.
-
- :return:
- The return value has same type and kind as :samp:`{X}`, and its value is in degrees.
-
- Standard:
- GNU extension, enabled with :option:`-fdec-math`.
-
- This function is for compatibility only and should be avoided in favor of
- standard constructs wherever possible.
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = COTAND(X)
-
- Example:
- .. code-block:: fortran
-
- program test_cotand
- real(8) :: x = 0.165_8
- x = cotand(x)
- end program test_cotand
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``COTAND(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - GNU extension
- * - ``DCOTAND(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension
-
- See also:
- Converse function:
- :ref:`TAND`
- Radians function:
- :ref:`COTAN` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/count.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/count.rst
deleted file mode 100644
index e0988f7..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/count.rst
+++ /dev/null
@@ -1,72 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: COUNT, array, conditionally count elements, array, element counting, array, number of elements
-
-.. _count:
-
-COUNT --- Count function
-************************
-
-.. function:: COUNT(MASK , DIM, KIND)
-
- Counts the number of ``.TRUE.`` elements in a logical :samp:`{MASK}`,
- or, if the :samp:`{DIM}` argument is supplied, counts the number of
- elements along each row of the array in the :samp:`{DIM}` direction.
- If the array has zero size, or all of the elements of :samp:`{MASK}` are
- ``.FALSE.``, then the result is ``0``.
-
- :param MASK:
- The type shall be ``LOGICAL``.
-
- :param DIM:
- (Optional) The type shall be ``INTEGER``.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``INTEGER`` and of kind :samp:`{KIND}`. If
- :samp:`{KIND}` is absent, the return value is of default integer kind.
- If :samp:`{DIM}` is present, the result is an array with a rank one less
- than the rank of :samp:`{ARRAY}`, and a size corresponding to the shape
- of :samp:`{ARRAY}` with the :samp:`{DIM}` dimension removed.
-
- Standard:
- Fortran 90 and later, with :samp:`{KIND}` argument Fortran 2003 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = COUNT(MASK [, DIM, KIND])
-
- Example:
- .. code-block:: fortran
-
- program test_count
- integer, dimension(2,3) :: a, b
- logical, dimension(2,3) :: mask
- a = reshape( (/ 1, 2, 3, 4, 5, 6 /), (/ 2, 3 /))
- b = reshape( (/ 0, 7, 3, 4, 5, 8 /), (/ 2, 3 /))
- print '(3i3)', a(1,:)
- print '(3i3)', a(2,:)
- print *
- print '(3i3)', b(1,:)
- print '(3i3)', b(2,:)
- print *
- mask = a.ne.b
- print '(3l3)', mask(1,:)
- print '(3l3)', mask(2,:)
- print *
- print '(3i3)', count(mask)
- print *
- print '(3i3)', count(mask, 1)
- print *
- print '(3i3)', count(mask, 2)
- end program test_count \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/cputime.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/cputime.rst
deleted file mode 100644
index c10df47..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/cputime.rst
+++ /dev/null
@@ -1,49 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: CPU_TIME, time, elapsed
-
-.. _cpu_time:
-
-CPU_TIME --- CPU elapsed time in seconds
-****************************************
-
-.. function:: CPU_TIME(TIME)
-
- Returns a ``REAL`` value representing the elapsed CPU time in
- seconds. This is useful for testing segments of code to determine
- execution time.
-
- :param TIME:
- The type shall be ``REAL`` with ``INTENT(OUT)``.
-
- :return:
- None
-
- Standard:
- Fortran 95 and later
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL CPU_TIME(TIME)
-
- Example:
- .. code-block:: fortran
-
- program test_cpu_time
- real :: start, finish
- call cpu_time(start)
- ! put code to test here
- call cpu_time(finish)
- print '("Time = ",f6.3," seconds.")',finish-start
- end program test_cpu_time
-
- See also:
- :ref:`SYSTEM_CLOCK`,
- :ref:`DATE_AND_TIME` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/cshift.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/cshift.rst
deleted file mode 100644
index bc22279..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/cshift.rst
+++ /dev/null
@@ -1,61 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _cshift:
-
-CSHIFT --- Circular shift elements of an array
-**********************************************
-
-.. index:: CSHIFT, array, shift circularly, array, permutation, array, rotate
-
-.. function:: CSHIFT(ARRAY, SHIFT, DIM)
-
- ``CSHIFT(ARRAY, SHIFT [, DIM])`` performs a circular shift on elements of
- :samp:`{ARRAY}` along the dimension of :samp:`{DIM}`. If :samp:`{DIM}` is omitted it is
- taken to be ``1``. :samp:`{DIM}` is a scalar of type ``INTEGER`` in the
- range of 1 \leq DIM \leq n) where n is the rank of :samp:`{ARRAY}`.
- If the rank of :samp:`{ARRAY}` is one, then all elements of :samp:`{ARRAY}` are shifted
- by :samp:`{SHIFT}` places. If rank is greater than one, then all complete rank one
- sections of :samp:`{ARRAY}` along the given dimension are shifted. Elements
- shifted out one end of each rank one section are shifted back in the other end.
-
- :param ARRAY:
- Shall be an array of any type.
-
- :param SHIFT:
- The type shall be ``INTEGER``.
-
- :param DIM:
- The type shall be ``INTEGER``.
-
- :return:
- Returns an array of same type and rank as the :samp:`{ARRAY}` argument.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = CSHIFT(ARRAY, SHIFT [, DIM])
-
- Example:
- .. code-block:: fortran
-
- program test_cshift
- integer, dimension(3,3) :: a
- a = reshape( (/ 1, 2, 3, 4, 5, 6, 7, 8, 9 /), (/ 3, 3 /))
- print '(3i3)', a(1,:)
- print '(3i3)', a(2,:)
- print '(3i3)', a(3,:)
- a = cshift(a, SHIFT=(/1, 2, -1/), DIM=2)
- print *
- print '(3i3)', a(1,:)
- print '(3i3)', a(2,:)
- print '(3i3)', a(3,:)
- end program test_cshift \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/csizeof.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/csizeof.rst
deleted file mode 100644
index 2cae1e8..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/csizeof.rst
+++ /dev/null
@@ -1,55 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: C_SIZEOF, expression size, size of an expression
-
-.. _c_sizeof:
-
-C_SIZEOF --- Size in bytes of an expression
-*******************************************
-
-.. function:: C_SIZEOF(X)
-
- ``C_SIZEOF(X)`` calculates the number of bytes of storage the
- expression ``X`` occupies.
-
- :param X:
- The argument shall be an interoperable data entity.
-
- :return:
- The return value is of type integer and of the system-dependent kind
- ``C_SIZE_T`` (from the ``ISO_C_BINDING`` module). Its value is the
- number of bytes occupied by the argument. If the argument has the
- ``POINTER`` attribute, the number of bytes of the storage area pointed
- to is returned. If the argument is of a derived type with ``POINTER``
- or ``ALLOCATABLE`` components, the return value does not account for
- the sizes of the data pointed to by these components.
-
- Standard:
- Fortran 2008
-
- Class:
- Inquiry function of the module ``ISO_C_BINDING``
-
- Syntax:
- .. code-block:: fortran
-
- N = C_SIZEOF(X)
-
- Example:
- .. code-block:: fortran
-
- use iso_c_binding
- integer(c_int) :: i
- real(c_float) :: r, s(5)
- print *, (c_sizeof(s)/c_sizeof(r) == 5)
- end
-
- The example will print ``T`` unless you are using a platform
- where default ``REAL`` variables are unusually padded.
-
- See also:
- :ref:`SIZEOF`,
- :ref:`STORAGE_SIZE` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ctime.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ctime.rst
deleted file mode 100644
index 1cfc97a..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ctime.rst
+++ /dev/null
@@ -1,62 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _ctime:
-
-CTIME --- Convert a time into a string
-**************************************
-
-.. index:: CTIME, time, conversion to string, conversion, to string
-
-.. function:: CTIME(TIME, RESULT)
-
- ``CTIME`` converts a system time value, such as returned by
- :ref:`TIME8`, to a string. The output will be of the form :samp:`Sat
- Aug 19 18:13:14 1995`.
-
- :param TIME:
- The type shall be of type ``INTEGER``.
-
- :param RESULT:
- The type shall be of type ``CHARACTER`` and
- of default kind. It is an ``INTENT(OUT)`` argument. If the length
- of this variable is too short for the time and date string to fit
- completely, it will be blank on procedure return.
-
- :return:
- The converted date and time as a string.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL CTIME(TIME, RESULT).
- RESULT = CTIME(TIME).
-
- Example:
- .. code-block:: fortran
-
- program test_ctime
- integer(8) :: i
- character(len=30) :: date
- i = time8()
-
- ! Do something, main part of the program
-
- call ctime(i,date)
- print *, 'Program was started on ', date
- end program test_ctime
-
- See Also:
- :ref:`DATE_AND_TIME`,
- :ref:`GMTIME`,
- :ref:`LTIME`,
- :ref:`TIME`,
- :ref:`TIME8` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/dateandtime.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/dateandtime.rst
deleted file mode 100644
index 42268b8..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/dateandtime.rst
+++ /dev/null
@@ -1,70 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: DATE_AND_TIME, date, current, current date, time, current, current time
-
-.. _date_and_time:
-
-DATE_AND_TIME --- Date and time subroutine
-******************************************
-
-.. function:: DATE_AND_TIME(DATE, TIME, ZONE, VALUES)
-
- ``DATE_AND_TIME(DATE, TIME, ZONE, VALUES)`` gets the corresponding date and
- time information from the real-time system clock. :samp:`{DATE}` is
- ``INTENT(OUT)`` and has form ccyymmdd. :samp:`{TIME}` is ``INTENT(OUT)`` and
- has form hhmmss.sss. :samp:`{ZONE}` is ``INTENT(OUT)`` and has form (+-)hhmm,
- representing the difference with respect to Coordinated Universal Time (UTC).
- Unavailable time and date parameters return blanks.
-
- :param DATE:
- (Optional) The type shall be ``CHARACTER(LEN=8)``
- or larger, and of default kind.
-
- :param TIME:
- (Optional) The type shall be ``CHARACTER(LEN=10)``
- or larger, and of default kind.
-
- :param ZONE:
- (Optional) The type shall be ``CHARACTER(LEN=5)``
- or larger, and of default kind.
-
- :param VALUES:
- (Optional) The type shall be ``INTEGER(8)``.
-
- :return:
- None
-
- Standard:
- Fortran 90 and later
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL DATE_AND_TIME([DATE, TIME, ZONE, VALUES])
-
- Example:
- .. code-block:: fortran
-
- program test_time_and_date
- character(8) :: date
- character(10) :: time
- character(5) :: zone
- integer,dimension(8) :: values
- ! using keyword arguments
- call date_and_time(date,time,zone,values)
- call date_and_time(DATE=date,ZONE=zone)
- call date_and_time(TIME=time)
- call date_and_time(VALUES=values)
- print '(a,2x,a,2x,a)', date, time, zone
- print '(8i5)', values
- end program test_time_and_date
-
- See also:
- :ref:`CPU_TIME`,
- :ref:`SYSTEM_CLOCK` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/dble.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/dble.rst
deleted file mode 100644
index 60108a9..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/dble.rst
+++ /dev/null
@@ -1,46 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: DBLE, conversion, to real
-
-.. _dble:
-
-DBLE --- Double conversion function
-***********************************
-
-.. function:: DBLE(A)
-
- ``DBLE(A)`` Converts :samp:`{A}` to double precision real type.
-
- :param A:
- The type shall be ``INTEGER``, ``REAL``,
- or ``COMPLEX``.
-
- :return:
- The return value is of type double precision real.
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = DBLE(A)
-
- Example:
- .. code-block:: fortran
-
- program test_dble
- real :: x = 2.18
- integer :: i = 5
- complex :: z = (2.3,1.14)
- print *, dble(x), dble(i), dble(z)
- end program test_dble
-
- See also:
- :ref:`REAL` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/dcmplx.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/dcmplx.rst
deleted file mode 100644
index 358e937..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/dcmplx.rst
+++ /dev/null
@@ -1,54 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _dcmplx:
-
-DCMPLX --- Double complex conversion function
-*********************************************
-
-.. index:: DCMPLX, complex numbers, conversion to, conversion, to complex
-
-.. function:: DCMPLX(X, Y)
-
- ``DCMPLX(X [,Y])`` returns a double complex number where :samp:`{X}` is
- converted to the real component. If :samp:`{Y}` is present it is converted to the
- imaginary component. If :samp:`{Y}` is not present then the imaginary component is
- set to 0.0. If :samp:`{X}` is complex then :samp:`{Y}` must not be present.
-
- :param X:
- The type may be ``INTEGER``, ``REAL``,
- or ``COMPLEX``.
-
- :param Y:
- (Optional if :samp:`{X}` is not ``COMPLEX``.) May be
- ``INTEGER`` or ``REAL``.
-
- :return:
- The return value is of type ``COMPLEX(8)``
-
- Standard:
- GNU extension
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = DCMPLX(X [, Y])
-
- Example:
- .. code-block:: fortran
-
- program test_dcmplx
- integer :: i = 42
- real :: x = 3.14
- complex :: z
- z = cmplx(i, x)
- print *, dcmplx(i)
- print *, dcmplx(x)
- print *, dcmplx(z)
- print *, dcmplx(x,i)
- end program test_dcmplx \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/digits.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/digits.rst
deleted file mode 100644
index 895a32c..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/digits.rst
+++ /dev/null
@@ -1,46 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: DIGITS, model representation, significant digits
-
-.. _digits:
-
-DIGITS --- Significant binary digits function
-*********************************************
-
-.. function:: DIGITS(X)
-
- ``DIGITS(X)`` returns the number of significant binary digits of the internal
- model representation of :samp:`{X}`. For example, on a system using a 32-bit
- floating point representation, a default real number would likely return 24.
-
- :param X:
- The type may be ``INTEGER`` or ``REAL``.
-
- :return:
- The return value is of type ``INTEGER``.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = DIGITS(X)
-
- Example:
- .. code-block:: fortran
-
- program test_digits
- integer :: i = 12345
- real :: x = 3.143
- real(8) :: y = 2.33
- print *, digits(i)
- print *, digits(x)
- print *, digits(y)
- end program test_digits \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/dim.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/dim.rst
deleted file mode 100644
index 7a5f2e4..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/dim.rst
+++ /dev/null
@@ -1,78 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _dim:
-
-.. index:: DIM
-
-.. index:: IDIM
-
-.. index:: DDIM
-
-.. index:: positive difference
-
-DIM --- Positive difference
-***************************
-
-.. function:: DIM(X,Y)
-
- ``DIM(X,Y)`` returns the difference ``X-Y`` if the result is positive;
- otherwise returns zero.
-
- :param X:
- The type shall be ``INTEGER`` or ``REAL``
-
- :param Y:
- The type shall be the same type and kind as :samp:`{X}`. (As
- a GNU extension, arguments of different kinds are permitted.)
-
- :return:
- The return value is of type ``INTEGER`` or ``REAL``. (As a GNU
- extension, kind is the largest kind of the actual arguments.)
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = DIM(X, Y)
-
- Example:
- .. code-block:: fortran
-
- program test_dim
- integer :: i
- real(8) :: x
- i = dim(4, 15)
- x = dim(4.345_8, 2.111_8)
- print *, i
- print *, x
- end program test_dim
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``DIM(X,Y)``
- - ``REAL(4) X, Y``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``IDIM(X,Y)``
- - ``INTEGER(4) X, Y``
- - ``INTEGER(4)``
- - Fortran 77 and later
- * - ``DDIM(X,Y)``
- - ``REAL(8) X, Y``
- - ``REAL(8)``
- - Fortran 77 and later \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/dotproduct.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/dotproduct.rst
deleted file mode 100644
index 396e221..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/dotproduct.rst
+++ /dev/null
@@ -1,57 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: DOT_PRODUCT, dot product, vector product, product, vector
-
-.. _dot_product:
-
-DOT_PRODUCT --- Dot product function
-************************************
-
-.. function:: DOT_PRODUCT(VECTOR_A, VECTOR_B)
-
- ``DOT_PRODUCT(VECTOR_A, VECTOR_B)`` computes the dot product multiplication
- of two vectors :samp:`{VECTOR_A}` and :samp:`{VECTOR_B}`. The two vectors may be
- either numeric or logical and must be arrays of rank one and of equal size. If
- the vectors are ``INTEGER`` or ``REAL``, the result is
- ``SUM(VECTOR_A*VECTOR_B)``. If the vectors are ``COMPLEX``, the result
- is ``SUM(CONJG(VECTOR_A)*VECTOR_B)``. If the vectors are ``LOGICAL``,
- the result is ``ANY(VECTOR_A .AND. VECTOR_B)``.
-
- :param VECTOR_A:
- The type shall be numeric or ``LOGICAL``, rank 1.
-
- :param VECTOR_B:
- The type shall be numeric if :samp:`{VECTOR_A}` is of numeric type or ``LOGICAL`` if :samp:`{VECTOR_A}` is of type ``LOGICAL``. :samp:`{VECTOR_B}` shall be a rank-one array.
-
- :return:
- If the arguments are numeric, the return value is a scalar of numeric type,
- ``INTEGER``, ``REAL``, or ``COMPLEX``. If the arguments are
- ``LOGICAL``, the return value is ``.TRUE.`` or ``.FALSE.``.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = DOT_PRODUCT(VECTOR_A, VECTOR_B)
-
- Example:
- .. code-block:: fortran
-
- program test_dot_prod
- integer, dimension(3) :: a, b
- a = (/ 1, 2, 3 /)
- b = (/ 4, 5, 6 /)
- print '(3i3)', a
- print *
- print '(3i3)', b
- print *
- print *, dot_product(a,b)
- end program test_dot_prod \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/dprod.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/dprod.rst
deleted file mode 100644
index 63dca09..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/dprod.rst
+++ /dev/null
@@ -1,62 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _dprod:
-
-.. index:: DPROD
-
-.. index:: product, double-precision
-
-DPROD --- Double product function
-*********************************
-
-.. function:: DPROD(X,Y)
-
- ``DPROD(X,Y)`` returns the product ``X*Y``.
-
- :param X:
- The type shall be ``REAL``.
-
- :param Y:
- The type shall be ``REAL``.
-
- :return:
- The return value is of type ``REAL(8)``.
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = DPROD(X, Y)
-
- Example:
- .. code-block:: fortran
-
- program test_dprod
- real :: x = 5.2
- real :: y = 2.3
- real(8) :: d
- d = dprod(x,y)
- print *, d
- end program test_dprod
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``DPROD(X,Y)``
- - ``REAL(4) X, Y``
- - ``REAL(8)``
- - Fortran 77 and later \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/dreal.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/dreal.rst
deleted file mode 100644
index f84da91..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/dreal.rst
+++ /dev/null
@@ -1,43 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: DREAL, complex numbers, real part
-
-.. _dreal:
-
-DREAL --- Double real part function
-***********************************
-
-.. function:: DREAL(Z)
-
- ``DREAL(Z)`` returns the real part of complex variable :samp:`{Z}`.
-
- :param A:
- The type shall be ``COMPLEX(8)``.
-
- :return:
- The return value is of type ``REAL(8)``.
-
- Standard:
- GNU extension
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = DREAL(A)
-
- Example:
- .. code-block:: fortran
-
- program test_dreal
- complex(8) :: z = (1.3_8,7.2_8)
- print *, dreal(z)
- end program test_dreal
-
- See also:
- :ref:`AIMAG` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/dshiftl.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/dshiftl.rst
deleted file mode 100644
index 24ab08e..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/dshiftl.rst
+++ /dev/null
@@ -1,52 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: DSHIFTL, left shift, combined, shift, left
-
-.. _dshiftl:
-
-DSHIFTL --- Combined left shift
-*******************************
-
-.. function:: DSHIFTL(I, J, SHIFT)
-
- ``DSHIFTL(I, J, SHIFT)`` combines bits of :samp:`{I}` and :samp:`{J}`. The
- rightmost :samp:`{SHIFT}` bits of the result are the leftmost :samp:`{SHIFT}`
- bits of :samp:`{J}`, and the remaining bits are the rightmost bits of
- :samp:`{I}`.
-
- :param I:
- Shall be of type ``INTEGER`` or a BOZ constant.
-
- :param J:
- Shall be of type ``INTEGER`` or a BOZ constant.
- If both :samp:`{I}` and :samp:`{J}` have integer type, then they shall have
- the same kind type parameter. :samp:`{I}` and :samp:`{J}` shall not both be
- BOZ constants.
-
- :param SHIFT:
- Shall be of type ``INTEGER``. It shall
- be nonnegative. If :samp:`{I}` is not a BOZ constant, then :samp:`{SHIFT}`
- shall be less than or equal to ``BIT_SIZE(I)`` ; otherwise,
- :samp:`{SHIFT}` shall be less than or equal to ``BIT_SIZE(J)``.
-
- :return:
- If either :samp:`{I}` or :samp:`{J}` is a BOZ constant, it is first converted
- as if by the intrinsic function ``INT`` to an integer type with the
- kind type parameter of the other.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = DSHIFTL(I, J, SHIFT)
-
- See also:
- :ref:`DSHIFTR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/dshiftr.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/dshiftr.rst
deleted file mode 100644
index a4d4ec4..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/dshiftr.rst
+++ /dev/null
@@ -1,52 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: DSHIFTR, right shift, combined, shift, right
-
-.. _dshiftr:
-
-DSHIFTR --- Combined right shift
-********************************
-
-.. function:: DSHIFTR(I, J, SHIFT)
-
- ``DSHIFTR(I, J, SHIFT)`` combines bits of :samp:`{I}` and :samp:`{J}`. The
- leftmost :samp:`{SHIFT}` bits of the result are the rightmost :samp:`{SHIFT}`
- bits of :samp:`{I}`, and the remaining bits are the leftmost bits of
- :samp:`{J}`.
-
- :param I:
- Shall be of type ``INTEGER`` or a BOZ constant.
-
- :param J:
- Shall be of type ``INTEGER`` or a BOZ constant.
- If both :samp:`{I}` and :samp:`{J}` have integer type, then they shall have
- the same kind type parameter. :samp:`{I}` and :samp:`{J}` shall not both be
- BOZ constants.
-
- :param SHIFT:
- Shall be of type ``INTEGER``. It shall
- be nonnegative. If :samp:`{I}` is not a BOZ constant, then :samp:`{SHIFT}`
- shall be less than or equal to ``BIT_SIZE(I)`` ; otherwise,
- :samp:`{SHIFT}` shall be less than or equal to ``BIT_SIZE(J)``.
-
- :return:
- If either :samp:`{I}` or :samp:`{J}` is a BOZ constant, it is first converted
- as if by the intrinsic function ``INT`` to an integer type with the
- kind type parameter of the other.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = DSHIFTR(I, J, SHIFT)
-
- See also:
- :ref:`DSHIFTL` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/dtime.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/dtime.rst
deleted file mode 100644
index 4f63d97..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/dtime.rst
+++ /dev/null
@@ -1,64 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: DTIME, time, elapsed, elapsed time
-
-.. _dtime:
-
-DTIME --- Execution time subroutine (or function)
-*************************************************
-
-.. function:: DTIME(VALUES, TIME)
-
- ``DTIME(VALUES, TIME)`` initially returns the number of seconds of runtime
- since the start of the process's execution in :samp:`{TIME}`. :samp:`{VALUES}`
- returns the user and system components of this time in ``VALUES(1)`` and
- ``VALUES(2)`` respectively. :samp:`{TIME}` is equal to ``VALUES(1) +
- VALUES(2)``.
-
- :param VALUES:
- The type shall be ``REAL(4), DIMENSION(2)``.
-
- :param TIME:
- The type shall be ``REAL(4)``.
-
- :return:
- Elapsed time in seconds since the last invocation or since the start of program
- execution if not called before.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL DTIME(VALUES, TIME).
- TIME = DTIME(VALUES), (not recommended).
-
- Example:
- .. code-block:: fortran
-
- program test_dtime
- integer(8) :: i, j
- real, dimension(2) :: tarray
- real :: result
- call dtime(tarray, result)
- print *, result
- print *, tarray(1)
- print *, tarray(2)
- do i=1,100000000 ! Just a delay
- j = i * i - i
- end do
- call dtime(tarray, result)
- print *, result
- print *, tarray(1)
- print *, tarray(2)
- end program test_dtime
-
- See also:
- :ref:`CPU_TIME` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/eoshift.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/eoshift.rst
deleted file mode 100644
index 93f1e5a..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/eoshift.rst
+++ /dev/null
@@ -1,67 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _eoshift:
-
-EOSHIFT --- End-off shift elements of an array
-**********************************************
-
-.. index:: EOSHIFT, array, shift
-
-.. function:: EOSHIFT(ARRAY, SHIFT, BOUNDARY, DIM)
-
- ``EOSHIFT(ARRAY, SHIFT[, BOUNDARY, DIM])`` performs an end-off shift on
- elements of :samp:`{ARRAY}` along the dimension of :samp:`{DIM}`. If :samp:`{DIM}` is
- omitted it is taken to be ``1``. :samp:`{DIM}` is a scalar of type
- ``INTEGER`` in the range of 1 \leq DIM \leq n) where n is the
- rank of :samp:`{ARRAY}`. If the rank of :samp:`{ARRAY}` is one, then all elements of
- :samp:`{ARRAY}` are shifted by :samp:`{SHIFT}` places. If rank is greater than one,
- then all complete rank one sections of :samp:`{ARRAY}` along the given dimension are
- shifted. Elements shifted out one end of each rank one section are dropped. If
- :samp:`{BOUNDARY}` is present then the corresponding value of from :samp:`{BOUNDARY}`
- is copied back in the other end. If :samp:`{BOUNDARY}` is not present then the
- following are copied in depending on the type of :samp:`{ARRAY}`.
-
- :param ARRAY:
- May be any type, not scalar.
-
- :param SHIFT:
- The type shall be ``INTEGER``.
-
- :param BOUNDARY:
- Same type as :samp:`{ARRAY}`.
-
- :param DIM:
- The type shall be ``INTEGER``.
-
- :return:
- Returns an array of same type and rank as the :samp:`{ARRAY}` argument.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = EOSHIFT(ARRAY, SHIFT [, BOUNDARY, DIM])
-
- Example:
- .. code-block:: fortran
-
- program test_eoshift
- integer, dimension(3,3) :: a
- a = reshape( (/ 1, 2, 3, 4, 5, 6, 7, 8, 9 /), (/ 3, 3 /))
- print '(3i3)', a(1,:)
- print '(3i3)', a(2,:)
- print '(3i3)', a(3,:)
- a = EOSHIFT(a, SHIFT=(/1, 2, 1/), BOUNDARY=-5, DIM=2)
- print *
- print '(3i3)', a(1,:)
- print '(3i3)', a(2,:)
- print '(3i3)', a(3,:)
- end program test_eoshift \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/epsilon.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/epsilon.rst
deleted file mode 100644
index 6ff2f2e..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/epsilon.rst
+++ /dev/null
@@ -1,43 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: EPSILON, model representation, epsilon
-
-.. _epsilon:
-
-EPSILON --- Epsilon function
-****************************
-
-.. function:: EPSILON(X)
-
- ``EPSILON(X)`` returns the smallest number :samp:`{E}` of the same kind
- as :samp:`{X}` such that 1 + E > 1.
-
- :param X:
- The type shall be ``REAL``.
-
- :return:
- The return value is of same type as the argument.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = EPSILON(X)
-
- Example:
- .. code-block:: fortran
-
- program test_epsilon
- real :: x = 3.143
- real(8) :: y = 2.33
- print *, EPSILON(x)
- print *, EPSILON(y)
- end program test_epsilon \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/erf.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/erf.rst
deleted file mode 100644
index 9a1c6de..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/erf.rst
+++ /dev/null
@@ -1,57 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _erf:
-
-.. index:: ERF
-
-.. index:: error function
-
-ERF --- Error function
-***********************
-
-.. function:: ERF(X)
-
- ``ERF(X)`` computes the error function of :samp:`{X}`.
-
- :param X:
- The type shall be ``REAL``.
-
- :return:
- The return value is of type ``REAL``, of the same kind as
- :samp:`{X}` and lies in the range -1 \leq erf (x) \leq 1 .
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ERF(X)
-
- Example:
- .. code-block:: fortran
-
- program test_erf
- real(8) :: x = 0.17_8
- x = erf(x)
- end program test_erf
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``DERF(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/erfc.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/erfc.rst
deleted file mode 100644
index d6ee377..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/erfc.rst
+++ /dev/null
@@ -1,57 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _erfc:
-
-.. index:: ERFC
-
-.. index:: error function, complementary
-
-ERFC --- Error function
-************************
-
-.. function:: ERFC(X)
-
- ``ERFC(X)`` computes the complementary error function of :samp:`{X}`.
-
- :param X:
- The type shall be ``REAL``.
-
- :return:
- The return value is of type ``REAL`` and of the same kind as :samp:`{X}`.
- It lies in the range 0 \leq erfc (x) \leq 2 .
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ERFC(X)
-
- Example:
- .. code-block:: fortran
-
- program test_erfc
- real(8) :: x = 0.17_8
- x = erfc(x)
- end program test_erfc
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``DERFC(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/erfcscaled.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/erfcscaled.rst
deleted file mode 100644
index 7842cb5..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/erfcscaled.rst
+++ /dev/null
@@ -1,41 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ERFC_SCALED, error function, complementary, exponentially-scaled
-
-.. _erfc_scaled:
-
-ERFC_SCALED --- Error function
-*******************************
-
-.. function:: ERFC_SCALED(X)
-
- ``ERFC_SCALED(X)`` computes the exponentially-scaled complementary
- error function of :samp:`{X}`.
-
- :param X:
- The type shall be ``REAL``.
-
- :return:
- The return value is of type ``REAL`` and of the same kind as :samp:`{X}`.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ERFC_SCALED(X)
-
- Example:
- .. code-block:: fortran
-
- program test_erfc_scaled
- real(8) :: x = 0.17_8
- x = erfc_scaled(x)
- end program test_erfc_scaled \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/etime.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/etime.rst
deleted file mode 100644
index 63d7431..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/etime.rst
+++ /dev/null
@@ -1,62 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ETIME, time, elapsed
-
-.. _etime:
-
-ETIME --- Execution time subroutine (or function)
-*************************************************
-
-.. function:: ETIME(VALUES, TIME)
-
- ``ETIME(VALUES, TIME)`` returns the number of seconds of runtime
- since the start of the process's execution in :samp:`{TIME}`. :samp:`{VALUES}`
- returns the user and system components of this time in ``VALUES(1)`` and
- ``VALUES(2)`` respectively. :samp:`{TIME}` is equal to ``VALUES(1) + VALUES(2)``.
-
- :param VALUES:
- The type shall be ``REAL(4), DIMENSION(2)``.
-
- :param TIME:
- The type shall be ``REAL(4)``.
-
- :return:
- Elapsed time in seconds since the start of program execution.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL ETIME(VALUES, TIME).
- TIME = ETIME(VALUES), (not recommended).
-
- Example:
- .. code-block:: fortran
-
- program test_etime
- integer(8) :: i, j
- real, dimension(2) :: tarray
- real :: result
- call ETIME(tarray, result)
- print *, result
- print *, tarray(1)
- print *, tarray(2)
- do i=1,100000000 ! Just a delay
- j = i * i - i
- end do
- call ETIME(tarray, result)
- print *, result
- print *, tarray(1)
- print *, tarray(2)
- end program test_etime
-
- See also:
- :ref:`CPU_TIME` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/eventquery.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/eventquery.rst
deleted file mode 100644
index f676ec0..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/eventquery.rst
+++ /dev/null
@@ -1,57 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _event_query:
-
-EVENT_QUERY --- Query whether a coarray event has occurred
-**********************************************************
-
-.. index:: EVENT_QUERY, Events, EVENT_QUERY
-
-.. function:: EVENT_QUERY(EVENT, COUNT, STAT)
-
- ``EVENT_QUERY`` assignes the number of events to :samp:`{COUNT}` which have been
- posted to the :samp:`{EVENT}` variable and not yet been removed by calling
- ``EVENT WAIT``. When :samp:`{STAT}` is present and the invocation was successful,
- it is assigned the value 0. If it is present and the invocation has failed,
- it is assigned a positive value and :samp:`{COUNT}` is assigned the value -1.
-
- :param EVENT:
- (intent(IN)) Scalar of type ``EVENT_TYPE``,
- defined in ``ISO_FORTRAN_ENV`` ; shall not be coindexed.
-
- :param COUNT:
- (intent(out))Scalar integer with at least the
- precision of default integer.
-
- :param STAT:
- (optional) Scalar default-kind integer variable.
-
- Standard:
- TS 18508 or later
-
- Class:
- subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL EVENT_QUERY (EVENT, COUNT [, STAT])
-
- Example:
- .. code-block:: fortran
-
- program atomic
- use iso_fortran_env
- implicit none
- type(event_type) :: event_value_has_been_set[*]
- integer :: cnt
- if (this_image() == 1) then
- call event_query (event_value_has_been_set, cnt)
- if (cnt > 0) write(*,*) "Value has been set"
- elseif (this_image() == 2) then
- event post (event_value_has_been_set[1])
- end if
- end program atomic \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/executecommandline.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/executecommandline.rst
deleted file mode 100644
index cfb3dff..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/executecommandline.rst
+++ /dev/null
@@ -1,70 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _execute_command_line:
-
-EXECUTE_COMMAND_LINE --- Execute a shell command
-************************************************
-
-.. index:: EXECUTE_COMMAND_LINE, system, system call, command line
-
-.. function:: EXECUTE_COMMAND_LINE(COMMAND, WAIT, EXITSTAT, CMDSTAT, CMDMSG)
-
- ``EXECUTE_COMMAND_LINE`` runs a shell command, synchronously or
- asynchronously.
-
- :param COMMAND:
- Shall be a default ``CHARACTER`` scalar.
-
- :param WAIT:
- (Optional) Shall be a default ``LOGICAL`` scalar.
-
- :param EXITSTAT:
- (Optional) Shall be an ``INTEGER`` of the
- default kind.
-
- :param CMDSTAT:
- (Optional) Shall be an ``INTEGER`` of the
- default kind.
-
- :param CMDMSG:
- (Optional) Shall be an ``CHARACTER`` scalar of the
- default kind.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL EXECUTE_COMMAND_LINE(COMMAND [, WAIT, EXITSTAT, CMDSTAT, CMDMSG ])
-
- Example:
- .. code-block:: fortran
-
- program test_exec
- integer :: i
-
- call execute_command_line ("external_prog.exe", exitstat=i)
- print *, "Exit status of external_prog.exe was ", i
-
- call execute_command_line ("reindex_files.exe", wait=.false.)
- print *, "Now reindexing files in the background"
-
- end program test_exec
-
- Note:
- Because this intrinsic is implemented in terms of the ``system``
- function call, its behavior with respect to signaling is processor
- dependent. In particular, on POSIX-compliant systems, the SIGINT and
- SIGQUIT signals will be ignored, and the SIGCHLD will be blocked. As
- such, if the parent process is terminated, the child process might not be
- terminated alongside.
-
- See also:
- :ref:`SYSTEM` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/exit.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/exit.rst
deleted file mode 100644
index 40ac4bd..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/exit.rst
+++ /dev/null
@@ -1,47 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _exit:
-
-EXIT --- Exit the program with status.
-***************************************
-
-.. index:: EXIT, program termination, terminate program
-
-.. function:: EXIT(STATUS)
-
- ``EXIT`` causes immediate termination of the program with status. If status
- is omitted it returns the canonical *success* for the system. All Fortran
- I/O units are closed.
-
- :param STATUS:
- Shall be an ``INTEGER`` of the default kind.
-
- :return:
- ``STATUS`` is passed to the parent process on exit.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL EXIT([STATUS])
-
- Example:
- .. code-block:: fortran
-
- program test_exit
- integer :: STATUS = 0
- print *, 'This program is going to exit.'
- call EXIT(STATUS)
- end program test_exit
-
- See also:
- :ref:`ABORT`,
- :ref:`KILL` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/exp.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/exp.rst
deleted file mode 100644
index 205ad27..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/exp.rst
+++ /dev/null
@@ -1,83 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _exp:
-
-.. index:: EXP
-
-.. index:: DEXP
-
-.. index:: CEXP
-
-.. index:: ZEXP
-
-.. index:: CDEXP
-
-.. index:: exponential function
-
-.. index:: logarithm function, inverse
-
-EXP --- Exponential function
-*****************************
-
-.. function:: EXP(X)
-
- ``EXP(X)`` computes the base e exponential of :samp:`{X}`.
-
- :param X:
- The type shall be ``REAL`` or
- ``COMPLEX``.
-
- :return:
- The return value has same type and kind as :samp:`{X}`.
-
- Standard:
- Fortran 77 and later, has overloads that are GNU extensions
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = EXP(X)
-
- Example:
- .. code-block:: fortran
-
- program test_exp
- real :: x = 1.0
- x = exp(x)
- end program test_exp
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``EXP(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DEXP(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - Fortran 77 and later
- * - ``CEXP(X)``
- - ``COMPLEX(4) X``
- - ``COMPLEX(4)``
- - Fortran 77 and later
- * - ``ZEXP(X)``
- - ``COMPLEX(8) X``
- - ``COMPLEX(8)``
- - GNU extension
- * - ``CDEXP(X)``
- - ``COMPLEX(8) X``
- - ``COMPLEX(8)``
- - GNU extension \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/exponent.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/exponent.rst
deleted file mode 100644
index 83c7aa0..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/exponent.rst
+++ /dev/null
@@ -1,44 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: EXPONENT, real number, exponent, floating point, exponent
-
-.. _exponent:
-
-EXPONENT --- Exponent function
-*******************************
-
-.. function:: EXPONENT(X)
-
- ``EXPONENT(X)`` returns the value of the exponent part of :samp:`{X}`. If :samp:`{X}`
- is zero the value returned is zero.
-
- :param X:
- The type shall be ``REAL``.
-
- :return:
- The return value is of type default ``INTEGER``.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = EXPONENT(X)
-
- Example:
- .. code-block:: fortran
-
- program test_exponent
- real :: x = 1.0
- integer :: i
- i = exponent(x)
- print *, i
- print *, exponent(0.0)
- end program test_exponent \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/extendstypeof.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/extendstypeof.rst
deleted file mode 100644
index 1df242e..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/extendstypeof.rst
+++ /dev/null
@@ -1,41 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: EXTENDS_TYPE_OF
-
-.. _extends_type_of:
-
-EXTENDS_TYPE_OF --- Query dynamic type for extension
-*****************************************************
-
-.. function:: EXTENDS_TYPE_OF(A, MOLD)
-
- Query dynamic type for extension.
-
- :param A:
- Shall be an object of extensible declared type or
- unlimited polymorphic.
-
- :param MOLD:
- Shall be an object of extensible declared type or
- unlimited polymorphic.
-
- :return:
- The return value is a scalar of type default logical. It is true if and only if
- the dynamic type of A is an extension type of the dynamic type of MOLD.
-
- Standard:
- Fortran 2003 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = EXTENDS_TYPE_OF(A, MOLD)
-
- See also:
- :ref:`SAME_TYPE_AS` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/fdate.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/fdate.rst
deleted file mode 100644
index 1b780a5..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/fdate.rst
+++ /dev/null
@@ -1,57 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: FDATE, time, current, current time, date, current, current date
-
-.. _fdate:
-
-FDATE --- Get the current time as a string
-******************************************
-
-.. function:: FDATE(DATE)
-
- ``FDATE(DATE)`` returns the current date (using the same format as
- :ref:`CTIME`) in :samp:`{DATE}`. It is equivalent to ``CALL CTIME(DATE,
- TIME())``.
-
- :param DATE:
- The type shall be of type ``CHARACTER`` of the
- default kind. It is an ``INTENT(OUT)`` argument. If the length of
- this variable is too short for the date and time string to fit
- completely, it will be blank on procedure return.
-
- :return:
- The current date and time as a string.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL FDATE(DATE).
- DATE = FDATE().
-
- Example:
- .. code-block:: fortran
-
- program test_fdate
- integer(8) :: i, j
- character(len=30) :: date
- call fdate(date)
- print *, 'Program started on ', date
- do i = 1, 100000000 ! Just a delay
- j = i * i - i
- end do
- call fdate(date)
- print *, 'Program ended on ', date
- end program test_fdate
-
- See also:
- :ref:`DATE_AND_TIME`,
- :ref:`CTIME` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/fget.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/fget.rst
deleted file mode 100644
index e9ac9eb..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/fget.rst
+++ /dev/null
@@ -1,60 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: FGET, read character, stream mode, stream mode, read character, file operation, read character
-
-.. _fget:
-
-FGET --- Read a single character in stream mode from stdin
-***********************************************************
-
-.. function:: FGET(C)
-
- Read a single character in stream mode from stdin by bypassing normal
- formatted output. Stream I/O should not be mixed with normal record-oriented
- (formatted or unformatted) I/O on the same unit; the results are unpredictable.
-
- :param C:
- The type shall be ``CHARACTER`` and of default
- kind.
-
- :param STATUS:
- (Optional) status flag of type ``INTEGER``.
- Returns 0 on success, -1 on end-of-file, and a system specific positive
- error code otherwise.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL FGET(C [, STATUS])
- STATUS = FGET(C)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_fget
- INTEGER, PARAMETER :: strlen = 100
- INTEGER :: status, i = 1
- CHARACTER(len=strlen) :: str = ""
-
- WRITE (*,*) 'Enter text:'
- DO
- CALL fget(str(i:i), status)
- if (status /= 0 .OR. i > strlen) exit
- i = i + 1
- END DO
- WRITE (*,*) TRIM(str)
- END PROGRAM
-
- See also:
- :ref:`FGETC`,
- :ref:`FPUT`,
- :ref:`FPUTC` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/fgetc.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/fgetc.rst
deleted file mode 100644
index 7677fdc..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/fgetc.rst
+++ /dev/null
@@ -1,62 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: FGETC, read character, stream mode, stream mode, read character, file operation, read character
-
-.. _fgetc:
-
-FGETC --- Read a single character in stream mode
-************************************************
-
-.. function:: FGETC(UNIT, C)
-
- Read a single character in stream mode by bypassing normal formatted output.
- Stream I/O should not be mixed with normal record-oriented (formatted or
- unformatted) I/O on the same unit; the results are unpredictable.
-
- :param UNIT:
- The type shall be ``INTEGER``.
-
- :param C:
- The type shall be ``CHARACTER`` and of default
- kind.
-
- :param STATUS:
- (Optional) status flag of type ``INTEGER``.
- Returns 0 on success, -1 on end-of-file and a system specific positive
- error code otherwise.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL FGETC(UNIT, C [, STATUS])
- STATUS = FGETC(UNIT, C)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_fgetc
- INTEGER :: fd = 42, status
- CHARACTER :: c
-
- OPEN(UNIT=fd, FILE="/etc/passwd", ACTION="READ", STATUS = "OLD")
- DO
- CALL fgetc(fd, c, status)
- IF (status /= 0) EXIT
- call fput(c)
- END DO
- CLOSE(UNIT=fd)
- END PROGRAM
-
- See also:
- :ref:`FGET`,
- :ref:`FPUT`,
- :ref:`FPUTC` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/findloc.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/findloc.rst
deleted file mode 100644
index 7361872..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/findloc.rst
+++ /dev/null
@@ -1,78 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _findloc:
-
-FINDLOC --- Search an array for a value
-***************************************
-
-.. index:: FINDLOC, findloc
-
-.. function:: FINDLOC(ARRAY, VALUE, MASK, KIND, BACK)
-
- Determines the location of the element in the array with the value
- given in the :samp:`{VALUE}` argument, or, if the :samp:`{DIM}` argument is
- supplied, determines the locations of the elements equal to the
- :samp:`{VALUE}` argument element along each
- row of the array in the :samp:`{DIM}` direction. If :samp:`{MASK}` is
- present, only the elements for which :samp:`{MASK}` is ``.TRUE.`` are
- considered. If more than one element in the array has the value
- :samp:`{VALUE}`, the location returned is that of the first such element
- in array element order if the :samp:`{BACK}` is not present or if it is
- ``.FALSE.``. If :samp:`{BACK}` is true, the location returned is that
- of the last such element. If the array has zero size, or all of the
- elements of :samp:`{MASK}` are ``.FALSE.``, then the result is an array
- of zeroes. Similarly, if :samp:`{DIM}` is supplied and all of the
- elements of :samp:`{MASK}` along a given row are zero, the result value
- for that row is zero.
-
- :param ARRAY:
- Shall be an array of intrinsic type.
-
- :param VALUE:
- A scalar of intrinsic type which is in type
- conformance with :samp:`{ARRAY}`.
-
- :param DIM:
- (Optional) Shall be a scalar of type
- ``INTEGER``, with a value between one and the rank of :samp:`{ARRAY}`,
- inclusive. It may not be an optional dummy argument.
-
- :param MASK:
- (Optional) Shall be of type ``LOGICAL``,
- and conformable with :samp:`{ARRAY}`.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :param BACK:
- (Optional) A scalar of type ``LOGICAL``.
-
- :return:
- If :samp:`{DIM}` is absent, the result is a rank-one array with a length
- equal to the rank of :samp:`{ARRAY}`. If :samp:`{DIM}` is present, the result
- is an array with a rank one less than the rank of :samp:`{ARRAY}`, and a
- size corresponding to the size of :samp:`{ARRAY}` with the :samp:`{DIM}`
- dimension removed. If :samp:`{DIM}` is present and :samp:`{ARRAY}` has a rank
- of one, the result is a scalar. If the optional argument :samp:`{KIND}`
- is present, the result is an integer of kind :samp:`{KIND}`, otherwise it
- is of default kind.
-
- Standard:
- Fortran 2008 and later.
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = FINDLOC(ARRAY, VALUE, DIM [, MASK] [,KIND] [,BACK])
- RESULT = FINDLOC(ARRAY, VALUE, [, MASK] [,KIND] [,BACK])
-
- See also:
- :ref:`MAXLOC`,
- :ref:`MINLOC` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/floor.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/floor.rst
deleted file mode 100644
index 7c7eaee..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/floor.rst
+++ /dev/null
@@ -1,51 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: FLOOR, floor, rounding, floor
-
-.. _floor:
-
-FLOOR --- Integer floor function
-********************************
-
-.. function:: FLOOR(A)
-
- ``FLOOR(A)`` returns the greatest integer less than or equal to :samp:`{X}`.
-
- :param A:
- The type shall be ``REAL``.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``INTEGER(KIND)`` if :samp:`{KIND}` is present
- and of default-kind ``INTEGER`` otherwise.
-
- Standard:
- Fortran 95 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = FLOOR(A [, KIND])
-
- Example:
- .. code-block:: fortran
-
- program test_floor
- real :: x = 63.29
- real :: y = -63.59
- print *, floor(x) ! returns 63
- print *, floor(y) ! returns -64
- end program test_floor
-
- See also:
- :ref:`CEILING`,
- :ref:`NINT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/flush.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/flush.rst
deleted file mode 100644
index c761b35..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/flush.rst
+++ /dev/null
@@ -1,72 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: FLUSH, file operation, flush
-
-.. _flush:
-
-FLUSH --- Flush I/O unit(s)
-***************************
-
-.. function:: FLUSH(UNIT)
-
- Flushes Fortran unit(s) currently open for output. Without the optional
- argument, all units are flushed, otherwise just the unit specified.
-
- :param UNIT:
- (Optional) The type shall be ``INTEGER``.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL FLUSH(UNIT)
-
- Note:
- Beginning with the Fortran 2003 standard, there is a ``FLUSH``
- statement that should be preferred over the ``FLUSH`` intrinsic.
-
- The ``FLUSH`` intrinsic and the Fortran 2003 ``FLUSH`` statement
- have identical effect: they flush the runtime library's I/O buffer so
- that the data becomes visible to other processes. This does not guarantee
- that the data is committed to disk.
-
- On POSIX systems, you can request that all data is transferred to the
- storage device by calling the ``fsync`` function, with the POSIX file
- descriptor of the I/O unit as argument (retrieved with GNU intrinsic
- ``FNUM``). The following example shows how:
-
- .. code-block:: fortran
-
- ! Declare the interface for POSIX fsync function
- interface
- function fsync (fd) bind(c,name="fsync")
- use iso_c_binding, only: c_int
- integer(c_int), value :: fd
- integer(c_int) :: fsync
- end function fsync
- end interface
-
- ! Variable declaration
- integer :: ret
-
- ! Opening unit 10
- open (10,file="foo")
-
- ! ...
- ! Perform I/O on unit 10
- ! ...
-
- ! Flush and sync
- flush(10)
- ret = fsync(fnum(10))
-
- ! Handle possible error
- if (ret /= 0) stop "Error calling FSYNC" \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/fnum.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/fnum.rst
deleted file mode 100644
index b756f0a..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/fnum.rst
+++ /dev/null
@@ -1,44 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: FNUM, file operation, file number
-
-.. _fnum:
-
-FNUM --- File number function
-*****************************
-
-.. function:: FNUM(UNIT)
-
- ``FNUM(UNIT)`` returns the POSIX file descriptor number corresponding to the
- open Fortran I/O unit ``UNIT``.
-
- :param UNIT:
- The type shall be ``INTEGER``.
-
- :return:
- The return value is of type ``INTEGER``
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = FNUM(UNIT)
-
- Example:
- .. code-block:: fortran
-
- program test_fnum
- integer :: i
- open (unit=10, status = "scratch")
- i = fnum(10)
- print *, i
- close (10)
- end program test_fnum \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/fput.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/fput.rst
deleted file mode 100644
index 54d1e6c..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/fput.rst
+++ /dev/null
@@ -1,54 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: FPUT, write character, stream mode, stream mode, write character, file operation, write character
-
-.. _fput:
-
-FPUT --- Write a single character in stream mode to stdout
-***********************************************************
-
-.. function:: FPUT(C)
-
- Write a single character in stream mode to stdout by bypassing normal
- formatted output. Stream I/O should not be mixed with normal record-oriented
- (formatted or unformatted) I/O on the same unit; the results are unpredictable.
-
- :param C:
- The type shall be ``CHARACTER`` and of default
- kind.
-
- :param STATUS:
- (Optional) status flag of type ``INTEGER``.
- Returns 0 on success, -1 on end-of-file and a system specific positive
- error code otherwise.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL FPUT(C [, STATUS])
- STATUS = FPUT(C)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_fput
- CHARACTER(len=10) :: str = "gfortran"
- INTEGER :: i
- DO i = 1, len_trim(str)
- CALL fput(str(i:i))
- END DO
- END PROGRAM
-
- See also:
- :ref:`FPUTC`,
- :ref:`FGET`,
- :ref:`FGETC` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/fputc.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/fputc.rst
deleted file mode 100644
index 063c1a8..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/fputc.rst
+++ /dev/null
@@ -1,60 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: FPUTC, write character, stream mode, stream mode, write character, file operation, write character
-
-.. _fputc:
-
-FPUTC --- Write a single character in stream mode
-*************************************************
-
-.. function:: FPUTC(UNIT, C)
-
- Write a single character in stream mode by bypassing normal formatted
- output. Stream I/O should not be mixed with normal record-oriented
- (formatted or unformatted) I/O on the same unit; the results are unpredictable.
-
- :param UNIT:
- The type shall be ``INTEGER``.
-
- :param C:
- The type shall be ``CHARACTER`` and of default
- kind.
-
- :param STATUS:
- (Optional) status flag of type ``INTEGER``.
- Returns 0 on success, -1 on end-of-file and a system specific positive
- error code otherwise.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL FPUTC(UNIT, C [, STATUS])
- STATUS = FPUTC(UNIT, C)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_fputc
- CHARACTER(len=10) :: str = "gfortran"
- INTEGER :: fd = 42, i
-
- OPEN(UNIT = fd, FILE = "out", ACTION = "WRITE", STATUS="NEW")
- DO i = 1, len_trim(str)
- CALL fputc(fd, str(i:i))
- END DO
- CLOSE(fd)
- END PROGRAM
-
- See also:
- :ref:`FPUT`,
- :ref:`FGET`,
- :ref:`FGETC` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/fraction.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/fraction.rst
deleted file mode 100644
index 4e25863..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/fraction.rst
+++ /dev/null
@@ -1,44 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: FRACTION, real number, fraction, floating point, fraction
-
-.. _fraction:
-
-FRACTION --- Fractional part of the model representation
-********************************************************
-
-.. function:: FRACTION(X)
-
- ``FRACTION(X)`` returns the fractional part of the model
- representation of ``X``.
-
- :param X:
- The type of the argument shall be a ``REAL``.
-
- :return:
- The return value is of the same type and kind as the argument.
- The fractional part of the model representation of ``X`` is returned;
- it is ``X * RADIX(X)**(-EXPONENT(X))``.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- Y = FRACTION(X)
-
- Example:
- .. code-block:: fortran
-
- program test_fraction
- real :: x
- x = 178.1387e-4
- print *, fraction(x), x * radix(x)**(-exponent(x))
- end program test_fraction \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/free.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/free.rst
deleted file mode 100644
index 9bf7f9a..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/free.rst
+++ /dev/null
@@ -1,43 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: FREE, pointer, cray
-
-.. _free:
-
-FREE --- Frees memory
-*********************
-
-.. function:: FREE(PTR)
-
- Frees memory previously allocated by ``MALLOC``. The ``FREE``
- intrinsic is an extension intended to be used with Cray pointers, and is
- provided in GNU Fortran to allow user to compile legacy code. For
- new code using Fortran 95 pointers, the memory de-allocation intrinsic is
- ``DEALLOCATE``.
-
- :param PTR:
- The type shall be ``INTEGER``. It represents the
- location of the memory that should be de-allocated.
-
- :return:
- None
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL FREE(PTR)
-
- Example:
- See ``MALLOC`` for an example.
-
- See also:
- :ref:`MALLOC` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/fseek.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/fseek.rst
deleted file mode 100644
index cddc4b8..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/fseek.rst
+++ /dev/null
@@ -1,72 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: FSEEK, file operation, seek, file operation, position
-
-.. _fseek:
-
-FSEEK --- Low level file positioning subroutine
-***********************************************
-
-.. function:: FSEEK(UNIT, OFFSET, WHENCE, STATUS)
-
- Moves :samp:`{UNIT}` to the specified :samp:`{OFFSET}`. If :samp:`{WHENCE}`
- is set to 0, the :samp:`{OFFSET}` is taken as an absolute value ``SEEK_SET``,
- if set to 1, :samp:`{OFFSET}` is taken to be relative to the current position
- ``SEEK_CUR``, and if set to 2 relative to the end of the file ``SEEK_END``.
- On error, :samp:`{STATUS}` is set to a nonzero value. If :samp:`{STATUS}` the seek
- fails silently.
-
- :param UNIT:
- Shall be a scalar of type ``INTEGER``.
-
- :param OFFSET:
- Shall be a scalar of type ``INTEGER``.
-
- :param WHENCE:
- Shall be a scalar of type ``INTEGER``.
- Its value shall be either 0, 1 or 2.
-
- :param STATUS:
- (Optional) shall be a scalar of type
- ``INTEGER(4)``.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL FSEEK(UNIT, OFFSET, WHENCE[, STATUS])
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_fseek
- INTEGER, PARAMETER :: SEEK_SET = 0, SEEK_CUR = 1, SEEK_END = 2
- INTEGER :: fd, offset, ierr
-
- ierr = 0
- offset = 5
- fd = 10
-
- OPEN(UNIT=fd, FILE="fseek.test")
- CALL FSEEK(fd, offset, SEEK_SET, ierr) ! move to OFFSET
- print *, FTELL(fd), ierr
-
- CALL FSEEK(fd, 0, SEEK_END, ierr) ! move to end
- print *, FTELL(fd), ierr
-
- CALL FSEEK(fd, 0, SEEK_SET, ierr) ! move to beginning
- print *, FTELL(fd), ierr
-
- CLOSE(UNIT=fd)
- END PROGRAM
-
- See also:
- :ref:`FTELL` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/fstat.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/fstat.rst
deleted file mode 100644
index dfd44f8..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/fstat.rst
+++ /dev/null
@@ -1,47 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _fstat:
-
-FSTAT --- Get file status
-*************************
-
-.. index:: FSTAT, file system, file status
-
-.. function:: FSTAT(UNIT, VALUES, STATUS)
-
- ``FSTAT`` is identical to :ref:`STAT`, except that information about an
- already opened file is obtained.
-
- :param UNIT:
- An open I/O unit number of type ``INTEGER``.
-
- :param VALUES:
- The type shall be ``INTEGER(4), DIMENSION(13)``.
-
- :param STATUS:
- (Optional) status flag of type ``INTEGER(4)``. Returns 0
- on success and a system specific error code otherwise.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL FSTAT(UNIT, VALUES [, STATUS])
- STATUS = FSTAT(UNIT, VALUES)
-
- Example:
- See :ref:`STAT` for an example.
-
- See also:
- To stat a link:
- :ref:`LSTAT`
- To stat a file:
- :ref:`STAT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ftell.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ftell.rst
deleted file mode 100644
index fcd0e26..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ftell.rst
+++ /dev/null
@@ -1,50 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: FTELL, file operation, position
-
-.. _ftell:
-
-FTELL --- Current stream position
-*********************************
-
-.. function:: FTELL(UNIT)
-
- Retrieves the current position within an open file.
-
- :param OFFSET:
- Shall of type ``INTEGER``.
-
- :param UNIT:
- Shall of type ``INTEGER``.
-
- :return:
- In either syntax, :samp:`{OFFSET}` is set to the current offset of unit
- number :samp:`{UNIT}`, or to -1 if the unit is not currently open.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL FTELL(UNIT, OFFSET)
- OFFSET = FTELL(UNIT)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_ftell
- INTEGER :: i
- OPEN(10, FILE="temp.dat")
- CALL ftell(10,i)
- WRITE(*,*) i
- END PROGRAM
-
- See also:
- :ref:`FSEEK` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/gamma.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/gamma.rst
deleted file mode 100644
index 5d58972..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/gamma.rst
+++ /dev/null
@@ -1,67 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _gamma:
-
-.. index:: GAMMA
-
-.. index:: DGAMMA
-
-.. index:: Gamma function
-
-.. index:: Factorial function
-
-GAMMA --- Gamma function
-************************
-
-.. function:: GAMMA(X)
-
- ``GAMMA(X)`` computes Gamma (\Gamma) of :samp:`{X}`. For positive,
- integer values of :samp:`{X}` the Gamma function simplifies to the factorial
- function \Gamma(x)=(x-1)!.
-
- :param X:
- Shall be of type ``REAL`` and neither zero
- nor a negative integer.
-
- :return:
- The return value is of type ``REAL`` of the same kind as :samp:`{X}`.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- X = GAMMA(X)
-
- Example:
- .. code-block:: fortran
-
- program test_gamma
- real :: x = 1.0
- x = gamma(x) ! returns 1.0
- end program test_gamma
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``DGAMMA(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension
-
- See also:
- Logarithm of the Gamma function:
- :ref:`LOG_GAMMA` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/gerror.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/gerror.rst
deleted file mode 100644
index dedbef7..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/gerror.rst
+++ /dev/null
@@ -1,43 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: GERROR, system, error handling
-
-.. _gerror:
-
-GERROR --- Get last system error message
-****************************************
-
-.. function:: GERROR(RESULT)
-
- Returns the system error message corresponding to the last system error.
- This resembles the functionality of ``strerror(3)`` in C.
-
- :param RESULT:
- Shall be of type ``CHARACTER`` and of default kind.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL GERROR(RESULT)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_gerror
- CHARACTER(len=100) :: msg
- CALL gerror(msg)
- WRITE(*,*) msg
- END PROGRAM
-
- See also:
- :ref:`IERRNO`,
- :ref:`PERROR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/getarg.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/getarg.rst
deleted file mode 100644
index 348c03a..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/getarg.rst
+++ /dev/null
@@ -1,64 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: GETARG, command-line arguments, arguments, to program
-
-.. _getarg:
-
-GETARG --- Get command line arguments
-*************************************
-
-.. function:: GETARG(POS, VALUE)
-
- Retrieve the :samp:`{POS}` -th argument that was passed on the
- command line when the containing program was invoked.
-
- :param POS:
- Shall be of type ``INTEGER`` and not wider than
- the default integer kind; :samp:`{POS}` \geq 0
-
- :param VALUE:
- Shall be of type ``CHARACTER`` and of default
- kind.
-
- :return:
- After ``GETARG`` returns, the :samp:`{VALUE}` argument holds the
- :samp:`{POS}` th command line argument. If :samp:`{VALUE}` cannot hold the
- argument, it is truncated to fit the length of :samp:`{VALUE}`. If there are
- less than :samp:`{POS}` arguments specified at the command line, :samp:`{VALUE}`
- will be filled with blanks. If :samp:`{POS}` = 0, :samp:`{VALUE}` is set
- to the name of the program (on systems that support this feature).
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL GETARG(POS, VALUE)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_getarg
- INTEGER :: i
- CHARACTER(len=32) :: arg
-
- DO i = 1, iargc()
- CALL getarg(i, arg)
- WRITE (*,*) arg
- END DO
- END PROGRAM
-
- See also:
- GNU Fortran 77 compatibility function:
- :ref:`IARGC`
- Fortran 2003 functions and subroutines:
- :ref:`GET_COMMAND`,
- :ref:`GET_COMMAND_ARGUMENT`,
- :ref:`COMMAND_ARGUMENT_COUNT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/getcommand.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/getcommand.rst
deleted file mode 100644
index 9c95999..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/getcommand.rst
+++ /dev/null
@@ -1,58 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: GET_COMMAND, command-line arguments, arguments, to program
-
-.. _get_command:
-
-GET_COMMAND --- Get the entire command line
-*******************************************
-
-.. function:: GET_COMMAND(COMMAND, LENGTH, STATUS)
-
- Retrieve the entire command line that was used to invoke the program.
-
- :param COMMAND:
- (Optional) shall be of type ``CHARACTER`` and
- of default kind.
-
- :param LENGTH:
- (Optional) Shall be of type ``INTEGER`` and of
- default kind.
-
- :param STATUS:
- (Optional) Shall be of type ``INTEGER`` and of
- default kind.
-
- :return:
- If :samp:`{COMMAND}` is present, stores the entire command line that was used
- to invoke the program in :samp:`{COMMAND}`. If :samp:`{LENGTH}` is present, it is
- assigned the length of the command line. If :samp:`{STATUS}` is present, it
- is assigned 0 upon success of the command, -1 if :samp:`{COMMAND}` is too
- short to store the command line, or a positive value in case of an error.
-
- Standard:
- Fortran 2003 and later
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL GET_COMMAND([COMMAND, LENGTH, STATUS])
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_get_command
- CHARACTER(len=255) :: cmd
- CALL get_command(cmd)
- WRITE (*,*) TRIM(cmd)
- END PROGRAM
-
- See also:
- :ref:`GET_COMMAND_ARGUMENT`,
- :ref:`COMMAND_ARGUMENT_COUNT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/getcommandargument.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/getcommandargument.rst
deleted file mode 100644
index 57c7d56..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/getcommandargument.rst
+++ /dev/null
@@ -1,76 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: GET_COMMAND_ARGUMENT, command-line arguments, arguments, to program
-
-.. _get_command_argument:
-
-GET_COMMAND_ARGUMENT --- Get command line arguments
-***************************************************
-
-.. function:: GET_COMMAND_ARGUMENT(NUMBER , VALUE, LENGTH, STATUS)
-
- Retrieve the :samp:`{NUMBER}` -th argument that was passed on the
- command line when the containing program was invoked.
-
- :param NUMBER:
- Shall be a scalar of type ``INTEGER`` and of
- default kind, :samp:`{NUMBER}` \geq 0
-
- :param VALUE:
- (Optional) Shall be a scalar of type ``CHARACTER``
- and of default kind.
-
- :param LENGTH:
- (Optional) Shall be a scalar of type ``INTEGER``
- and of default kind.
-
- :param STATUS:
- (Optional) Shall be a scalar of type ``INTEGER``
- and of default kind.
-
- :return:
- After ``GET_COMMAND_ARGUMENT`` returns, the :samp:`{VALUE}` argument holds the
- :samp:`{NUMBER}` -th command line argument. If :samp:`{VALUE}` cannot hold the argument, it is
- truncated to fit the length of :samp:`{VALUE}`. If there are less than :samp:`{NUMBER}`
- arguments specified at the command line, :samp:`{VALUE}` will be filled with blanks.
- If :samp:`{NUMBER}` = 0, :samp:`{VALUE}` is set to the name of the program (on
- systems that support this feature). The :samp:`{LENGTH}` argument contains the
- length of the :samp:`{NUMBER}` -th command line argument. If the argument retrieval
- fails, :samp:`{STATUS}` is a positive number; if :samp:`{VALUE}` contains a truncated
- command line argument, :samp:`{STATUS}` is -1; and otherwise the :samp:`{STATUS}` is
- zero.
-
- Standard:
- Fortran 2003 and later
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL GET_COMMAND_ARGUMENT(NUMBER [, VALUE, LENGTH, STATUS])
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_get_command_argument
- INTEGER :: i
- CHARACTER(len=32) :: arg
-
- i = 0
- DO
- CALL get_command_argument(i, arg)
- IF (LEN_TRIM(arg) == 0) EXIT
-
- WRITE (*,*) TRIM(arg)
- i = i+1
- END DO
- END PROGRAM
-
- See also:
- :ref:`GET_COMMAND`,
- :ref:`COMMAND_ARGUMENT_COUNT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/getcwd.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/getcwd.rst
deleted file mode 100644
index 2c22602..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/getcwd.rst
+++ /dev/null
@@ -1,46 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: GETCWD, system, working directory
-
-.. _getcwd:
-
-GETCWD --- Get current working directory
-****************************************
-
-.. function:: GETCWD(C)
-
- Get current working directory.
-
- :param C:
- The type shall be ``CHARACTER`` and of default kind.
-
- :param STATUS:
- (Optional) status flag. Returns 0 on success,
- a system specific and nonzero error code otherwise.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL GETCWD(C [, STATUS])
- STATUS = GETCWD(C)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_getcwd
- CHARACTER(len=255) :: cwd
- CALL getcwd(cwd)
- WRITE(*,*) TRIM(cwd)
- END PROGRAM
-
- See also:
- :ref:`CHDIR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/getenv.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/getenv.rst
deleted file mode 100644
index 706d48a..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/getenv.rst
+++ /dev/null
@@ -1,49 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: GETENV, environment variable
-
-.. _getenv:
-
-GETENV --- Get an environmental variable
-****************************************
-
-.. function:: GETENV(NAME, VALUE)
-
- Get the :samp:`{VALUE}` of the environmental variable :samp:`{NAME}`.
-
- :param NAME:
- Shall be of type ``CHARACTER`` and of default kind.
-
- :param VALUE:
- Shall be of type ``CHARACTER`` and of default kind.
-
- :return:
- Stores the value of :samp:`{NAME}` in :samp:`{VALUE}`. If :samp:`{VALUE}` is
- not large enough to hold the data, it is truncated. If :samp:`{NAME}`
- is not set, :samp:`{VALUE}` will be filled with blanks.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL GETENV(NAME, VALUE)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_getenv
- CHARACTER(len=255) :: homedir
- CALL getenv("HOME", homedir)
- WRITE (*,*) TRIM(homedir)
- END PROGRAM
-
- See also:
- :ref:`GET_ENVIRONMENT_VARIABLE` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst
deleted file mode 100644
index 22fec7e..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst
+++ /dev/null
@@ -1,68 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: GET_ENVIRONMENT_VARIABLE, environment variable
-
-.. _get_environment_variable:
-
-GET_ENVIRONMENT_VARIABLE --- Get an environmental variable
-**********************************************************
-
-.. function:: GET_ENVIRONMENT_VARIABLE(NAME, VALUE, LENGTH, STATUS, TRIM_NAME)
-
- Get the :samp:`{VALUE}` of the environmental variable :samp:`{NAME}`.
-
- :param NAME:
- Shall be a scalar of type ``CHARACTER``
- and of default kind.
-
- :param VALUE:
- (Optional) Shall be a scalar of type ``CHARACTER``
- and of default kind.
-
- :param LENGTH:
- (Optional) Shall be a scalar of type ``INTEGER``
- and of default kind.
-
- :param STATUS:
- (Optional) Shall be a scalar of type ``INTEGER``
- and of default kind.
-
- :param TRIM_NAME:
- (Optional) Shall be a scalar of type ``LOGICAL``
- and of default kind.
-
- :return:
- Stores the value of :samp:`{NAME}` in :samp:`{VALUE}`. If :samp:`{VALUE}` is
- not large enough to hold the data, it is truncated. If :samp:`{NAME}`
- is not set, :samp:`{VALUE}` will be filled with blanks. Argument :samp:`{LENGTH}`
- contains the length needed for storing the environment variable :samp:`{NAME}`
- or zero if it is not present. :samp:`{STATUS}` is -1 if :samp:`{VALUE}` is present
- but too short for the environment variable; it is 1 if the environment
- variable does not exist and 2 if the processor does not support environment
- variables; in all other cases :samp:`{STATUS}` is zero. If :samp:`{TRIM_NAME}` is
- present with the value ``.FALSE.``, the trailing blanks in :samp:`{NAME}`
- are significant; otherwise they are not part of the environment variable
- name.
-
- Standard:
- Fortran 2003 and later
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL GET_ENVIRONMENT_VARIABLE(NAME[, VALUE, LENGTH, STATUS, TRIM_NAME)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_getenv
- CHARACTER(len=255) :: homedir
- CALL get_environment_variable("HOME", homedir)
- WRITE (*,*) TRIM(homedir)
- END PROGRAM \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/getgid.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/getgid.rst
deleted file mode 100644
index 07fc8e4..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/getgid.rst
+++ /dev/null
@@ -1,37 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: GETGID, system, group ID
-
-.. _getgid:
-
-GETGID --- Group ID function
-****************************
-
-.. function:: GETGID()
-
- Returns the numerical group ID of the current process.
-
- :return:
- The return value of ``GETGID`` is an ``INTEGER`` of the default
- kind.
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = GETGID()
-
- Example:
- See ``GETPID`` for an example.
-
- See also:
- :ref:`GETPID`,
- :ref:`GETUID` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/getlog.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/getlog.rst
deleted file mode 100644
index 888f8bb..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/getlog.rst
+++ /dev/null
@@ -1,47 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: GETLOG, system, login name, login name
-
-.. _getlog:
-
-GETLOG --- Get login name
-*************************
-
-.. function:: GETLOG(C)
-
- Gets the username under which the program is running.
-
- :param C:
- Shall be of type ``CHARACTER`` and of default kind.
-
- :return:
- Stores the current user name in :samp:`{C}`. (On systems where POSIX
- functions ``geteuid`` and ``getpwuid`` are not available, and
- the ``getlogin`` function is not implemented either, this will
- return a blank string.)
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL GETLOG(C)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM TEST_GETLOG
- CHARACTER(32) :: login
- CALL GETLOG(login)
- WRITE(*,*) login
- END PROGRAM
-
- See also:
- :ref:`GETUID` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/getpid.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/getpid.rst
deleted file mode 100644
index a9a4d83..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/getpid.rst
+++ /dev/null
@@ -1,43 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: GETPID, system, process ID, process ID
-
-.. _getpid:
-
-GETPID --- Process ID function
-******************************
-
-.. function:: GETPID()
-
- Returns the numerical process identifier of the current process.
-
- :return:
- The return value of ``GETPID`` is an ``INTEGER`` of the default
- kind.
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = GETPID()
-
- Example:
- .. code-block:: fortran
-
- program info
- print *, "The current process ID is ", getpid()
- print *, "Your numerical user ID is ", getuid()
- print *, "Your numerical group ID is ", getgid()
- end program info
-
- See also:
- :ref:`GETGID`,
- :ref:`GETUID` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/getuid.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/getuid.rst
deleted file mode 100644
index ab37b3f..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/getuid.rst
+++ /dev/null
@@ -1,37 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: GETUID, system, user ID, user id
-
-.. _getuid:
-
-GETUID --- User ID function
-***************************
-
-.. function:: GETUID()
-
- Returns the numerical user ID of the current process.
-
- :return:
- The return value of ``GETUID`` is an ``INTEGER`` of the default
- kind.
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = GETUID()
-
- Example:
- See ``GETPID`` for an example.
-
- See also:
- :ref:`GETPID`,
- :ref:`GETLOG` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/gmtime.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/gmtime.rst
deleted file mode 100644
index 35b24c4..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/gmtime.rst
+++ /dev/null
@@ -1,47 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: GMTIME, time, conversion to GMT info
-
-.. _gmtime:
-
-GMTIME --- Convert time to GMT info
-***********************************
-
-.. function:: GMTIME(TIME, VALUES)
-
- Given a system time value :samp:`{TIME}` (as provided by the :ref:`TIME`
- intrinsic), fills :samp:`{VALUES}` with values extracted from it appropriate
- to the UTC time zone (Universal Coordinated Time, also known in some
- countries as GMT, Greenwich Mean Time), using ``gmtime(3)``.
-
- :param TIME:
- An ``INTEGER`` scalar expression
- corresponding to a system time, with ``INTENT(IN)``.
-
- :param VALUES:
- A default ``INTEGER`` array with 9 elements,
- with ``INTENT(OUT)``.
-
- :return:
- The elements of :samp:`{VALUES}` are assigned as follows:
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL GMTIME(TIME, VALUES)
-
- See also:
- :ref:`DATE_AND_TIME`,
- :ref:`CTIME`,
- :ref:`LTIME`,
- :ref:`TIME`,
- :ref:`TIME8` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/hostnm.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/hostnm.rst
deleted file mode 100644
index 319f094..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/hostnm.rst
+++ /dev/null
@@ -1,38 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: HOSTNM, system, host name
-
-.. _hostnm:
-
-HOSTNM --- Get system host name
-*******************************
-
-.. function:: HOSTNM(NAME)
-
- Retrieves the host name of the system on which the program is running.
-
- :param C:
- Shall of type ``CHARACTER`` and of default kind.
-
- :param STATUS:
- (Optional) status flag of type ``INTEGER``.
- Returns 0 on success, or a system specific error code otherwise.
-
- :return:
- In either syntax, :samp:`{NAME}` is set to the current hostname if it can
- be obtained, or to a blank string otherwise.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL HOSTNM(C [, STATUS])
- STATUS = HOSTNM(NAME) \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/huge.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/huge.rst
deleted file mode 100644
index 6f7fec8..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/huge.rst
+++ /dev/null
@@ -1,41 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: HUGE, limits, largest number, model representation, largest number
-
-.. _huge:
-
-HUGE --- Largest number of a kind
-*********************************
-
-.. function:: HUGE(X)
-
- ``HUGE(X)`` returns the largest number that is not an infinity in
- the model of the type of ``X``.
-
- :param X:
- Shall be of type ``REAL`` or ``INTEGER``.
-
- :return:
- The return value is of the same type and kind as :samp:`{X}`
-
- Standard:
- Fortran 90 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = HUGE(X)
-
- Example:
- .. code-block:: fortran
-
- program test_huge_tiny
- print *, huge(0), huge(0.0), huge(0.0d0)
- print *, tiny(0.0), tiny(0.0d0)
- end program test_huge_tiny \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/hypot.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/hypot.rst
deleted file mode 100644
index f567cc1..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/hypot.rst
+++ /dev/null
@@ -1,45 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: HYPOT, Euclidean distance
-
-.. _hypot:
-
-HYPOT --- Euclidean distance function
-*************************************
-
-.. function:: HYPOT(X,Y)
-
- ``HYPOT(X,Y)`` is the Euclidean distance function. It is equal to
- \sqrt{X^2 + Y^2}, without undue underflow or overflow.
-
- :param X:
- The type shall be ``REAL``.
-
- :param Y:
- The type and kind type parameter shall be the same as
- :samp:`{X}`.
-
- :return:
- The return value has the same type and kind type parameter as :samp:`{X}`.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = HYPOT(X, Y)
-
- Example:
- .. code-block:: fortran
-
- program test_hypot
- real(4) :: x = 1.e0_4, y = 0.5e0_4
- x = hypot(x,y)
- end program test_hypot \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/iachar.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/iachar.rst
deleted file mode 100644
index edc94e6..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/iachar.rst
+++ /dev/null
@@ -1,55 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: IACHAR, ASCII collating sequence, collating sequence, ASCII, conversion, to integer
-
-.. _iachar:
-
-IACHAR --- Code in ASCII collating sequence
-********************************************
-
-.. function:: IACHAR(C)
-
- ``IACHAR(C)`` returns the code for the ASCII character
- in the first character position of ``C``.
-
- :param C:
- Shall be a scalar ``CHARACTER``, with ``INTENT(IN)``
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``INTEGER`` and of kind :samp:`{KIND}`. If
- :samp:`{KIND}` is absent, the return value is of default integer kind.
-
- Standard:
- Fortran 95 and later, with :samp:`{KIND}` argument Fortran 2003 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = IACHAR(C [, KIND])
-
- Example:
- .. code-block:: fortran
-
- program test_iachar
- integer i
- i = iachar(' ')
- end program test_iachar
-
- Note:
- See :ref:`ICHAR` for a discussion of converting between numerical values
- and formatted string representations.
-
- See also:
- :ref:`ACHAR`,
- :ref:`CHAR`,
- :ref:`ICHAR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/iall.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/iall.rst
deleted file mode 100644
index 2f6a41d..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/iall.rst
+++ /dev/null
@@ -1,61 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: IALL, array, AND, bits, AND of array elements
-
-.. _iall:
-
-IALL --- Bitwise AND of array elements
-**************************************
-
-.. function:: IALL(ARRAY, DIM, MASK)
-
- Reduces with bitwise AND the elements of :samp:`{ARRAY}` along dimension :samp:`{DIM}`
- if the corresponding element in :samp:`{MASK}` is ``TRUE``.
-
- :param ARRAY:
- Shall be an array of type ``INTEGER``
-
- :param DIM:
- (Optional) shall be a scalar of type
- ``INTEGER`` with a value in the range from 1 to n, where n
- equals the rank of :samp:`{ARRAY}`.
-
- :param MASK:
- (Optional) shall be of type ``LOGICAL``
- and either be a scalar or an array of the same shape as :samp:`{ARRAY}`.
-
- :return:
- The result is of the same type as :samp:`{ARRAY}`.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = IALL(ARRAY[, MASK])
- RESULT = IALL(ARRAY, DIM[, MASK])
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_iall
- INTEGER(1) :: a(2)
-
- a(1) = b'00100100'
- a(2) = b'01101010'
-
- ! prints 00100000
- PRINT '(b8.8)', IALL(a)
- END PROGRAM
-
- See also:
- :ref:`IANY`,
- :ref:`IPARITY`,
- :ref:`IAND` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/iand.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/iand.rst
deleted file mode 100644
index 804ce5e..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/iand.rst
+++ /dev/null
@@ -1,99 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _iand:
-
-.. index:: IAND
-
-.. index:: BIAND
-
-.. index:: IIAND
-
-.. index:: JIAND
-
-.. index:: KIAND
-
-.. index:: bitwise logical and
-
-.. index:: logical and, bitwise
-
-IAND --- Bitwise logical and
-****************************
-
-.. function:: IAND(I, J)
-
- Bitwise logical ``AND``.
-
- :param I:
- The type shall be ``INTEGER`` or a boz-literal-constant.
-
- :param J:
- The type shall be ``INTEGER`` with the same
- kind type parameter as :samp:`{I}` or a boz-literal-constant.
- :samp:`{I}` and :samp:`{J}` shall not both be boz-literal-constants.
-
- :return:
- The return type is ``INTEGER`` with the kind type parameter of the
- arguments.
- A boz-literal-constant is converted to an ``INTEGER`` with the kind
- type parameter of the other argument as-if a call to :ref:`INT` occurred.
-
- Standard:
- Fortran 90 and later, with boz-literal-constant Fortran 2008 and later, has overloads that are GNU extensions
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = IAND(I, J)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_iand
- INTEGER :: a, b
- DATA a / Z'F' /, b / Z'3' /
- WRITE (*,*) IAND(a, b)
- END PROGRAM
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``IAND(A)``
- - ``INTEGER A``
- - ``INTEGER``
- - Fortran 90 and later
- * - ``BIAND(A)``
- - ``INTEGER(1) A``
- - ``INTEGER(1)``
- - GNU extension
- * - ``IIAND(A)``
- - ``INTEGER(2) A``
- - ``INTEGER(2)``
- - GNU extension
- * - ``JIAND(A)``
- - ``INTEGER(4) A``
- - ``INTEGER(4)``
- - GNU extension
- * - ``KIAND(A)``
- - ``INTEGER(8) A``
- - ``INTEGER(8)``
- - GNU extension
-
- See also:
- :ref:`IOR`,
- :ref:`IEOR`,
- :ref:`IBITS`,
- :ref:`IBSET`,
- :ref:`IBCLR`,
- :ref:`NOT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/iany.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/iany.rst
deleted file mode 100644
index 523b04e..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/iany.rst
+++ /dev/null
@@ -1,61 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: IANY, array, OR, bits, OR of array elements
-
-.. _iany:
-
-IANY --- Bitwise OR of array elements
-*************************************
-
-.. function:: IANY(ARRAY, DIM, MASK)
-
- Reduces with bitwise OR (inclusive or) the elements of :samp:`{ARRAY}` along
- dimension :samp:`{DIM}` if the corresponding element in :samp:`{MASK}` is ``TRUE``.
-
- :param ARRAY:
- Shall be an array of type ``INTEGER``
-
- :param DIM:
- (Optional) shall be a scalar of type
- ``INTEGER`` with a value in the range from 1 to n, where n
- equals the rank of :samp:`{ARRAY}`.
-
- :param MASK:
- (Optional) shall be of type ``LOGICAL``
- and either be a scalar or an array of the same shape as :samp:`{ARRAY}`.
-
- :return:
- The result is of the same type as :samp:`{ARRAY}`.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = IANY(ARRAY[, MASK])
- RESULT = IANY(ARRAY, DIM[, MASK])
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_iany
- INTEGER(1) :: a(2)
-
- a(1) = b'00100100'
- a(2) = b'01101010'
-
- ! prints 01101110
- PRINT '(b8.8)', IANY(a)
- END PROGRAM
-
- See also:
- :ref:`IPARITY`,
- :ref:`IALL`,
- :ref:`IOR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/iargc.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/iargc.rst
deleted file mode 100644
index 6242b13..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/iargc.rst
+++ /dev/null
@@ -1,44 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _iargc:
-
-IARGC --- Get the number of command line arguments
-**************************************************
-
-.. index:: IARGC, command-line arguments, command-line arguments, number of, arguments, to program
-
-.. function:: IARGC()
-
- ``IARGC`` returns the number of arguments passed on the
- command line when the containing program was invoked.
-
- :return:
- The number of command line arguments, type ``INTEGER(4)``.
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = IARGC()
-
- Arguments:
- None
-
- Example:
- See :ref:`GETARG`
-
- See also:
- GNU Fortran 77 compatibility subroutine:
- :ref:`GETARG`
- Fortran 2003 functions and subroutines:
- :ref:`GET_COMMAND`,
- :ref:`GET_COMMAND_ARGUMENT`,
- :ref:`COMMAND_ARGUMENT_COUNT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ibclr.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ibclr.rst
deleted file mode 100644
index 44be678..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ibclr.rst
+++ /dev/null
@@ -1,87 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _ibclr:
-
-.. index:: IBCLR
-
-.. index:: BBCLR
-
-.. index:: IIBCLR
-
-.. index:: JIBCLR
-
-.. index:: KIBCLR
-
-.. index:: bits, unset
-
-.. index:: bits, clear
-
-IBCLR --- Clear bit
-*******************
-
-.. function:: IBCLR()
-
- ``IBCLR`` returns the value of :samp:`{I}` with the bit at position
- :samp:`{POS}` set to zero.
-
- :param I:
- The type shall be ``INTEGER``.
-
- :param POS:
- The type shall be ``INTEGER``.
-
- :return:
- The return value is of type ``INTEGER`` and of the same kind as
- :samp:`{I}`.
-
- Standard:
- Fortran 90 and later, has overloads that are GNU extensions
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = IBCLR(I, POS)
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``IBCLR(A)``
- - ``INTEGER A``
- - ``INTEGER``
- - Fortran 90 and later
- * - ``BBCLR(A)``
- - ``INTEGER(1) A``
- - ``INTEGER(1)``
- - GNU extension
- * - ``IIBCLR(A)``
- - ``INTEGER(2) A``
- - ``INTEGER(2)``
- - GNU extension
- * - ``JIBCLR(A)``
- - ``INTEGER(4) A``
- - ``INTEGER(4)``
- - GNU extension
- * - ``KIBCLR(A)``
- - ``INTEGER(8) A``
- - ``INTEGER(8)``
- - GNU extension
-
- See also:
- :ref:`IBITS`,
- :ref:`IBSET`,
- :ref:`IAND`,
- :ref:`IOR`,
- :ref:`IEOR`,
- :ref:`MVBITS` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ibits.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ibits.rst
deleted file mode 100644
index 9c14634..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ibits.rst
+++ /dev/null
@@ -1,93 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _ibits:
-
-.. index:: IBITS
-
-.. index:: BBITS
-
-.. index:: IIBITS
-
-.. index:: JIBITS
-
-.. index:: KIBITS
-
-.. index:: bits, get
-
-.. index:: bits, extract
-
-IBITS --- Bit extraction
-************************
-
-.. function:: IBITS()
-
- ``IBITS`` extracts a field of length :samp:`{LEN}` from :samp:`{I}`,
- starting from bit position :samp:`{POS}` and extending left for :samp:`{LEN}`
- bits. The result is right-justified and the remaining bits are
- zeroed. The value of ``POS+LEN`` must be less than or equal to the
- value ``BIT_SIZE(I)``.
-
- :param I:
- The type shall be ``INTEGER``.
-
- :param POS:
- The type shall be ``INTEGER``.
-
- :param LEN:
- The type shall be ``INTEGER``.
-
- :return:
- The return value is of type ``INTEGER`` and of the same kind as
- :samp:`{I}`.
-
- Standard:
- Fortran 90 and later, has overloads that are GNU extensions
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = IBITS(I, POS, LEN)
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``IBITS(A)``
- - ``INTEGER A``
- - ``INTEGER``
- - Fortran 90 and later
- * - ``BBITS(A)``
- - ``INTEGER(1) A``
- - ``INTEGER(1)``
- - GNU extension
- * - ``IIBITS(A)``
- - ``INTEGER(2) A``
- - ``INTEGER(2)``
- - GNU extension
- * - ``JIBITS(A)``
- - ``INTEGER(4) A``
- - ``INTEGER(4)``
- - GNU extension
- * - ``KIBITS(A)``
- - ``INTEGER(8) A``
- - ``INTEGER(8)``
- - GNU extension
-
- See also:
- :ref:`BIT_SIZE`,
- :ref:`IBCLR`,
- :ref:`IBSET`,
- :ref:`IAND`,
- :ref:`IOR`,
- :ref:`IEOR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ibset.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ibset.rst
deleted file mode 100644
index 502947f..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ibset.rst
+++ /dev/null
@@ -1,85 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _ibset:
-
-.. index:: IBSET
-
-.. index:: BBSET
-
-.. index:: IIBSET
-
-.. index:: JIBSET
-
-.. index:: KIBSET
-
-.. index:: bits, set
-
-IBSET --- Set bit
-*****************
-
-.. function:: IBSET()
-
- ``IBSET`` returns the value of :samp:`{I}` with the bit at position
- :samp:`{POS}` set to one.
-
- :param I:
- The type shall be ``INTEGER``.
-
- :param POS:
- The type shall be ``INTEGER``.
-
- :return:
- The return value is of type ``INTEGER`` and of the same kind as
- :samp:`{I}`.
-
- Standard:
- Fortran 90 and later, has overloads that are GNU extensions
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = IBSET(I, POS)
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``IBSET(A)``
- - ``INTEGER A``
- - ``INTEGER``
- - Fortran 90 and later
- * - ``BBSET(A)``
- - ``INTEGER(1) A``
- - ``INTEGER(1)``
- - GNU extension
- * - ``IIBSET(A)``
- - ``INTEGER(2) A``
- - ``INTEGER(2)``
- - GNU extension
- * - ``JIBSET(A)``
- - ``INTEGER(4) A``
- - ``INTEGER(4)``
- - GNU extension
- * - ``KIBSET(A)``
- - ``INTEGER(8) A``
- - ``INTEGER(8)``
- - GNU extension
-
- See also:
- :ref:`IBCLR`,
- :ref:`IBITS`,
- :ref:`IAND`,
- :ref:`IOR`,
- :ref:`IEOR`,
- :ref:`MVBITS` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ichar.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ichar.rst
deleted file mode 100644
index 3ff689e..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ichar.rst
+++ /dev/null
@@ -1,93 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _ichar:
-
-.. index:: ICHAR
-
-.. index:: conversion, to integer
-
-ICHAR --- Character-to-integer conversion function
-**************************************************
-
-.. function:: ICHAR(C)
-
- ``ICHAR(C)`` returns the code for the character in the first character
- position of ``C`` in the system's native character set.
- The correspondence between characters and their codes is not necessarily
- the same across different GNU Fortran implementations.
-
- :param C:
- Shall be a scalar ``CHARACTER``, with ``INTENT(IN)``
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``INTEGER`` and of kind :samp:`{KIND}`. If
- :samp:`{KIND}` is absent, the return value is of default integer kind.
-
- Standard:
- Fortran 77 and later, with :samp:`{KIND}` argument Fortran 2003 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ICHAR(C [, KIND])
-
- Example:
- .. code-block:: fortran
-
- program test_ichar
- integer i
- i = ichar(' ')
- end program test_ichar
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``ICHAR(C)``
- - ``CHARACTER C``
- - ``INTEGER(4)``
- - Fortran 77 and later
-
- Note:
- No intrinsic exists to convert between a numeric value and a formatted
- character string representation -- for instance, given the
- ``CHARACTER`` value ``'154'``, obtaining an ``INTEGER`` or
- ``REAL`` value with the value 154, or vice versa. Instead, this
- functionality is provided by internal-file I/O, as in the following
- example:
-
- .. code-block:: fortran
-
- program read_val
- integer value
- character(len=10) string, string2
- string = '154'
-
- ! Convert a string to a numeric value
- read (string,'(I10)') value
- print *, value
-
- ! Convert a value to a formatted string
- write (string2,'(I10)') value
- print *, string2
- end program read_val
-
- See also:
- :ref:`ACHAR`,
- :ref:`CHAR`,
- :ref:`IACHAR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/idate.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/idate.rst
deleted file mode 100644
index 798e115..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/idate.rst
+++ /dev/null
@@ -1,50 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: IDATE, date, current, current date
-
-.. _idate:
-
-IDATE --- Get current local time subroutine (day/month/year)
-*************************************************************
-
-.. function:: IDATE(VALUES)
-
- ``IDATE(VALUES)`` Fills :samp:`{VALUES}` with the numerical values at the
- current local time. The day (in the range 1-31), month (in the range 1-12),
- and year appear in elements 1, 2, and 3 of :samp:`{VALUES}`, respectively.
- The year has four significant digits.
-
- :param VALUES:
- The type shall be ``INTEGER, DIMENSION(3)`` and
- the kind shall be the default integer kind.
-
- :return:
- Does not return anything.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL IDATE(VALUES)
-
- Example:
- .. code-block:: fortran
-
- program test_idate
- integer, dimension(3) :: tarray
- call idate(tarray)
- print *, tarray(1)
- print *, tarray(2)
- print *, tarray(3)
- end program test_idate
-
- See also:
- :ref:`DATE_AND_TIME` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ieor.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ieor.rst
deleted file mode 100644
index 79d6a3d..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ieor.rst
+++ /dev/null
@@ -1,91 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _ieor:
-
-.. index:: IEOR
-
-.. index:: BIEOR
-
-.. index:: IIEOR
-
-.. index:: JIEOR
-
-.. index:: KIEOR
-
-.. index:: bitwise logical exclusive or
-
-.. index:: logical exclusive or, bitwise
-
-IEOR --- Bitwise logical exclusive or
-*************************************
-
-.. function:: IEOR()
-
- ``IEOR`` returns the bitwise Boolean exclusive-OR of :samp:`{I}` and
- :samp:`{J}`.
-
- :param I:
- The type shall be ``INTEGER`` or a boz-literal-constant.
-
- :param J:
- The type shall be ``INTEGER`` with the same
- kind type parameter as :samp:`{I}` or a boz-literal-constant.
- :samp:`{I}` and :samp:`{J}` shall not both be boz-literal-constants.
-
- :return:
- The return type is ``INTEGER`` with the kind type parameter of the
- arguments.
- A boz-literal-constant is converted to an ``INTEGER`` with the kind
- type parameter of the other argument as-if a call to :ref:`INT` occurred.
-
- Standard:
- Fortran 90 and later, with boz-literal-constant Fortran 2008 and later, has overloads that are GNU extensions
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = IEOR(I, J)
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``IEOR(A)``
- - ``INTEGER A``
- - ``INTEGER``
- - Fortran 90 and later
- * - ``BIEOR(A)``
- - ``INTEGER(1) A``
- - ``INTEGER(1)``
- - GNU extension
- * - ``IIEOR(A)``
- - ``INTEGER(2) A``
- - ``INTEGER(2)``
- - GNU extension
- * - ``JIEOR(A)``
- - ``INTEGER(4) A``
- - ``INTEGER(4)``
- - GNU extension
- * - ``KIEOR(A)``
- - ``INTEGER(8) A``
- - ``INTEGER(8)``
- - GNU extension
-
- See also:
- :ref:`IOR`,
- :ref:`IAND`,
- :ref:`IBITS`,
- :ref:`IBSET`,
- :ref:`IBCLR`,
- :ref:`NOT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ierrno.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ierrno.rst
deleted file mode 100644
index fbeff17..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ierrno.rst
+++ /dev/null
@@ -1,37 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: IERRNO, system, error handling
-
-.. _ierrno:
-
-IERRNO --- Get the last system error number
-*******************************************
-
-.. function:: IERRNO()
-
- Returns the last system error number, as given by the C ``errno``
- variable.
-
- :return:
- The return value is of type ``INTEGER`` and of the default integer
- kind.
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = IERRNO()
-
- Arguments:
- None
-
- See also:
- :ref:`PERROR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/imageindex.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/imageindex.rst
deleted file mode 100644
index 7f28957..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/imageindex.rst
+++ /dev/null
@@ -1,48 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: IMAGE_INDEX, coarray, IMAGE_INDEX, images, cosubscript to image index conversion
-
-.. _image_index:
-
-IMAGE_INDEX --- Function that converts a cosubscript to an image index
-**********************************************************************
-
-.. function:: IMAGE_INDEX(COARRAY, SUB)
-
- Returns the image index belonging to a cosubscript.
-
- :param COARRAY:
- Coarray of any type.
-
- :param SUB:
- default integer rank-1 array of a size equal to
- the corank of :samp:`{COARRAY}`.
-
- :return:
- Scalar default integer with the value of the image index which corresponds
- to the cosubscripts. For invalid cosubscripts the result is zero.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Inquiry function.
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = IMAGE_INDEX(COARRAY, SUB)
-
- Example:
- .. code-block:: fortran
-
- INTEGER :: array[2,-1:4,8,*]
- ! Writes 28 (or 0 if there are fewer than 28 images)
- WRITE (*,*) IMAGE_INDEX (array, [2,0,3,1])
-
- See also:
- :ref:`THIS_IMAGE`,
- :ref:`NUM_IMAGES` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/index.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/index.rst
deleted file mode 100644
index 969aa61..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/index.rst
+++ /dev/null
@@ -1,72 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _index-intrinsic:
-
-.. index:: INDEX
-
-.. index:: substring position
-
-.. index:: string, find substring
-
-INDEX --- Position of a substring within a string
-*************************************************
-
-.. function:: INDEX(STRING, SUBSTRING , BACK , KIND)
-
- Returns the position of the start of the first occurrence of string
- :samp:`{SUBSTRING}` as a substring in :samp:`{STRING}`, counting from one. If
- :samp:`{SUBSTRING}` is not present in :samp:`{STRING}`, zero is returned. If
- the :samp:`{BACK}` argument is present and true, the return value is the
- start of the last occurrence rather than the first.
-
- :param STRING:
- Shall be a scalar ``CHARACTER``, with
- ``INTENT(IN)``
-
- :param SUBSTRING:
- Shall be a scalar ``CHARACTER``, with
- ``INTENT(IN)``
-
- :param BACK:
- (Optional) Shall be a scalar ``LOGICAL``, with
- ``INTENT(IN)``
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``INTEGER`` and of kind :samp:`{KIND}`. If
- :samp:`{KIND}` is absent, the return value is of default integer kind.
-
- Standard:
- Fortran 77 and later, with :samp:`{KIND}` argument Fortran 2003 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = INDEX(STRING, SUBSTRING [, BACK [, KIND]])
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``INDEX(STRING,SUBSTRING)``
- - ``CHARACTER``
- - ``INTEGER(4)``
- - Fortran 77 and later
-
- See also:
- :ref:`SCAN`,
- :ref:`VERIFY` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/int.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/int.rst
deleted file mode 100644
index 43d2a56..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/int.rst
+++ /dev/null
@@ -1,76 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _int:
-
-.. index:: INT
-
-.. index:: IFIX
-
-.. index:: IDINT
-
-.. index:: conversion, to integer
-
-INT --- Convert to integer type
-*******************************
-
-.. function:: INT(A , KIND))
-
- Convert to integer type
-
- :param A:
- Shall be of type ``INTEGER``,
- ``REAL``, or ``COMPLEX`` or a boz-literal-constant.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- These functions return a ``INTEGER`` variable or array under
- the following rules:
-
- Standard:
- Fortran 77 and later, with boz-literal-constant Fortran 2008 and later.
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = INT(A [, KIND))
-
- Example:
- .. code-block:: fortran
-
- program test_int
- integer :: i = 42
- complex :: z = (-3.7, 1.0)
- print *, int(i)
- print *, int(z), int(z,8)
- end program
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``INT(A)``
- - ``REAL(4) A``
- - ``INTEGER``
- - Fortran 77 and later
- * - ``IFIX(A)``
- - ``REAL(4) A``
- - ``INTEGER``
- - Fortran 77 and later
- * - ``IDINT(A)``
- - ``REAL(8) A``
- - ``INTEGER``
- - Fortran 77 and later \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/int2.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/int2.rst
deleted file mode 100644
index e650dd1..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/int2.rst
+++ /dev/null
@@ -1,39 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: INT2, conversion, to integer
-
-.. _int2:
-
-INT2 --- Convert to 16-bit integer type
-***************************************
-
-.. function:: INT2(A)
-
- Convert to a ``KIND=2`` integer type. This is equivalent to the
- standard ``INT`` intrinsic with an optional argument of
- ``KIND=2``, and is only included for backwards compatibility.
-
- :param A:
- Shall be of type ``INTEGER``,
- ``REAL``, or ``COMPLEX``.
-
- :return:
- The return value is a ``INTEGER(2)`` variable.
-
- Standard:
- GNU extension
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = INT2(A)
-
- See also:
- :ref:`INT`,
- :ref:`INT8` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/int8.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/int8.rst
deleted file mode 100644
index cb061a5..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/int8.rst
+++ /dev/null
@@ -1,39 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: INT8, conversion, to integer
-
-.. _int8:
-
-INT8 --- Convert to 64-bit integer type
-***************************************
-
-.. function:: INT8(A)
-
- Convert to a ``KIND=8`` integer type. This is equivalent to the
- standard ``INT`` intrinsic with an optional argument of
- ``KIND=8``, and is only included for backwards compatibility.
-
- :param A:
- Shall be of type ``INTEGER``,
- ``REAL``, or ``COMPLEX``.
-
- :return:
- The return value is a ``INTEGER(8)`` variable.
-
- Standard:
- GNU extension
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = INT8(A)
-
- See also:
- :ref:`INT`,
- :ref:`INT2` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst
deleted file mode 100644
index 926e1b2..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst
+++ /dev/null
@@ -1,43 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _introduction-to-intrinsics:
-
-Introduction to intrinsic procedures
-************************************
-
-The intrinsic procedures provided by GNU Fortran include procedures required
-by the Fortran 95 and later supported standards, and a set of intrinsic
-procedures for backwards compatibility with G77. Any conflict between
-a description here and a description in the Fortran standards is
-unintentional, and the standard(s) should be considered authoritative.
-
-The enumeration of the ``KIND`` type parameter is processor defined in
-the Fortran 95 standard. GNU Fortran defines the default integer type and
-default real type by ``INTEGER(KIND=4)`` and ``REAL(KIND=4)``,
-respectively. The standard mandates that both data types shall have
-another kind, which have more precision. On typical target architectures
-supported by :command:`gfortran`, this kind type parameter is ``KIND=8``.
-Hence, ``REAL(KIND=8)`` and ``DOUBLE PRECISION`` are equivalent.
-In the description of generic intrinsic procedures, the kind type parameter
-will be specified by ``KIND=*``, and in the description of specific
-names for an intrinsic procedure the kind type parameter will be explicitly
-given (e.g., ``REAL(KIND=4)`` or ``REAL(KIND=8)``). Finally, for
-brevity the optional ``KIND=`` syntax will be omitted.
-
-Many of the intrinsic procedures take one or more optional arguments.
-This document follows the convention used in the Fortran 95 standard,
-and denotes such arguments by square brackets.
-
-GNU Fortran offers the :option:`-std=` command-line option,
-which can be used to restrict the set of intrinsic procedures to a
-given standard. By default, :command:`gfortran` sets the :option:`-std=gnu`
-option, and so all intrinsic procedures described here are accepted. There
-is one caveat. For a select group of intrinsic procedures, :command:`g77`
-implemented both a function and a subroutine. Both classes
-have been implemented in :command:`gfortran` for backwards compatibility
-with :command:`g77`. It is noted here that these functions and subroutines
-cannot be intermixed in a given subprogram. In the descriptions that follow,
-the applicable standard for each intrinsic procedure is noted. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ior.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ior.rst
deleted file mode 100644
index f210688..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ior.rst
+++ /dev/null
@@ -1,91 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _ior:
-
-.. index:: IOR
-
-.. index:: BIOR
-
-.. index:: IIOR
-
-.. index:: JIOR
-
-.. index:: KIOR
-
-.. index:: bitwise logical or
-
-.. index:: logical or, bitwise
-
-IOR --- Bitwise logical or
-**************************
-
-.. function:: IOR()
-
- ``IOR`` returns the bitwise Boolean inclusive-OR of :samp:`{I}` and
- :samp:`{J}`.
-
- :param I:
- The type shall be ``INTEGER`` or a boz-literal-constant.
-
- :param J:
- The type shall be ``INTEGER`` with the same
- kind type parameter as :samp:`{I}` or a boz-literal-constant.
- :samp:`{I}` and :samp:`{J}` shall not both be boz-literal-constants.
-
- :return:
- The return type is ``INTEGER`` with the kind type parameter of the
- arguments.
- A boz-literal-constant is converted to an ``INTEGER`` with the kind
- type parameter of the other argument as-if a call to :ref:`INT` occurred.
-
- Standard:
- Fortran 90 and later, with boz-literal-constant Fortran 2008 and later, has overloads that are GNU extensions
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = IOR(I, J)
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``IOR(A)``
- - ``INTEGER A``
- - ``INTEGER``
- - Fortran 90 and later
- * - ``BIOR(A)``
- - ``INTEGER(1) A``
- - ``INTEGER(1)``
- - GNU extension
- * - ``IIOR(A)``
- - ``INTEGER(2) A``
- - ``INTEGER(2)``
- - GNU extension
- * - ``JIOR(A)``
- - ``INTEGER(4) A``
- - ``INTEGER(4)``
- - GNU extension
- * - ``KIOR(A)``
- - ``INTEGER(8) A``
- - ``INTEGER(8)``
- - GNU extension
-
- See also:
- :ref:`IEOR`,
- :ref:`IAND`,
- :ref:`IBITS`,
- :ref:`IBSET`,
- :ref:`IBCLR`,
- :ref:`NOT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/iparity.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/iparity.rst
deleted file mode 100644
index 5abd4e1..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/iparity.rst
+++ /dev/null
@@ -1,62 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: IPARITY, array, parity, array, XOR, bits, XOR of array elements
-
-.. _iparity:
-
-IPARITY --- Bitwise XOR of array elements
-*****************************************
-
-.. function:: IPARITY(ARRAY, DIM, MASK)
-
- Reduces with bitwise XOR (exclusive or) the elements of :samp:`{ARRAY}` along
- dimension :samp:`{DIM}` if the corresponding element in :samp:`{MASK}` is ``TRUE``.
-
- :param ARRAY:
- Shall be an array of type ``INTEGER``
-
- :param DIM:
- (Optional) shall be a scalar of type
- ``INTEGER`` with a value in the range from 1 to n, where n
- equals the rank of :samp:`{ARRAY}`.
-
- :param MASK:
- (Optional) shall be of type ``LOGICAL``
- and either be a scalar or an array of the same shape as :samp:`{ARRAY}`.
-
- :return:
- The result is of the same type as :samp:`{ARRAY}`.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = IPARITY(ARRAY[, MASK])
- RESULT = IPARITY(ARRAY, DIM[, MASK])
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_iparity
- INTEGER(1) :: a(2)
-
- a(1) = int(b'00100100', 1)
- a(2) = int(b'01101010', 1)
-
- ! prints 01001110
- PRINT '(b8.8)', IPARITY(a)
- END PROGRAM
-
- See also:
- :ref:`IANY`,
- :ref:`IALL`,
- :ref:`IEOR`,
- :ref:`PARITY` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/irand.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/irand.rst
deleted file mode 100644
index b7b0a69..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/irand.rst
+++ /dev/null
@@ -1,48 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: IRAND, random number generation
-
-.. _irand:
-
-IRAND --- Integer pseudo-random number
-**************************************
-
-.. function:: IRAND(FLAG)
-
- ``IRAND(FLAG)`` returns a pseudo-random number from a uniform
- distribution between 0 and a system-dependent limit (which is in most
- cases 2147483647). If :samp:`{FLAG}` is 0, the next number
- in the current sequence is returned; if :samp:`{FLAG}` is 1, the generator
- is restarted by ``CALL SRAND(0)`` ; if :samp:`{FLAG}` has any other value,
- it is used as a new seed with ``SRAND``.
-
- :param I:
- Shall be a scalar ``INTEGER`` of kind 4.
-
- :return:
- The return value is of ``INTEGER(kind=4)`` type.
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = IRAND(I)
-
- Example:
- .. code-block:: fortran
-
- program test_irand
- integer,parameter :: seed = 86456
-
- call srand(seed)
- print *, irand(), irand(), irand(), irand()
- print *, irand(seed), irand(), irand(), irand()
- end program test_irand \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/isatty.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/isatty.rst
deleted file mode 100644
index 6b0ef21..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/isatty.rst
+++ /dev/null
@@ -1,46 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ISATTY, system, terminal
-
-.. _isatty:
-
-ISATTY --- Whether a unit is a terminal device
-**********************************************
-
-.. function:: ISATTY(UNIT)
-
- Determine whether a unit is connected to a terminal device.
-
- :param UNIT:
- Shall be a scalar ``INTEGER``.
-
- :return:
- Returns ``.TRUE.`` if the :samp:`{UNIT}` is connected to a terminal
- device, ``.FALSE.`` otherwise.
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ISATTY(UNIT)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_isatty
- INTEGER(kind=1) :: unit
- DO unit = 1, 10
- write(*,*) isatty(unit=unit)
- END DO
- END PROGRAM
-
- See also:
- :ref:`TTYNAM` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/iscontiguous.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/iscontiguous.rst
deleted file mode 100644
index b7d84ee..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/iscontiguous.rst
+++ /dev/null
@@ -1,52 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _is_contiguous:
-
-IS_CONTIGUOUS --- Test whether an array is contiguous
-*****************************************************
-
-.. index:: IS_IOSTAT_EOR, array, contiguity
-
-.. function:: IS_CONTIGUOUS(ARRAY)
-
- ``IS_CONTIGUOUS`` tests whether an array is contiguous.
-
- :param ARRAY:
- Shall be an array of any type.
-
- :return:
- Returns a ``LOGICAL`` of the default kind, which ``.TRUE.`` if
- :samp:`{ARRAY}` is contiguous and false otherwise.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = IS_CONTIGUOUS(ARRAY)
-
- Example:
- .. code-block:: fortran
-
- program test
- integer :: a(10)
- a = [1,2,3,4,5,6,7,8,9,10]
- call sub (a) ! every element, is contiguous
- call sub (a(::2)) ! every other element, is noncontiguous
- contains
- subroutine sub (x)
- integer :: x(:)
- if (is_contiguous (x)) then
- write (*,*) 'X is contiguous'
- else
- write (*,*) 'X is not contiguous'
- end if
- end subroutine sub
- end program test \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ishft.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ishft.rst
deleted file mode 100644
index c5427f2..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ishft.rst
+++ /dev/null
@@ -1,85 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _ishft:
-
-.. index:: ISHFT
-
-.. index:: BSHFT
-
-.. index:: IISHFT
-
-.. index:: JISHFT
-
-.. index:: KISHFT
-
-.. index:: bits, shift
-
-ISHFT --- Shift bits
-********************
-
-.. function:: ISHFT()
-
- ``ISHFT`` returns a value corresponding to :samp:`{I}` with all of the
- bits shifted :samp:`{SHIFT}` places. A value of :samp:`{SHIFT}` greater than
- zero corresponds to a left shift, a value of zero corresponds to no
- shift, and a value less than zero corresponds to a right shift. If the
- absolute value of :samp:`{SHIFT}` is greater than ``BIT_SIZE(I)``, the
- value is undefined. Bits shifted out from the left end or right end are
- lost; zeros are shifted in from the opposite end.
-
- :param I:
- The type shall be ``INTEGER``.
-
- :param SHIFT:
- The type shall be ``INTEGER``.
-
- :return:
- The return value is of type ``INTEGER`` and of the same kind as
- :samp:`{I}`.
-
- Standard:
- Fortran 90 and later, has overloads that are GNU extensions
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ISHFT(I, SHIFT)
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``ISHFT(A)``
- - ``INTEGER A``
- - ``INTEGER``
- - Fortran 90 and later
- * - ``BSHFT(A)``
- - ``INTEGER(1) A``
- - ``INTEGER(1)``
- - GNU extension
- * - ``IISHFT(A)``
- - ``INTEGER(2) A``
- - ``INTEGER(2)``
- - GNU extension
- * - ``JISHFT(A)``
- - ``INTEGER(4) A``
- - ``INTEGER(4)``
- - GNU extension
- * - ``KISHFT(A)``
- - ``INTEGER(8) A``
- - ``INTEGER(8)``
- - GNU extension
-
- See also:
- :ref:`ISHFTC` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ishftc.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ishftc.rst
deleted file mode 100644
index f3e1545..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ishftc.rst
+++ /dev/null
@@ -1,91 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _ishftc:
-
-.. index:: ISHFTC
-
-.. index:: BSHFTC
-
-.. index:: IISHFTC
-
-.. index:: JISHFTC
-
-.. index:: KISHFTC
-
-.. index:: bits, shift circular
-
-ISHFTC --- Shift bits circularly
-********************************
-
-.. function:: ISHFTC()
-
- ``ISHFTC`` returns a value corresponding to :samp:`{I}` with the
- rightmost :samp:`{SIZE}` bits shifted circularly :samp:`{SHIFT}` places; that
- is, bits shifted out one end are shifted into the opposite end. A value
- of :samp:`{SHIFT}` greater than zero corresponds to a left shift, a value of
- zero corresponds to no shift, and a value less than zero corresponds to
- a right shift. The absolute value of :samp:`{SHIFT}` must be less than
- :samp:`{SIZE}`. If the :samp:`{SIZE}` argument is omitted, it is taken to be
- equivalent to ``BIT_SIZE(I)``.
-
- :param I:
- The type shall be ``INTEGER``.
-
- :param SHIFT:
- The type shall be ``INTEGER``.
-
- :param SIZE:
- (Optional) The type shall be ``INTEGER`` ;
- the value must be greater than zero and less than or equal to
- ``BIT_SIZE(I)``.
-
- :return:
- The return value is of type ``INTEGER`` and of the same kind as
- :samp:`{I}`.
-
- Standard:
- Fortran 90 and later, has overloads that are GNU extensions
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = ISHFTC(I, SHIFT [, SIZE])
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``ISHFTC(A)``
- - ``INTEGER A``
- - ``INTEGER``
- - Fortran 90 and later
- * - ``BSHFTC(A)``
- - ``INTEGER(1) A``
- - ``INTEGER(1)``
- - GNU extension
- * - ``IISHFTC(A)``
- - ``INTEGER(2) A``
- - ``INTEGER(2)``
- - GNU extension
- * - ``JISHFTC(A)``
- - ``INTEGER(4) A``
- - ``INTEGER(4)``
- - GNU extension
- * - ``KISHFTC(A)``
- - ``INTEGER(8) A``
- - ``INTEGER(8)``
- - GNU extension
-
- See also:
- :ref:`ISHFT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/isiostatend.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/isiostatend.rst
deleted file mode 100644
index 5efd232..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/isiostatend.rst
+++ /dev/null
@@ -1,48 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _is_iostat_end:
-
-IS_IOSTAT_END --- Test for end-of-file value
-********************************************
-
-.. index:: IS_IOSTAT_END, IOSTAT, end of file
-
-.. function:: IS_IOSTAT_END(I)
-
- ``IS_IOSTAT_END`` tests whether an variable has the value of the I/O
- status 'end of file'. The function is equivalent to comparing the variable
- with the ``IOSTAT_END`` parameter of the intrinsic module
- ``ISO_FORTRAN_ENV``.
-
- :param I:
- Shall be of the type ``INTEGER``.
-
- :return:
- Returns a ``LOGICAL`` of the default kind, which ``.TRUE.`` if
- :samp:`{I}` has the value which indicates an end of file condition for
- ``IOSTAT=`` specifiers, and is ``.FALSE.`` otherwise.
-
- Standard:
- Fortran 2003 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = IS_IOSTAT_END(I)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM iostat
- IMPLICIT NONE
- INTEGER :: stat, i
- OPEN(88, FILE='test.dat')
- READ(88, *, IOSTAT=stat) i
- IF(IS_IOSTAT_END(stat)) STOP 'END OF FILE'
- END PROGRAM \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/isiostateor.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/isiostateor.rst
deleted file mode 100644
index bafc67f..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/isiostateor.rst
+++ /dev/null
@@ -1,48 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _is_iostat_eor:
-
-IS_IOSTAT_EOR --- Test for end-of-record value
-**********************************************
-
-.. index:: IS_IOSTAT_EOR, IOSTAT, end of record
-
-.. function:: IS_IOSTAT_EOR(I)
-
- ``IS_IOSTAT_EOR`` tests whether an variable has the value of the I/O
- status 'end of record'. The function is equivalent to comparing the
- variable with the ``IOSTAT_EOR`` parameter of the intrinsic module
- ``ISO_FORTRAN_ENV``.
-
- :param I:
- Shall be of the type ``INTEGER``.
-
- :return:
- Returns a ``LOGICAL`` of the default kind, which ``.TRUE.`` if
- :samp:`{I}` has the value which indicates an end of file condition for
- ``IOSTAT=`` specifiers, and is ``.FALSE.`` otherwise.
-
- Standard:
- Fortran 2003 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = IS_IOSTAT_EOR(I)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM iostat
- IMPLICIT NONE
- INTEGER :: stat, i(50)
- OPEN(88, FILE='test.dat', FORM='UNFORMATTED')
- READ(88, IOSTAT=stat) i
- IF(IS_IOSTAT_EOR(stat)) STOP 'END OF RECORD'
- END PROGRAM \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/isnan.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/isnan.rst
deleted file mode 100644
index 312e1db..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/isnan.rst
+++ /dev/null
@@ -1,45 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _isnan:
-
-ISNAN --- Test for a NaN
-************************
-
-.. index:: ISNAN, IEEE, ISNAN
-
-.. function:: ISNAN(X)
-
- ``ISNAN`` tests whether a floating-point value is an IEEE
- Not-a-Number (NaN).
-
- :param X:
- Variable of the type ``REAL``.
-
- :return:
- Returns a default-kind ``LOGICAL``. The returned value is ``TRUE``
- if :samp:`{X}` is a NaN and ``FALSE`` otherwise.
-
- Standard:
- GNU extension
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- ISNAN(X)
-
- Example:
- .. code-block:: fortran
-
- program test_nan
- implicit none
- real :: x
- x = -1.0
- x = sqrt(x)
- if (isnan(x)) stop '"x" is a NaN'
- end program test_nan \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/itime.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/itime.rst
deleted file mode 100644
index 4fb25b2..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/itime.rst
+++ /dev/null
@@ -1,50 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: ITIME, time, current, current time
-
-.. _itime:
-
-ITIME --- Get current local time subroutine (hour/minutes/seconds)
-*******************************************************************
-
-.. function:: ITIME(VALUES)
-
- ``ITIME(VALUES)`` Fills :samp:`{VALUES}` with the numerical values at the
- current local time. The hour (in the range 1-24), minute (in the range 1-60),
- and seconds (in the range 1-60) appear in elements 1, 2, and 3 of :samp:`{VALUES}`,
- respectively.
-
- :param VALUES:
- The type shall be ``INTEGER, DIMENSION(3)``
- and the kind shall be the default integer kind.
-
- :return:
- Does not return anything.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL ITIME(VALUES)
-
- Example:
- .. code-block:: fortran
-
- program test_itime
- integer, dimension(3) :: tarray
- call itime(tarray)
- print *, tarray(1)
- print *, tarray(2)
- print *, tarray(3)
- end program test_itime
-
- See also:
- :ref:`DATE_AND_TIME` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/kill.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/kill.rst
deleted file mode 100644
index 9ffa4ca..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/kill.rst
+++ /dev/null
@@ -1,51 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: KILL
-
-.. _kill:
-
-KILL --- Send a signal to a process
-***********************************
-
-.. function:: KILL(PID, SIG)
-
- Sends the signal specified by :samp:`{SIG}` to the process :samp:`{PID}`.
- See ``kill(2)``.
-
- :param PID:
- Shall be a scalar ``INTEGER`` with ``INTENT(IN)``.
-
- :param SIG:
- Shall be a scalar ``INTEGER`` with ``INTENT(IN)``.
-
- :param STATUS:
- [Subroutine](Optional)
- Shall be a scalar ``INTEGER``.
- Returns 0 on success; otherwise a system-specific error code is returned.
-
- :param STATUS:
- [Function] The kind type parameter is that of
- ``pid``.
- Returns 0 on success; otherwise a system-specific error code is returned.
-
- Standard:
- GNU extension
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL KILL(PID, SIG [, STATUS])
- STATUS = KILL(PID, SIG)
-
- See also:
- :ref:`ABORT`,
- :ref:`EXIT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/kind.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/kind.rst
deleted file mode 100644
index 594ce10..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/kind.rst
+++ /dev/null
@@ -1,46 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: KIND, kind
-
-.. _kind:
-
-KIND --- Kind of an entity
-**************************
-
-.. function:: KIND(X)
-
- ``KIND(X)`` returns the kind value of the entity :samp:`{X}`.
-
- :param X:
- Shall be of type ``LOGICAL``, ``INTEGER``,
- ``REAL``, ``COMPLEX`` or ``CHARACTER``. It may be scalar or
- array valued.
-
- :return:
- The return value is a scalar of type ``INTEGER`` and of the default
- integer kind.
-
- Standard:
- Fortran 95 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- K = KIND(X)
-
- Example:
- .. code-block:: fortran
-
- program test_kind
- integer,parameter :: kc = kind(' ')
- integer,parameter :: kl = kind(.true.)
-
- print *, "The default character kind is ", kc
- print *, "The default logical kind is ", kl
- end program test_kind \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/lbound.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/lbound.rst
deleted file mode 100644
index d07e972..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/lbound.rst
+++ /dev/null
@@ -1,51 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: LBOUND, array, lower bound
-
-.. _lbound:
-
-LBOUND --- Lower dimension bounds of an array
-*********************************************
-
-.. function:: LBOUND(ARRAY , DIM , KIND)
-
- Returns the lower bounds of an array, or a single lower bound
- along the :samp:`{DIM}` dimension.
-
- :param ARRAY:
- Shall be an array, of any type.
-
- :param DIM:
- (Optional) Shall be a scalar ``INTEGER``.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``INTEGER`` and of kind :samp:`{KIND}`. If
- :samp:`{KIND}` is absent, the return value is of default integer kind.
- If :samp:`{DIM}` is absent, the result is an array of the lower bounds of
- :samp:`{ARRAY}`. If :samp:`{DIM}` is present, the result is a scalar
- corresponding to the lower bound of the array along that dimension. If
- :samp:`{ARRAY}` is an expression rather than a whole array or array
- structure component, or if it has a zero extent along the relevant
- dimension, the lower bound is taken to be 1.
-
- Standard:
- Fortran 90 and later, with :samp:`{KIND}` argument Fortran 2003 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = LBOUND(ARRAY [, DIM [, KIND]])
-
- See also:
- :ref:`UBOUND`,
- :ref:`LCOBOUND` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/lcobound.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/lcobound.rst
deleted file mode 100644
index eb99816..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/lcobound.rst
+++ /dev/null
@@ -1,48 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: LCOBOUND, coarray, lower bound
-
-.. _lcobound:
-
-LCOBOUND --- Lower codimension bounds of an array
-*************************************************
-
-.. function:: LCOBOUND(COARRAY , DIM , KIND)
-
- Returns the lower bounds of a coarray, or a single lower cobound
- along the :samp:`{DIM}` codimension.
-
- :param ARRAY:
- Shall be an coarray, of any type.
-
- :param DIM:
- (Optional) Shall be a scalar ``INTEGER``.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``INTEGER`` and of kind :samp:`{KIND}`. If
- :samp:`{KIND}` is absent, the return value is of default integer kind.
- If :samp:`{DIM}` is absent, the result is an array of the lower cobounds of
- :samp:`{COARRAY}`. If :samp:`{DIM}` is present, the result is a scalar
- corresponding to the lower cobound of the array along that codimension.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = LCOBOUND(COARRAY [, DIM [, KIND]])
-
- See also:
- :ref:`UCOBOUND`,
- :ref:`LBOUND` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/leadz.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/leadz.rst
deleted file mode 100644
index 327cf89..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/leadz.rst
+++ /dev/null
@@ -1,47 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _leadz:
-
-LEADZ --- Number of leading zero bits of an integer
-***************************************************
-
-.. index:: LEADZ, zero bits
-
-.. function:: LEADZ(I)
-
- ``LEADZ`` returns the number of leading zero bits of an integer.
-
- :param I:
- Shall be of type ``INTEGER``.
-
- :return:
- The type of the return value is the default ``INTEGER``.
- If all the bits of ``I`` are zero, the result value is ``BIT_SIZE(I)``.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = LEADZ(I)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_leadz
- WRITE (*,*) BIT_SIZE(1) ! prints 32
- WRITE (*,*) LEADZ(1) ! prints 31
- END PROGRAM
-
- See also:
- :ref:`BIT_SIZE`,
- :ref:`TRAILZ`,
- :ref:`POPCNT`,
- :ref:`POPPAR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/len.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/len.rst
deleted file mode 100644
index 433659c..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/len.rst
+++ /dev/null
@@ -1,62 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _len:
-
-.. index:: LEN
-
-.. index:: string, length
-
-LEN --- Length of a character entity
-************************************
-
-.. function:: LEN(STRING , KIND)
-
- Returns the length of a character string. If :samp:`{STRING}` is an array,
- the length of an element of :samp:`{STRING}` is returned. Note that
- :samp:`{STRING}` need not be defined when this intrinsic is invoked, since
- only the length, not the content, of :samp:`{STRING}` is needed.
-
- :param STRING:
- Shall be a scalar or array of type
- ``CHARACTER``, with ``INTENT(IN)``
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``INTEGER`` and of kind :samp:`{KIND}`. If
- :samp:`{KIND}` is absent, the return value is of default integer kind.
-
- Standard:
- Fortran 77 and later, with :samp:`{KIND}` argument Fortran 2003 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- L = LEN(STRING [, KIND])
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``LEN(STRING)``
- - ``CHARACTER``
- - ``INTEGER``
- - Fortran 77 and later
-
- See also:
- :ref:`LEN_TRIM`,
- :ref:`ADJUSTL`,
- :ref:`ADJUSTR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/lentrim.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/lentrim.rst
deleted file mode 100644
index 51c8e3a..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/lentrim.rst
+++ /dev/null
@@ -1,43 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: LEN_TRIM, string, length, without trailing whitespace
-
-.. _len_trim:
-
-LEN_TRIM --- Length of a character entity without trailing blank characters
-***************************************************************************
-
-.. function:: LEN_TRIM(STRING , KIND)
-
- Returns the length of a character string, ignoring any trailing blanks.
-
- :param STRING:
- Shall be a scalar of type ``CHARACTER``,
- with ``INTENT(IN)``
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``INTEGER`` and of kind :samp:`{KIND}`. If
- :samp:`{KIND}` is absent, the return value is of default integer kind.
-
- Standard:
- Fortran 90 and later, with :samp:`{KIND}` argument Fortran 2003 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = LEN_TRIM(STRING [, KIND])
-
- See also:
- :ref:`LEN`,
- :ref:`ADJUSTL`,
- :ref:`ADJUSTR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/lge.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/lge.rst
deleted file mode 100644
index f56ae88..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/lge.rst
+++ /dev/null
@@ -1,63 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _lge:
-
-.. index:: LGE
-
-.. index:: lexical comparison of strings
-
-.. index:: string, comparison
-
-LGE --- Lexical greater than or equal
-*************************************
-
-.. function:: LGE(STRING_A, STRING_B)
-
- Determines whether one string is lexically greater than or equal to
- another string, where the two strings are interpreted as containing
- ASCII character codes. If the String A and 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.
-
- :param STRING_A:
- Shall be of default ``CHARACTER`` type.
-
- :param STRING_B:
- Shall be of default ``CHARACTER`` type.
-
- :return:
- Returns ``.TRUE.`` if ``STRING_A >= STRING_B``, and ``.FALSE.``
- otherwise, based on the ASCII ordering.
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = LGE(STRING_A, STRING_B)
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``LGE(STRING_A,STRING_B)``
- - ``CHARACTER``
- - ``LOGICAL``
- - Fortran 77 and later
-
- See also:
- :ref:`LGT`,
- :ref:`LLE`,
- :ref:`LLT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/lgt.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/lgt.rst
deleted file mode 100644
index 06d70c7..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/lgt.rst
+++ /dev/null
@@ -1,63 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _lgt:
-
-.. index:: LGT
-
-.. index:: lexical comparison of strings
-
-.. index:: string, comparison
-
-LGT --- Lexical greater than
-****************************
-
-.. function:: LGT(STRING_A, STRING_B)
-
- Determines whether one string is lexically greater than another string,
- where the two strings are interpreted as containing ASCII character
- codes. If the String A and 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.
-
- :param STRING_A:
- Shall be of default ``CHARACTER`` type.
-
- :param STRING_B:
- Shall be of default ``CHARACTER`` type.
-
- :return:
- Returns ``.TRUE.`` if ``STRING_A > STRING_B``, and ``.FALSE.``
- otherwise, based on the ASCII ordering.
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = LGT(STRING_A, STRING_B)
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``LGT(STRING_A,STRING_B)``
- - ``CHARACTER``
- - ``LOGICAL``
- - Fortran 77 and later
-
- See also:
- :ref:`LGE`,
- :ref:`LLE`,
- :ref:`LLT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/link.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/link.rst
deleted file mode 100644
index e24cf2e..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/link.rst
+++ /dev/null
@@ -1,45 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: LINK, file system, create link, file system, hard link
-
-.. _link:
-
-LINK --- Create a hard link
-***************************
-
-.. function:: LINK(PATH1, PATH2)
-
- Makes a (hard) link from file :samp:`{PATH1}` to :samp:`{PATH2}`. A null
- character (``CHAR(0)``) can be used to mark the end of the names in
- :samp:`{PATH1}` and :samp:`{PATH2}` ; otherwise, trailing blanks in the file
- names are ignored. If the :samp:`{STATUS}` argument is supplied, it
- contains 0 on success or a nonzero error code upon return; see
- ``link(2)``.
-
- :param PATH1:
- Shall be of default ``CHARACTER`` type.
-
- :param PATH2:
- Shall be of default ``CHARACTER`` type.
-
- :param STATUS:
- (Optional) Shall be of default ``INTEGER`` type.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL LINK(PATH1, PATH2 [, STATUS])
- STATUS = LINK(PATH1, PATH2)
-
- See also:
- :ref:`SYMLNK`,
- :ref:`UNLINK` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/lle.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/lle.rst
deleted file mode 100644
index f256bcc..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/lle.rst
+++ /dev/null
@@ -1,63 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _lle:
-
-.. index:: LLE
-
-.. index:: lexical comparison of strings
-
-.. index:: string, comparison
-
-LLE --- Lexical less than or equal
-**********************************
-
-.. function:: LLE(STRING_A, STRING_B)
-
- Determines whether one string is lexically less than or equal to another
- string, where the two strings are interpreted as containing ASCII
- character codes. If the String A and 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.
-
- :param STRING_A:
- Shall be of default ``CHARACTER`` type.
-
- :param STRING_B:
- Shall be of default ``CHARACTER`` type.
-
- :return:
- Returns ``.TRUE.`` if ``STRING_A <= STRING_B``, and ``.FALSE.``
- otherwise, based on the ASCII ordering.
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = LLE(STRING_A, STRING_B)
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``LLE(STRING_A,STRING_B)``
- - ``CHARACTER``
- - ``LOGICAL``
- - Fortran 77 and later
-
- See also:
- :ref:`LGE`,
- :ref:`LGT`,
- :ref:`LLT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/llt.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/llt.rst
deleted file mode 100644
index b7f1851..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/llt.rst
+++ /dev/null
@@ -1,63 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _llt:
-
-.. index:: LLT
-
-.. index:: lexical comparison of strings
-
-.. index:: string, comparison
-
-LLT --- Lexical less than
-*************************
-
-.. function:: LLT(STRING_A, STRING_B)
-
- Determines whether one string is lexically less than another string,
- where the two strings are interpreted as containing ASCII character
- codes. If the String A and 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.
-
- :param STRING_A:
- Shall be of default ``CHARACTER`` type.
-
- :param STRING_B:
- Shall be of default ``CHARACTER`` type.
-
- :return:
- Returns ``.TRUE.`` if ``STRING_A < STRING_B``, and ``.FALSE.``
- otherwise, based on the ASCII ordering.
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = LLT(STRING_A, STRING_B)
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``LLT(STRING_A,STRING_B)``
- - ``CHARACTER``
- - ``LOGICAL``
- - Fortran 77 and later
-
- See also:
- :ref:`LGE`,
- :ref:`LGT`,
- :ref:`LLE` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/lnblnk.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/lnblnk.rst
deleted file mode 100644
index aff6838..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/lnblnk.rst
+++ /dev/null
@@ -1,39 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: LNBLNK, string, find non-blank character
-
-.. _lnblnk:
-
-LNBLNK --- Index of the last non-blank character in a string
-************************************************************
-
-.. function:: LNBLNK(STRING)
-
- Returns the length of a character string, ignoring any trailing blanks.
- This is identical to the standard ``LEN_TRIM`` intrinsic, and is only
- included for backwards compatibility.
-
- :param STRING:
- Shall be a scalar of type ``CHARACTER``,
- with ``INTENT(IN)``
-
- :return:
- The return value is of ``INTEGER(kind=4)`` type.
-
- Standard:
- GNU extension
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = LNBLNK(STRING)
-
- See also:
- :ref:`index-intrinsic`,
- :ref:`LEN_TRIM` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/loc.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/loc.rst
deleted file mode 100644
index f503a01..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/loc.rst
+++ /dev/null
@@ -1,44 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: LOC, location of a variable in memory
-
-.. _loc:
-
-LOC --- Returns the address of a variable
-*****************************************
-
-.. function:: LOC(X)
-
- ``LOC(X)`` returns the address of :samp:`{X}` as an integer.
-
- :param X:
- Variable of any type.
-
- :return:
- The return value is of type ``INTEGER``, with a ``KIND``
- corresponding to the size (in bytes) of a memory address on the target
- machine.
-
- Standard:
- GNU extension
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = LOC(X)
-
- Example:
- .. code-block:: fortran
-
- program test_loc
- integer :: i
- real :: r
- i = loc(r)
- print *, i
- end program test_loc \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/log.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/log.rst
deleted file mode 100644
index dd960ba..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/log.rst
+++ /dev/null
@@ -1,93 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _log:
-
-.. index:: LOG
-
-.. index:: ALOG
-
-.. index:: DLOG
-
-.. index:: CLOG
-
-.. index:: ZLOG
-
-.. index:: CDLOG
-
-.. index:: exponential function, inverse
-
-.. index:: logarithm function
-
-.. index:: natural logarithm function
-
-LOG --- Natural logarithm function
-**********************************
-
-.. function:: LOG(X)
-
- ``LOG(X)`` computes the natural logarithm of :samp:`{X}`, i.e. the
- logarithm to the base e.
-
- :param X:
- The type shall be ``REAL`` or
- ``COMPLEX``.
-
- :return:
- The return value is of type ``REAL`` or ``COMPLEX``.
- The kind type parameter is the same as :samp:`{X}`.
- If :samp:`{X}` is ``COMPLEX``, the imaginary part \omega is in the range
- -\pi < \omega \leq \pi.
-
- Standard:
- Fortran 77 and later, has GNU extensions
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = LOG(X)
-
- Example:
- .. code-block:: fortran
-
- program test_log
- real(8) :: x = 2.7182818284590451_8
- complex :: z = (1.0, 2.0)
- x = log(x) ! will yield (approximately) 1
- z = log(z)
- end program test_log
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``ALOG(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - Fortran 77 or later
- * - ``DLOG(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - Fortran 77 or later
- * - ``CLOG(X)``
- - ``COMPLEX(4) X``
- - ``COMPLEX(4)``
- - Fortran 77 or later
- * - ``ZLOG(X)``
- - ``COMPLEX(8) X``
- - ``COMPLEX(8)``
- - GNU extension
- * - ``CDLOG(X)``
- - ``COMPLEX(8) X``
- - ``COMPLEX(8)``
- - GNU extension \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/log10.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/log10.rst
deleted file mode 100644
index 7529706..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/log10.rst
+++ /dev/null
@@ -1,69 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _log10:
-
-.. index:: LOG10
-
-.. index:: ALOG10
-
-.. index:: DLOG10
-
-.. index:: exponential function, inverse
-
-.. index:: logarithm function with base 10
-
-.. index:: base 10 logarithm function
-
-LOG10 --- Base 10 logarithm function
-************************************
-
-.. function:: LOG10(X)
-
- ``LOG10(X)`` computes the base 10 logarithm of :samp:`{X}`.
-
- :param X:
- The type shall be ``REAL``.
-
- :return:
- The return value is of type ``REAL`` or ``COMPLEX``.
- The kind type parameter is the same as :samp:`{X}`.
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = LOG10(X)
-
- Example:
- .. code-block:: fortran
-
- program test_log10
- real(8) :: x = 10.0_8
- x = log10(x)
- end program test_log10
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``ALOG10(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DLOG10(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - Fortran 77 and later \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/loggamma.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/loggamma.rst
deleted file mode 100644
index e9952bd..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/loggamma.rst
+++ /dev/null
@@ -1,76 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _log_gamma:
-
-.. index:: LOG_GAMMA
-
-.. index:: LGAMMA
-
-.. index:: ALGAMA
-
-.. index:: DLGAMA
-
-.. index:: Gamma function, logarithm of
-
-LOG_GAMMA --- Logarithm of the Gamma function
-*********************************************
-
-.. function:: LOG_GAMMA(X)
-
- ``LOG_GAMMA(X)`` computes the natural logarithm of the absolute value
- of the Gamma (\Gamma) function.
-
- :param X:
- Shall be of type ``REAL`` and neither zero
- nor a negative integer.
-
- :return:
- The return value is of type ``REAL`` of the same kind as :samp:`{X}`.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- X = LOG_GAMMA(X)
-
- Example:
- .. code-block:: fortran
-
- program test_log_gamma
- real :: x = 1.0
- x = lgamma(x) ! returns 0.0
- end program test_log_gamma
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``LGAMMA(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - GNU extension
- * - ``ALGAMA(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - GNU extension
- * - ``DLGAMA(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension
-
- See also:
- Gamma function:
- :ref:`GAMMA` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/logical.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/logical.rst
deleted file mode 100644
index fe3706f..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/logical.rst
+++ /dev/null
@@ -1,43 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _logical:
-
-LOGICAL --- Convert to logical type
-***********************************
-
-.. index:: LOGICAL, conversion, to logical
-
-.. function:: LOGICAL(L, KIND)
-
- Converts one kind of ``LOGICAL`` variable to another.
-
- :param L:
- The type shall be ``LOGICAL``.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is a ``LOGICAL`` value equal to :samp:`{L}`, with a
- kind corresponding to :samp:`{KIND}`, or of the default logical kind if
- :samp:`{KIND}` is not given.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = LOGICAL(L [, KIND])
-
- See also:
- :ref:`INT`,
- :ref:`REAL`,
- :ref:`CMPLX` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/lshift.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/lshift.rst
deleted file mode 100644
index 031e3e1..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/lshift.rst
+++ /dev/null
@@ -1,48 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _lshift:
-
-LSHIFT --- Left shift bits
-**************************
-
-.. index:: LSHIFT, bits, shift left
-
-.. function:: LSHIFT(I, SHIFT)
-
- ``LSHIFT`` returns a value corresponding to :samp:`{I}` with all of the
- bits shifted left by :samp:`{SHIFT}` places. :samp:`{SHIFT}` shall be
- nonnegative and less than or equal to ``BIT_SIZE(I)``, otherwise
- the result value is undefined. Bits shifted out from the left end are
- lost; zeros are shifted in from the opposite end.
-
- :param I:
- The type shall be ``INTEGER``.
-
- :param SHIFT:
- The type shall be ``INTEGER``.
-
- :return:
- The return value is of type ``INTEGER`` and of the same kind as
- :samp:`{I}`.
-
- Standard:
- GNU extension
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = LSHIFT(I, SHIFT)
-
- See also:
- :ref:`ISHFT`,
- :ref:`ISHFTC`,
- :ref:`RSHIFT`,
- :ref:`SHIFTA`,
- :ref:`SHIFTL`,
- :ref:`SHIFTR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/lstat.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/lstat.rst
deleted file mode 100644
index 0abd89d..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/lstat.rst
+++ /dev/null
@@ -1,49 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _lstat:
-
-LSTAT --- Get file status
-*************************
-
-.. index:: LSTAT, file system, file status
-
-.. function:: LSTAT(NAME, VALUES, STATUS)
-
- ``LSTAT`` is identical to :ref:`STAT`, except that if path is a
- symbolic link, then the link itself is statted, not the file that it
- refers to.
-
- :param NAME:
- The type shall be ``CHARACTER`` of the default
- kind, a valid path within the file system.
-
- :param VALUES:
- The type shall be ``INTEGER(4), DIMENSION(13)``.
-
- :param STATUS:
- (Optional) status flag of type ``INTEGER(4)``.
- Returns 0 on success and a system specific error code otherwise.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL LSTAT(NAME, VALUES [, STATUS])
- STATUS = LSTAT(NAME, VALUES)
-
- Example:
- See :ref:`STAT` for an example.
-
- See also:
- To stat an open file:
- :ref:`FSTAT`
- To stat a file:
- :ref:`STAT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ltime.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ltime.rst
deleted file mode 100644
index d09728e..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ltime.rst
+++ /dev/null
@@ -1,46 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: LTIME, time, conversion to local time info
-
-.. _ltime:
-
-LTIME --- Convert time to local time info
-*****************************************
-
-.. function:: LTIME(TIME, VALUES)
-
- Given a system time value :samp:`{TIME}` (as provided by the :ref:`TIME`
- intrinsic), fills :samp:`{VALUES}` with values extracted from it appropriate
- to the local time zone using ``localtime(3)``.
-
- :param TIME:
- An ``INTEGER`` scalar expression
- corresponding to a system time, with ``INTENT(IN)``.
-
- :param VALUES:
- A default ``INTEGER`` array with 9 elements,
- with ``INTENT(OUT)``.
-
- :return:
- The elements of :samp:`{VALUES}` are assigned as follows:
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL LTIME(TIME, VALUES)
-
- See also:
- :ref:`DATE_AND_TIME`,
- :ref:`CTIME`,
- :ref:`GMTIME`,
- :ref:`TIME`,
- :ref:`TIME8` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/malloc.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/malloc.rst
deleted file mode 100644
index 581ae06..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/malloc.rst
+++ /dev/null
@@ -1,66 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: MALLOC, pointer, cray
-
-.. _malloc:
-
-MALLOC --- Allocate dynamic memory
-**********************************
-
-.. function:: MALLOC(SIZE)
-
- ``MALLOC(SIZE)`` allocates :samp:`{SIZE}` bytes of dynamic memory and
- returns the address of the allocated memory. The ``MALLOC`` intrinsic
- is an extension intended to be used with Cray pointers, and is provided
- in GNU Fortran to allow the user to compile legacy code. For new code
- using Fortran 95 pointers, the memory allocation intrinsic is
- ``ALLOCATE``.
-
- :param SIZE:
- The type shall be ``INTEGER``.
-
- :return:
- The return value is of type ``INTEGER(K)``, with :samp:`{K}` such that
- variables of type ``INTEGER(K)`` have the same size as
- C pointers (``sizeof(void *)``).
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- PTR = MALLOC(SIZE)
-
- Example:
- The following example demonstrates the use of ``MALLOC`` and
- ``FREE`` with Cray pointers.
-
- .. code-block:: fortran
-
- program test_malloc
- implicit none
- integer i
- real*8 x(*), z
- pointer(ptr_x,x)
-
- ptr_x = malloc(20*8)
- do i = 1, 20
- x(i) = sqrt(1.0d0 / i)
- end do
- z = 0
- do i = 1, 20
- z = z + x(i)
- print *, z
- end do
- call free(ptr_x)
- end program test_malloc
-
- See also:
- :ref:`FREE` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/maskl.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/maskl.rst
deleted file mode 100644
index 0d0ea90..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/maskl.rst
+++ /dev/null
@@ -1,42 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _maskl:
-
-MASKL --- Left justified mask
-*****************************
-
-.. index:: MASKL, mask, left justified
-
-.. function:: MASKL(I, KIND)
-
- ``MASKL(I[, KIND])`` has its leftmost :samp:`{I}` bits set to 1, and the
- remaining bits set to 0.
-
- :param I:
- Shall be of type ``INTEGER``.
-
- :param KIND:
- Shall be a scalar constant expression of type
- ``INTEGER``.
-
- :return:
- The return value is of type ``INTEGER``. If :samp:`{KIND}` is present, it
- specifies the kind value of the return type; otherwise, it is of the
- default integer kind.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = MASKL(I[, KIND])
-
- See also:
- :ref:`MASKR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/maskr.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/maskr.rst
deleted file mode 100644
index 30f4e37..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/maskr.rst
+++ /dev/null
@@ -1,42 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: MASKR, mask, right justified
-
-.. _maskr:
-
-MASKR --- Right justified mask
-******************************
-
-.. function:: MASKR(I, KIND)
-
- ``MASKL(I[, KIND])`` has its rightmost :samp:`{I}` bits set to 1, and the
- remaining bits set to 0.
-
- :param I:
- Shall be of type ``INTEGER``.
-
- :param KIND:
- Shall be a scalar constant expression of type
- ``INTEGER``.
-
- :return:
- The return value is of type ``INTEGER``. If :samp:`{KIND}` is present, it
- specifies the kind value of the return type; otherwise, it is of the
- default integer kind.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = MASKR(I[, KIND])
-
- See also:
- :ref:`MASKL` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/matmul.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/matmul.rst
deleted file mode 100644
index 8188492..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/matmul.rst
+++ /dev/null
@@ -1,44 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: MATMUL, matrix multiplication, product, matrix
-
-.. _matmul:
-
-MATMUL --- matrix multiplication
-********************************
-
-.. function:: MATMUL(MATRIX_A, MATRIX_B)
-
- Performs a matrix multiplication on numeric or logical arguments.
-
- :param MATRIX_A:
- An array of ``INTEGER``,
- ``REAL``, ``COMPLEX``, or ``LOGICAL`` type, with a rank of
- one or two.
-
- :param MATRIX_B:
- An array of ``INTEGER``,
- ``REAL``, or ``COMPLEX`` type if :samp:`{MATRIX_A}` is of a numeric
- type; otherwise, an array of ``LOGICAL`` type. The rank shall be one
- or two, and the first (or only) dimension of :samp:`{MATRIX_B}` shall be
- equal to the last (or only) dimension of :samp:`{MATRIX_A}`.
- :samp:`{MATRIX_A}` and :samp:`{MATRIX_B}` shall not both be rank one arrays.
-
- :return:
- The matrix product of :samp:`{MATRIX_A}` and :samp:`{MATRIX_B}`. The type and
- kind of the result follow the usual type and kind promotion rules, as
- for the ``*`` or ``.AND.`` operators.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = MATMUL(MATRIX_A, MATRIX_B) \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/max.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/max.rst
deleted file mode 100644
index 7c6179a..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/max.rst
+++ /dev/null
@@ -1,86 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _max:
-
-.. index:: MAX
-
-.. index:: MAX0
-
-.. index:: AMAX0
-
-.. index:: MAX1
-
-.. index:: AMAX1
-
-.. index:: DMAX1
-
-.. index:: maximum value
-
-MAX --- Maximum value of an argument list
-*****************************************
-
-.. function:: MAX(A1, A2 , A3 , ...)
-
- Returns the argument with the largest (most positive) value.
-
- :param A1:
- The type shall be ``INTEGER`` or
- ``REAL``.
-
- :param A2}, {A3}, ...:
- An expression of the same type and kind
- as :samp:`{A1}`. (As a GNU extension, arguments of different kinds are
- permitted.)
-
- :return:
- The return value corresponds to the maximum value among the arguments,
- and has the same type and kind as the first argument.
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = MAX(A1, A2 [, A3 [, ...]])
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``MAX0(A1)``
- - ``INTEGER(4) A1``
- - ``INTEGER(4)``
- - Fortran 77 and later
- * - ``AMAX0(A1)``
- - ``INTEGER(4) A1``
- - ``REAL(MAX(X))``
- - Fortran 77 and later
- * - ``MAX1(A1)``
- - ``REAL A1``
- - ``INT(MAX(X))``
- - Fortran 77 and later
- * - ``AMAX1(A1)``
- - ``REAL(4) A1``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DMAX1(A1)``
- - ``REAL(8) A1``
- - ``REAL(8)``
- - Fortran 77 and later
-
- See also:
- :ref:`MAXLOC`
- :ref:`MAXVAL`,
- :ref:`MIN` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/maxexponent.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/maxexponent.rst
deleted file mode 100644
index 8d42d60..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/maxexponent.rst
+++ /dev/null
@@ -1,45 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: MAXEXPONENT, model representation, maximum exponent
-
-.. _maxexponent:
-
-MAXEXPONENT --- Maximum exponent of a real kind
-***********************************************
-
-.. function:: MAXEXPONENT(X)
-
- ``MAXEXPONENT(X)`` returns the maximum exponent in the model of the
- type of ``X``.
-
- :param X:
- Shall be of type ``REAL``.
-
- :return:
- The return value is of type ``INTEGER`` and of the default integer
- kind.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = MAXEXPONENT(X)
-
- Example:
- .. code-block:: fortran
-
- program exponents
- real(kind=4) :: x
- real(kind=8) :: y
-
- print *, minexponent(x), maxexponent(x)
- print *, minexponent(y), maxexponent(y)
- end program exponents \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/maxloc.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/maxloc.rst
deleted file mode 100644
index 2e3d2ad..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/maxloc.rst
+++ /dev/null
@@ -1,76 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: MAXLOC, array, location of maximum element
-
-.. _maxloc:
-
-MAXLOC --- Location of the maximum value within an array
-********************************************************
-
-.. function:: MAXLOC(ARRAY , MASK ,KIND ,BACK)
-
- Determines the location of the element in the array with the maximum
- value, or, if the :samp:`{DIM}` argument is supplied, determines the
- locations of the maximum element along each row of the array in the
- :samp:`{DIM}` direction. If :samp:`{MASK}` is present, only the elements for
- which :samp:`{MASK}` is ``.TRUE.`` are considered. If more than one
- element in the array has the maximum value, the location returned is
- that of the first such element in array element order if the
- :samp:`{BACK}` is not present, or is false; if :samp:`{BACK}` is true, the location
- returned is that of the last such element. If the array has zero
- size, or all of the elements of :samp:`{MASK}` are ``.FALSE.``, then
- the result is an array of zeroes. Similarly, if :samp:`{DIM}` is supplied
- and all of the elements of :samp:`{MASK}` along a given row are zero, the
- result value for that row is zero.
-
- :param ARRAY:
- Shall be an array of type ``INTEGER`` or
- ``REAL``.
-
- :param DIM:
- (Optional) Shall be a scalar of type
- ``INTEGER``, with a value between one and the rank of :samp:`{ARRAY}`,
- inclusive. It may not be an optional dummy argument.
-
- :param MASK:
- Shall be of type ``LOGICAL``,
- and conformable with :samp:`{ARRAY}`.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :param BACK:
- (Optional) A scalar of type ``LOGICAL``.
-
- :return:
- If :samp:`{DIM}` is absent, the result is a rank-one array with a length
- equal to the rank of :samp:`{ARRAY}`. If :samp:`{DIM}` is present, the result
- is an array with a rank one less than the rank of :samp:`{ARRAY}`, and a
- size corresponding to the size of :samp:`{ARRAY}` with the :samp:`{DIM}`
- dimension removed. If :samp:`{DIM}` is present and :samp:`{ARRAY}` has a rank
- of one, the result is a scalar. If the optional argument :samp:`{KIND}`
- is present, the result is an integer of kind :samp:`{KIND}`, otherwise it
- is of default kind.
-
- Standard:
- Fortran 95 and later; :samp:`{ARRAY}` of ``CHARACTER`` and the
- :samp:`{KIND}` argument are available in Fortran 2003 and later.
- The :samp:`{BACK}` argument is available in Fortran 2008 and later.
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = MAXLOC(ARRAY, DIM [, MASK] [,KIND] [,BACK])
- RESULT = MAXLOC(ARRAY [, MASK] [,KIND] [,BACK])
-
- See also:
- :ref:`FINDLOC`,
- :ref:`MAX`,
- :ref:`MAXVAL` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/maxval.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/maxval.rst
deleted file mode 100644
index 9b3dcc5..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/maxval.rst
+++ /dev/null
@@ -1,58 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: MAXVAL, array, maximum value, maximum value
-
-.. _maxval:
-
-MAXVAL --- Maximum value of an array
-************************************
-
-.. function:: MAXVAL(ARRAY , MASK)
-
- Determines the maximum value of the elements in an array value, or, if
- the :samp:`{DIM}` argument is supplied, determines the maximum value along
- each row of the array in the :samp:`{DIM}` direction. If :samp:`{MASK}` is
- present, only the elements for which :samp:`{MASK}` is ``.TRUE.`` are
- considered. If the array has zero size, or all of the elements of
- :samp:`{MASK}` are ``.FALSE.``, then the result is ``-HUGE(ARRAY)``
- if :samp:`{ARRAY}` is numeric, or a string of nulls if :samp:`{ARRAY}` is of character
- type.
-
- :param ARRAY:
- Shall be an array of type ``INTEGER`` or
- ``REAL``.
-
- :param DIM:
- (Optional) Shall be a scalar of type
- ``INTEGER``, with a value between one and the rank of :samp:`{ARRAY}`,
- inclusive. It may not be an optional dummy argument.
-
- :param MASK:
- (Optional) Shall be of type ``LOGICAL``,
- and conformable with :samp:`{ARRAY}`.
-
- :return:
- If :samp:`{DIM}` is absent, or if :samp:`{ARRAY}` has a rank of one, the result
- is a scalar. If :samp:`{DIM}` is present, the result is an array with a
- rank one less than the rank of :samp:`{ARRAY}`, and a size corresponding to
- the size of :samp:`{ARRAY}` with the :samp:`{DIM}` dimension removed. In all
- cases, the result is of the same type and kind as :samp:`{ARRAY}`.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = MAXVAL(ARRAY, DIM [, MASK])
- RESULT = MAXVAL(ARRAY [, MASK])
-
- See also:
- :ref:`MAX`,
- :ref:`MAXLOC` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/mclock.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/mclock.rst
deleted file mode 100644
index 3ac35fb..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/mclock.rst
+++ /dev/null
@@ -1,39 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: MCLOCK, time, clock ticks, clock ticks
-
-.. _mclock:
-
-MCLOCK --- Time function
-************************
-
-.. function:: MCLOCK()
-
- Returns the number of clock ticks since the start of the process, based
- on the function ``clock(3)`` in the C standard library.
-
- :return:
- The return value is a scalar of type ``INTEGER(4)``, equal to the
- number of clock ticks since the start of the process, or ``-1`` if
- the system does not support ``clock(3)``.
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = MCLOCK()
-
- See also:
- :ref:`CTIME`,
- :ref:`GMTIME`,
- :ref:`LTIME`,
- :ref:`MCLOCK`,
- :ref:`TIME` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/mclock8.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/mclock8.rst
deleted file mode 100644
index 3524e52..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/mclock8.rst
+++ /dev/null
@@ -1,39 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: MCLOCK8, time, clock ticks, clock ticks
-
-.. _mclock8:
-
-MCLOCK8 --- Time function (64-bit)
-**********************************
-
-.. function:: MCLOCK8()
-
- Returns the number of clock ticks since the start of the process, based
- on the function ``clock(3)`` in the C standard library.
-
- :return:
- The return value is a scalar of type ``INTEGER(8)``, equal to the
- number of clock ticks since the start of the process, or ``-1`` if
- the system does not support ``clock(3)``.
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = MCLOCK8()
-
- See also:
- :ref:`CTIME`,
- :ref:`GMTIME`,
- :ref:`LTIME`,
- :ref:`MCLOCK`,
- :ref:`TIME8` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/merge.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/merge.rst
deleted file mode 100644
index 556358a..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/merge.rst
+++ /dev/null
@@ -1,41 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: MERGE, array, merge arrays, array, combine arrays
-
-.. _merge:
-
-MERGE --- Merge variables
-*************************
-
-.. function:: MERGE(TSOURCE, FSOURCE, MASK)
-
- Select values from two arrays according to a logical mask. The result
- is equal to :samp:`{TSOURCE}` if :samp:`{MASK}` is ``.TRUE.``, or equal to
- :samp:`{FSOURCE}` if it is ``.FALSE.``.
-
- :param TSOURCE:
- May be of any type.
-
- :param FSOURCE:
- Shall be of the same type and type parameters
- as :samp:`{TSOURCE}`.
-
- :param MASK:
- Shall be of type ``LOGICAL``.
-
- :return:
- The result is of the same type and type parameters as :samp:`{TSOURCE}`.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = MERGE(TSOURCE, FSOURCE, MASK) \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/mergebits.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/mergebits.rst
deleted file mode 100644
index 80dd38b..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/mergebits.rst
+++ /dev/null
@@ -1,44 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: MERGE_BITS, bits, merge
-
-.. _merge_bits:
-
-MERGE_BITS --- Merge of bits under mask
-***************************************
-
-.. function:: MERGE_BITS(I, J, MASK)
-
- ``MERGE_BITS(I, J, MASK)`` merges the bits of :samp:`{I}` and :samp:`{J}`
- as determined by the mask. The i-th bit of the result is equal to the
- i-th bit of :samp:`{I}` if the i-th bit of :samp:`{MASK}` is 1; it is equal to
- the i-th bit of :samp:`{J}` otherwise.
-
- :param I:
- Shall be of type ``INTEGER`` or a boz-literal-constant.
-
- :param J:
- Shall be of type ``INTEGER`` with the same
- kind type parameter as :samp:`{I}` or a boz-literal-constant.
- :samp:`{I}` and :samp:`{J}` shall not both be boz-literal-constants.
-
- :param MASK:
- Shall be of type ``INTEGER`` or a boz-literal-constant
- and of the same kind as :samp:`{I}`.
-
- :return:
- The result is of the same type and kind as :samp:`{I}`.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = MERGE_BITS(I, J, MASK) \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/min.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/min.rst
deleted file mode 100644
index aefd814..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/min.rst
+++ /dev/null
@@ -1,86 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _min:
-
-.. index:: MIN
-
-.. index:: MIN0
-
-.. index:: AMIN0
-
-.. index:: MIN1
-
-.. index:: AMIN1
-
-.. index:: DMIN1
-
-.. index:: minimum value
-
-MIN --- Minimum value of an argument list
-*****************************************
-
-.. function:: MIN(A1, A2 , A3, ...)
-
- Returns the argument with the smallest (most negative) value.
-
- :param A1:
- The type shall be ``INTEGER`` or
- ``REAL``.
-
- :param A2}, {A3}, ...:
- An expression of the same type and kind
- as :samp:`{A1}`. (As a GNU extension, arguments of different kinds are
- permitted.)
-
- :return:
- The return value corresponds to the minimum value among the arguments,
- and has the same type and kind as the first argument.
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = MIN(A1, A2 [, A3, ...])
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``MIN0(A1)``
- - ``INTEGER(4) A1``
- - ``INTEGER(4)``
- - Fortran 77 and later
- * - ``AMIN0(A1)``
- - ``INTEGER(4) A1``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``MIN1(A1)``
- - ``REAL A1``
- - ``INTEGER(4)``
- - Fortran 77 and later
- * - ``AMIN1(A1)``
- - ``REAL(4) A1``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DMIN1(A1)``
- - ``REAL(8) A1``
- - ``REAL(8)``
- - Fortran 77 and later
-
- See also:
- :ref:`MAX`,
- :ref:`MINLOC`,
- :ref:`MINVAL` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/minexponent.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/minexponent.rst
deleted file mode 100644
index 546a46b..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/minexponent.rst
+++ /dev/null
@@ -1,37 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: MINEXPONENT, model representation, minimum exponent
-
-.. _minexponent:
-
-MINEXPONENT --- Minimum exponent of a real kind
-***********************************************
-
-.. function:: MINEXPONENT(X)
-
- ``MINEXPONENT(X)`` returns the minimum exponent in the model of the
- type of ``X``.
-
- :param X:
- Shall be of type ``REAL``.
-
- :return:
- The return value is of type ``INTEGER`` and of the default integer
- kind.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = MINEXPONENT(X)
-
- Example:
- See ``MAXEXPONENT`` for an example. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/minloc.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/minloc.rst
deleted file mode 100644
index 49496be..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/minloc.rst
+++ /dev/null
@@ -1,76 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _minloc:
-
-MINLOC --- Location of the minimum value within an array
-********************************************************
-
-.. index:: MINLOC, array, location of minimum element
-
-.. function:: MINLOC(ARRAY, MASK, KIND, BACK)
-
- Determines the location of the element in the array with the minimum
- value, or, if the :samp:`{DIM}` argument is supplied, determines the
- locations of the minimum element along each row of the array in the
- :samp:`{DIM}` direction. If :samp:`{MASK}` is present, only the elements for
- which :samp:`{MASK}` is ``.TRUE.`` are considered. If more than one
- element in the array has the minimum value, the location returned is
- that of the first such element in array element order if the
- :samp:`{BACK}` is not present, or is false; if :samp:`{BACK}` is true, the location
- returned is that of the last such element. If the array has
- zero size, or all of the elements of :samp:`{MASK}` are ``.FALSE.``, then
- the result is an array of zeroes. Similarly, if :samp:`{DIM}` is supplied
- and all of the elements of :samp:`{MASK}` along a given row are zero, the
- result value for that row is zero.
-
- :param ARRAY:
- Shall be an array of type ``INTEGER``,
- ``REAL`` or ``CHARACTER``.
-
- :param DIM:
- (Optional) Shall be a scalar of type
- ``INTEGER``, with a value between one and the rank of :samp:`{ARRAY}`,
- inclusive. It may not be an optional dummy argument.
-
- :param MASK:
- Shall be of type ``LOGICAL``,
- and conformable with :samp:`{ARRAY}`.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :param BACK:
- (Optional) A scalar of type ``LOGICAL``.
-
- :return:
- If :samp:`{DIM}` is absent, the result is a rank-one array with a length
- equal to the rank of :samp:`{ARRAY}`. If :samp:`{DIM}` is present, the result
- is an array with a rank one less than the rank of :samp:`{ARRAY}`, and a
- size corresponding to the size of :samp:`{ARRAY}` with the :samp:`{DIM}`
- dimension removed. If :samp:`{DIM}` is present and :samp:`{ARRAY}` has a rank
- of one, the result is a scalar. If the optional argument :samp:`{KIND}`
- is present, the result is an integer of kind :samp:`{KIND}`, otherwise it
- is of default kind.
-
- Standard:
- Fortran 90 and later; :samp:`{ARRAY}` of ``CHARACTER`` and the
- :samp:`{KIND}` argument are available in Fortran 2003 and later.
- The :samp:`{BACK}` argument is available in Fortran 2008 and later.
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = MINLOC(ARRAY, DIM [, MASK] [,KIND] [,BACK])
- RESULT = MINLOC(ARRAY [, MASK], [,KIND] [,BACK])
-
- See also:
- :ref:`FINDLOC`,
- :ref:`MIN`,
- :ref:`MINVAL` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/minval.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/minval.rst
deleted file mode 100644
index 55fd75d..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/minval.rst
+++ /dev/null
@@ -1,58 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: MINVAL, array, minimum value, minimum value
-
-.. _minval:
-
-MINVAL --- Minimum value of an array
-************************************
-
-.. function:: MINVAL(ARRAY , MASK)
-
- Determines the minimum value of the elements in an array value, or, if
- the :samp:`{DIM}` argument is supplied, determines the minimum value along
- each row of the array in the :samp:`{DIM}` direction. If :samp:`{MASK}` is
- present, only the elements for which :samp:`{MASK}` is ``.TRUE.`` are
- considered. If the array has zero size, or all of the elements of
- :samp:`{MASK}` are ``.FALSE.``, then the result is ``HUGE(ARRAY)`` if
- :samp:`{ARRAY}` is numeric, or a string of ``CHAR(255)`` characters if
- :samp:`{ARRAY}` is of character type.
-
- :param ARRAY:
- Shall be an array of type ``INTEGER`` or
- ``REAL``.
-
- :param DIM:
- (Optional) Shall be a scalar of type
- ``INTEGER``, with a value between one and the rank of :samp:`{ARRAY}`,
- inclusive. It may not be an optional dummy argument.
-
- :param MASK:
- Shall be of type ``LOGICAL``,
- and conformable with :samp:`{ARRAY}`.
-
- :return:
- If :samp:`{DIM}` is absent, or if :samp:`{ARRAY}` has a rank of one, the result
- is a scalar. If :samp:`{DIM}` is present, the result is an array with a
- rank one less than the rank of :samp:`{ARRAY}`, and a size corresponding to
- the size of :samp:`{ARRAY}` with the :samp:`{DIM}` dimension removed. In all
- cases, the result is of the same type and kind as :samp:`{ARRAY}`.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = MINVAL(ARRAY, DIM [, MASK])
- RESULT = MINVAL(ARRAY [, MASK])
-
- See also:
- :ref:`MIN`,
- :ref:`MINLOC` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/mod.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/mod.rst
deleted file mode 100644
index 35624ae..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/mod.rst
+++ /dev/null
@@ -1,118 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _mod:
-
-.. index:: MOD
-
-.. index:: AMOD
-
-.. index:: DMOD
-
-.. index:: BMOD
-
-.. index:: IMOD
-
-.. index:: JMOD
-
-.. index:: KMOD
-
-.. index:: remainder
-
-.. index:: division, remainder
-
-MOD --- Remainder function
-**************************
-
-.. function:: MOD(A,P)
-
- ``MOD(A,P)`` computes the remainder of the division of A by P.
-
- :param A:
- Shall be a scalar of type ``INTEGER`` or ``REAL``.
-
- :param P:
- Shall be a scalar of the same type and kind as :samp:`{A}`
- and not equal to zero. (As a GNU extension, arguments of different kinds are
- permitted.)
-
- :return:
- The return value is the result of ``A - (INT(A/P) * P)``. The type
- and kind of the return value is the same as that of the arguments. The
- returned value has the same sign as A and a magnitude less than the
- magnitude of P. (As a GNU extension, kind is the largest kind of the actual
- arguments.)
-
- Standard:
- Fortran 77 and later, has overloads that are GNU extensions
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = MOD(A, P)
-
- Example:
- .. code-block:: fortran
-
- program test_mod
- print *, mod(17,3)
- print *, mod(17.5,5.5)
- print *, mod(17.5d0,5.5)
- print *, mod(17.5,5.5d0)
-
- print *, mod(-17,3)
- print *, mod(-17.5,5.5)
- print *, mod(-17.5d0,5.5)
- print *, mod(-17.5,5.5d0)
-
- print *, mod(17,-3)
- print *, mod(17.5,-5.5)
- print *, mod(17.5d0,-5.5)
- print *, mod(17.5,-5.5d0)
- end program test_mod
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Arguments
- - Return type
- - Standard
-
- * - ``MOD(A,P)``
- - ``INTEGER A,P``
- - ``INTEGER``
- - Fortran 77 and later
- * - ``AMOD(A,P)``
- - ``REAL(4) A,P``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DMOD(A,P)``
- - ``REAL(8) A,P``
- - ``REAL(8)``
- - Fortran 77 and later
- * - ``BMOD(A,P)``
- - ``INTEGER(1) A,P``
- - ``INTEGER(1)``
- - GNU extension
- * - ``IMOD(A,P)``
- - ``INTEGER(2) A,P``
- - ``INTEGER(2)``
- - GNU extension
- * - ``JMOD(A,P)``
- - ``INTEGER(4) A,P``
- - ``INTEGER(4)``
- - GNU extension
- * - ``KMOD(A,P)``
- - ``INTEGER(8) A,P``
- - ``INTEGER(8)``
- - GNU extension
-
- See also:
- :ref:`MODULO` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/modulo.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/modulo.rst
deleted file mode 100644
index 82e2126..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/modulo.rst
+++ /dev/null
@@ -1,55 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: MODULO, modulo, division, modulo
-
-.. _modulo:
-
-MODULO --- Modulo function
-**************************
-
-.. function:: MODULO(A,P)
-
- ``MODULO(A,P)`` computes the :samp:`{A}` modulo :samp:`{P}`.
-
- :param A:
- Shall be a scalar of type ``INTEGER`` or ``REAL``.
-
- :param P:
- Shall be a scalar of the same type and kind as :samp:`{A}`.
- It shall not be zero. (As a GNU extension, arguments of different kinds are
- permitted.)
-
- :return:
- The type and kind of the result are those of the arguments. (As a GNU
- extension, kind is the largest kind of the actual arguments.)
-
- Standard:
- Fortran 95 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = MODULO(A, P)
-
- Example:
- .. code-block:: fortran
-
- program test_modulo
- print *, modulo(17,3)
- print *, modulo(17.5,5.5)
-
- print *, modulo(-17,3)
- print *, modulo(-17.5,5.5)
-
- print *, modulo(17,-3)
- print *, modulo(17.5,-5.5)
- end program
-
- See also:
- :ref:`MOD` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/movealloc.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/movealloc.rst
deleted file mode 100644
index 8c39ad8..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/movealloc.rst
+++ /dev/null
@@ -1,51 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: MOVE_ALLOC, moving allocation, allocation, moving
-
-.. _move_alloc:
-
-MOVE_ALLOC --- Move allocation from one object to another
-*********************************************************
-
-.. function:: MOVE_ALLOC(FROM, TO)
-
- ``MOVE_ALLOC(FROM, TO)`` moves the allocation from :samp:`{FROM}` to
- :samp:`{TO}`. :samp:`{FROM}` will become deallocated in the process.
-
- :param FROM:
- ``ALLOCATABLE``, ``INTENT(INOUT)``, may be
- of any type and kind.
-
- :param TO:
- ``ALLOCATABLE``, ``INTENT(OUT)``, shall be
- of the same type, kind and rank as :samp:`{FROM}`.
-
- :return:
- None
-
- Standard:
- Fortran 2003 and later
-
- Class:
- Pure subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL MOVE_ALLOC(FROM, TO)
-
- Example:
- .. code-block:: fortran
-
- program test_move_alloc
- integer, allocatable :: a(:), b(:)
-
- allocate(a(3))
- a = [ 1, 2, 3 ]
- call move_alloc(a, b)
- print *, allocated(a), allocated(b)
- print *, b
- end program test_move_alloc \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/mvbits.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/mvbits.rst
deleted file mode 100644
index a3b0121..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/mvbits.rst
+++ /dev/null
@@ -1,95 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _mvbits:
-
-.. index:: MVBITS
-
-.. index:: BMVBITS
-
-.. index:: IMVBITS
-
-.. index:: JMVBITS
-
-.. index:: KMVBITS
-
-.. index:: bits, move
-
-MVBITS --- Move bits from one integer to another
-************************************************
-
-.. function:: MVBITS(FROM, FROMPOS, LEN, TO, TOPOS)
-
- Moves :samp:`{LEN}` bits from positions :samp:`{FROMPOS}` through
- ``FROMPOS+LEN-1`` of :samp:`{FROM}` to positions :samp:`{TOPOS}` through
- ``TOPOS+LEN-1`` of :samp:`{TO}`. The portion of argument :samp:`{TO}` not
- affected by the movement of bits is unchanged. The values of
- ``FROMPOS+LEN-1`` and ``TOPOS+LEN-1`` must be less than
- ``BIT_SIZE(FROM)``.
-
- :param FROM:
- The type shall be ``INTEGER``.
-
- :param FROMPOS:
- The type shall be ``INTEGER``.
-
- :param LEN:
- The type shall be ``INTEGER``.
-
- :param TO:
- The type shall be ``INTEGER``, of the
- same kind as :samp:`{FROM}`.
-
- :param TOPOS:
- The type shall be ``INTEGER``.
-
- Standard:
- Fortran 90 and later, has overloads that are GNU extensions
-
- Class:
- Elemental subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL MVBITS(FROM, FROMPOS, LEN, TO, TOPOS)
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``MVBITS(A)``
- - ``INTEGER A``
- - ``INTEGER``
- - Fortran 90 and later
- * - ``BMVBITS(A)``
- - ``INTEGER(1) A``
- - ``INTEGER(1)``
- - GNU extension
- * - ``IMVBITS(A)``
- - ``INTEGER(2) A``
- - ``INTEGER(2)``
- - GNU extension
- * - ``JMVBITS(A)``
- - ``INTEGER(4) A``
- - ``INTEGER(4)``
- - GNU extension
- * - ``KMVBITS(A)``
- - ``INTEGER(8) A``
- - ``INTEGER(8)``
- - GNU extension
-
- See also:
- :ref:`IBCLR`,
- :ref:`IBSET`,
- :ref:`IBITS`,
- :ref:`IAND`,
- :ref:`IOR`,
- :ref:`IEOR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/nearest.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/nearest.rst
deleted file mode 100644
index 8c2292c..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/nearest.rst
+++ /dev/null
@@ -1,51 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: NEAREST, real number, nearest different, floating point, nearest different
-
-.. _nearest:
-
-NEAREST --- Nearest representable number
-****************************************
-
-.. function:: NEAREST(X, S)
-
- ``NEAREST(X, S)`` returns the processor-representable number nearest
- to ``X`` in the direction indicated by the sign of ``S``.
-
- :param X:
- Shall be of type ``REAL``.
-
- :param S:
- Shall be of type ``REAL`` and
- not equal to zero.
-
- :return:
- The return value is of the same type as ``X``. If ``S`` is
- positive, ``NEAREST`` returns the processor-representable number
- greater than ``X`` and nearest to it. If ``S`` is negative,
- ``NEAREST`` returns the processor-representable number smaller than
- ``X`` and nearest to it.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = NEAREST(X, S)
-
- Example:
- .. code-block:: fortran
-
- program test_nearest
- real :: x, y
- x = nearest(42.0, 1.0)
- y = nearest(42.0, -1.0)
- write (*,"(3(G20.15))") x, y, x - y
- end program test_nearest \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/newline.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/newline.rst
deleted file mode 100644
index 0c5a830..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/newline.rst
+++ /dev/null
@@ -1,42 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: NEW_LINE, newline, output, newline
-
-.. _new_line:
-
-NEW_LINE --- New line character
-*******************************
-
-.. function:: NEW_LINE(C)
-
- ``NEW_LINE(C)`` returns the new-line character.
-
- :param C:
- The argument shall be a scalar or array of the
- type ``CHARACTER``.
-
- :return:
- Returns a :samp:`{CHARACTER}` scalar of length one with the new-line character of
- the same kind as parameter :samp:`{C}`.
-
- Standard:
- Fortran 2003 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = NEW_LINE(C)
-
- Example:
- .. code-block:: fortran
-
- program newline
- implicit none
- write(*,'(A)') 'This is record 1.'//NEW_LINE('A')//'This is record 2.'
- end program newline \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/nint.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/nint.rst
deleted file mode 100644
index 8c4eb56..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/nint.rst
+++ /dev/null
@@ -1,75 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _nint:
-
-.. index:: NINT
-
-.. index:: IDNINT
-
-.. index:: rounding, nearest whole number
-
-NINT --- Nearest whole number
-*****************************
-
-.. function:: NINT(A)
-
- ``NINT(A)`` rounds its argument to the nearest whole number.
-
- :param A:
- The type of the argument shall be ``REAL``.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- Returns :samp:`{A}` with the fractional portion of its magnitude eliminated by
- rounding to the nearest whole number and with its sign preserved,
- converted to an ``INTEGER`` of the default kind.
-
- Standard:
- Fortran 77 and later, with :samp:`{KIND}` argument Fortran 90 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = NINT(A [, KIND])
-
- Example:
- .. code-block:: fortran
-
- program test_nint
- real(4) x4
- real(8) x8
- x4 = 1.234E0_4
- x8 = 4.321_8
- print *, nint(x4), idnint(x8)
- end program test_nint
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return Type
- - Standard
-
- * - ``NINT(A)``
- - ``REAL(4) A``
- - ``INTEGER``
- - Fortran 77 and later
- * - ``IDNINT(A)``
- - ``REAL(8) A``
- - ``INTEGER``
- - Fortran 77 and later
-
- See also:
- :ref:`CEILING`,
- :ref:`FLOOR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/norm2.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/norm2.rst
deleted file mode 100644
index 05bb491..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/norm2.rst
+++ /dev/null
@@ -1,46 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: NORM2, Euclidean vector norm, L2 vector norm, norm, Euclidean
-
-.. _norm2:
-
-NORM2 --- Euclidean vector norms
-********************************
-
-.. function:: NORM2(ARRAY, DIM)
-
- Calculates the Euclidean vector norm (L_2 norm)
- of :samp:`{ARRAY}` along dimension :samp:`{DIM}`.
-
- :param ARRAY:
- Shall be an array of type ``REAL``
-
- :param DIM:
- (Optional) shall be a scalar of type
- ``INTEGER`` with a value in the range from 1 to n, where n
- equals the rank of :samp:`{ARRAY}`.
-
- :return:
- The result is of the same type as :samp:`{ARRAY}`.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = NORM2(ARRAY[, DIM])
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_sum
- REAL :: x(5) = [ real :: 1, 2, 3, 4, 5 ]
- print *, NORM2(x) ! = sqrt(55.) ~ 7.416
- END PROGRAM \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/not.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/not.rst
deleted file mode 100644
index 841b19c..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/not.rst
+++ /dev/null
@@ -1,85 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _not:
-
-.. index:: NOT
-
-.. index:: BNOT
-
-.. index:: INOT
-
-.. index:: JNOT
-
-.. index:: KNOT
-
-.. index:: bits, negate
-
-.. index:: bitwise logical not
-
-.. index:: logical not, bitwise
-
-NOT --- Logical negation
-************************
-
-.. function:: NOT()
-
- ``NOT`` returns the bitwise Boolean inverse of :samp:`{I}`.
-
- :param I:
- The type shall be ``INTEGER``.
-
- :return:
- The return type is ``INTEGER``, of the same kind as the
- argument.
-
- Standard:
- Fortran 90 and later, has overloads that are GNU extensions
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = NOT(I)
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``NOT(A)``
- - ``INTEGER A``
- - ``INTEGER``
- - Fortran 95 and later
- * - ``BNOT(A)``
- - ``INTEGER(1) A``
- - ``INTEGER(1)``
- - GNU extension
- * - ``INOT(A)``
- - ``INTEGER(2) A``
- - ``INTEGER(2)``
- - GNU extension
- * - ``JNOT(A)``
- - ``INTEGER(4) A``
- - ``INTEGER(4)``
- - GNU extension
- * - ``KNOT(A)``
- - ``INTEGER(8) A``
- - ``INTEGER(8)``
- - GNU extension
-
- See also:
- :ref:`IAND`,
- :ref:`IEOR`,
- :ref:`IOR`,
- :ref:`IBITS`,
- :ref:`IBSET`,
- :ref:`IBCLR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/null.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/null.rst
deleted file mode 100644
index 816887e..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/null.rst
+++ /dev/null
@@ -1,41 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _null:
-
-NULL --- Function that returns an disassociated pointer
-*******************************************************
-
-.. index:: NULL, pointer, status, pointer, disassociated
-
-.. function:: NULL(MOLD)
-
- Returns a disassociated pointer.
-
- :param MOLD:
- (Optional) shall be a pointer of any association
- status and of any type.
-
- :return:
- A disassociated pointer.
-
- Standard:
- Fortran 95 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- PTR => NULL([MOLD])
-
- Example:
- .. code-block:: fortran
-
- REAL, POINTER, DIMENSION(:) :: VEC => NULL ()
-
- See also:
- :ref:`ASSOCIATED` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/numimages.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/numimages.rst
deleted file mode 100644
index bcb93e0..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/numimages.rst
+++ /dev/null
@@ -1,61 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: NUM_IMAGES, coarray, NUM_IMAGES, images, number of
-
-.. _num_images:
-
-NUM_IMAGES --- Function that returns the number of images
-*********************************************************
-
-.. function:: NUM_IMAGES(DISTANCE, FAILED)
-
- Returns the number of images.
-
- :param DISTANCE:
- (optional, intent(in)) Nonnegative scalar integer
-
- :param FAILED:
- (optional, intent(in)) Scalar logical expression
-
- :return:
- Scalar default-kind integer. If :samp:`{DISTANCE}` is not present or has value 0,
- the number of images in the current team is returned. For values smaller or
- equal distance to the initial team, it returns the number of images index
- on the ancestor team which has a distance of :samp:`{DISTANCE}` from the invoking
- team. If :samp:`{DISTANCE}` is larger than the distance to the initial team, the
- number of images of the initial team is returned. If :samp:`{FAILED}` is not present
- the total number of images is returned; if it has the value ``.TRUE.``,
- the number of failed images is returned, otherwise, the number of images which
- do have not the failed status.
-
- Standard:
- Fortran 2008 and later. With :samp:`{DISTANCE}` or :samp:`{FAILED}` argument,
- Technical Specification (TS) 18508 or later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = NUM_IMAGES(DISTANCE, FAILED)
-
- Example:
- .. code-block:: fortran
-
- INTEGER :: value[*]
- INTEGER :: i
- value = THIS_IMAGE()
- SYNC ALL
- IF (THIS_IMAGE() == 1) THEN
- DO i = 1, NUM_IMAGES()
- WRITE(*,'(2(a,i0))') 'value[', i, '] is ', value[i]
- END DO
- END IF
-
- See also:
- :ref:`THIS_IMAGE`,
- :ref:`IMAGE_INDEX` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/or.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/or.rst
deleted file mode 100644
index 2ca58a5..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/or.rst
+++ /dev/null
@@ -1,60 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _or:
-
-OR --- Bitwise logical OR
-*************************
-
-.. index:: OR, bitwise logical or, logical or, bitwise
-
-.. function:: OR(I, J)
-
- Bitwise logical ``OR``.
-
- :param I:
- The type shall be either a scalar ``INTEGER``
- type or a scalar ``LOGICAL`` type or a boz-literal-constant.
-
- :param J:
- The type shall be the same as the type of :samp:`{I}` or
- a boz-literal-constant. :samp:`{I}` and :samp:`{J}` shall not both be
- boz-literal-constants. If either :samp:`{I}` and :samp:`{J}` is a
- boz-literal-constant, then the other argument must be a scalar ``INTEGER``.
-
- :return:
- The return type is either a scalar ``INTEGER`` or a scalar
- ``LOGICAL``. If the kind type parameters differ, then the
- smaller kind type is implicitly converted to larger kind, and the
- return has the larger kind. A boz-literal-constant is
- converted to an ``INTEGER`` with the kind type parameter of
- the other argument as-if a call to :ref:`INT` occurred.
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = OR(I, J)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_or
- LOGICAL :: T = .TRUE., F = .FALSE.
- INTEGER :: a, b
- DATA a / Z'F' /, b / Z'3' /
-
- WRITE (*,*) OR(T, T), OR(T, F), OR(F, T), OR(F, F)
- WRITE (*,*) OR(a, b)
- END PROGRAM
-
- See also:
- Fortran 95 elemental function:
- :ref:`IOR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/pack.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/pack.rst
deleted file mode 100644
index 183bb52..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/pack.rst
+++ /dev/null
@@ -1,72 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: PACK, array, packing, array, reduce dimension, array, gather elements
-
-.. _pack:
-
-PACK --- Pack an array into an array of rank one
-************************************************
-
-.. function:: PACK(ARRAY, MASK,VECTOR)
-
- Stores the elements of :samp:`{ARRAY}` in an array of rank one.
-
- :param ARRAY:
- Shall be an array of any type.
-
- :param MASK:
- Shall be an array of type ``LOGICAL`` and
- of the same size as :samp:`{ARRAY}`. Alternatively, it may be a ``LOGICAL``
- scalar.
-
- :param VECTOR:
- (Optional) shall be an array of the same type
- as :samp:`{ARRAY}` and of rank one. If present, the number of elements in
- :samp:`{VECTOR}` shall be equal to or greater than the number of true elements
- in :samp:`{MASK}`. If :samp:`{MASK}` is scalar, the number of elements in
- :samp:`{VECTOR}` shall be equal to or greater than the number of elements in
- :samp:`{ARRAY}`.
-
- :return:
- The result is an array of rank one and the same type as that of :samp:`{ARRAY}`.
- If :samp:`{VECTOR}` is present, the result size is that of :samp:`{VECTOR}`, the
- number of ``TRUE`` values in :samp:`{MASK}` otherwise.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = PACK(ARRAY, MASK[,VECTOR])
-
- Example:
- Gathering nonzero elements from an array:
-
- .. code-block:: fortran
-
- PROGRAM test_pack_1
- INTEGER :: m(6)
- m = (/ 1, 0, 0, 0, 5, 0 /)
- WRITE(*, FMT="(6(I0, ' '))") pack(m, m /= 0) ! "1 5"
- END PROGRAM
-
- Gathering nonzero elements from an array and appending elements from :samp:`{VECTOR}` :
-
- .. code-block:: fortran
-
- PROGRAM test_pack_2
- INTEGER :: m(4)
- m = (/ 1, 0, 0, 2 /)
- ! The following results in "1 2 3 4"
- WRITE(*, FMT="(4(I0, ' '))") pack(m, m /= 0, (/ 0, 0, 3, 4 /))
- END PROGRAM
-
- See also:
- :ref:`UNPACK` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/parity.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/parity.rst
deleted file mode 100644
index 6617c0f..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/parity.rst
+++ /dev/null
@@ -1,46 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: PARITY, Parity, Reduction, XOR, XOR reduction
-
-.. _parity:
-
-PARITY --- Reduction with exclusive OR
-**************************************
-
-.. function:: PARITY(MASK, DIM)
-
- Calculates the parity, i.e. the reduction using ``.XOR.``,
- of :samp:`{MASK}` along dimension :samp:`{DIM}`.
-
- :param MASK:
- Shall be an array of type ``LOGICAL``
-
- :param DIM:
- (Optional) shall be a scalar of type
- ``INTEGER`` with a value in the range from 1 to n, where n
- equals the rank of :samp:`{MASK}`.
-
- :return:
- The result is of the same type as :samp:`{MASK}`.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = PARITY(MASK[, DIM])
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_sum
- LOGICAL :: x(2) = [ .true., .false. ]
- print *, PARITY(x) ! prints "T" (true).
- END PROGRAM \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/perror.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/perror.rst
deleted file mode 100644
index 22e13e3..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/perror.rst
+++ /dev/null
@@ -1,35 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: PERROR, system, error handling
-
-.. _perror:
-
-PERROR --- Print system error message
-*************************************
-
-.. function:: PERROR(STRING)
-
- Prints (on the C ``stderr`` stream) a newline-terminated error
- message corresponding to the last system error. This is prefixed by
- :samp:`{STRING}`, a colon and a space. See ``perror(3)``.
-
- :param STRING:
- A scalar of type ``CHARACTER`` and of the
- default kind.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL PERROR(STRING)
-
- See also:
- :ref:`IERRNO` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/popcnt.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/popcnt.rst
deleted file mode 100644
index 5e9d19b..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/popcnt.rst
+++ /dev/null
@@ -1,48 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: POPCNT, binary representation, bits set
-
-.. _popcnt:
-
-POPCNT --- Number of bits set
-*****************************
-
-.. function:: POPCNT(I)
-
- ``POPCNT(I)`` returns the number of bits set ('1' bits) in the binary
- representation of ``I``.
-
- :param I:
- Shall be of type ``INTEGER``.
-
- :return:
- The return value is of type ``INTEGER`` and of the default integer
- kind.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = POPCNT(I)
-
- Example:
- .. code-block:: fortran
-
- program test_population
- print *, popcnt(127), poppar(127)
- print *, popcnt(huge(0_4)), poppar(huge(0_4))
- print *, popcnt(huge(0_8)), poppar(huge(0_8))
- end program test_population
-
- See also:
- :ref:`POPPAR`,
- :ref:`LEADZ`,
- :ref:`TRAILZ` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/poppar.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/poppar.rst
deleted file mode 100644
index 85f1641..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/poppar.rst
+++ /dev/null
@@ -1,50 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: POPPAR, binary representation, parity
-
-.. _poppar:
-
-POPPAR --- Parity of the number of bits set
-*******************************************
-
-.. function:: POPPAR(I)
-
- ``POPPAR(I)`` returns parity of the integer ``I``, i.e. the parity
- of the number of bits set ('1' bits) in the binary representation of
- ``I``. It is equal to 0 if ``I`` has an even number of bits set,
- and 1 for an odd number of '1' bits.
-
- :param I:
- Shall be of type ``INTEGER``.
-
- :return:
- The return value is of type ``INTEGER`` and of the default integer
- kind.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = POPPAR(I)
-
- Example:
- .. code-block:: fortran
-
- program test_population
- print *, popcnt(127), poppar(127)
- print *, popcnt(huge(0_4)), poppar(huge(0_4))
- print *, popcnt(huge(0_8)), poppar(huge(0_8))
- end program test_population
-
- See also:
- :ref:`POPCNT`,
- :ref:`LEADZ`,
- :ref:`TRAILZ` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/precision.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/precision.rst
deleted file mode 100644
index 892786a..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/precision.rst
+++ /dev/null
@@ -1,50 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: PRECISION, model representation, precision
-
-.. _precision:
-
-PRECISION --- Decimal precision of a real kind
-**********************************************
-
-.. function:: PRECISION(X)
-
- ``PRECISION(X)`` returns the decimal precision in the model of the
- type of ``X``.
-
- :param X:
- Shall be of type ``REAL`` or ``COMPLEX``. It may
- be scalar or valued.
-
- :return:
- The return value is of type ``INTEGER`` and of the default integer
- kind.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = PRECISION(X)
-
- Example:
- .. code-block:: fortran
-
- program prec_and_range
- real(kind=4) :: x(2)
- complex(kind=8) :: y
-
- print *, precision(x), range(x)
- print *, precision(y), range(y)
- end program prec_and_range
-
- See also:
- :ref:`SELECTED_REAL_KIND`,
- :ref:`RANGE` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/present.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/present.rst
deleted file mode 100644
index c2f8f34..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/present.rst
+++ /dev/null
@@ -1,47 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: PRESENT
-
-.. _present:
-
-PRESENT --- Determine whether an optional dummy argument is specified
-*********************************************************************
-
-.. function:: PRESENT(A)
-
- Determines whether an optional dummy argument is present.
-
- :param A:
- May be of any type and may be a pointer, scalar or array
- value, or a dummy procedure. It shall be the name of an optional dummy argument
- accessible within the current subroutine or function.
-
- :return:
- Returns either ``TRUE`` if the optional argument :samp:`{A}` is present, or
- ``FALSE`` otherwise.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = PRESENT(A)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_present
- WRITE(*,*) f(), f(42) ! "F T"
- CONTAINS
- LOGICAL FUNCTION f(x)
- INTEGER, INTENT(IN), OPTIONAL :: x
- f = PRESENT(x)
- END FUNCTION
- END PROGRAM \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/product.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/product.rst
deleted file mode 100644
index 81d59d6..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/product.rst
+++ /dev/null
@@ -1,56 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: PRODUCT, array, product, array, multiply elements, array, conditionally multiply elements, multiply array elements
-
-.. _product:
-
-PRODUCT --- Product of array elements
-*************************************
-
-.. function:: PRODUCT(ARRAY, DIM, MASK)
-
- Multiplies the elements of :samp:`{ARRAY}` along dimension :samp:`{DIM}` if
- the corresponding element in :samp:`{MASK}` is ``TRUE``.
-
- :param ARRAY:
- Shall be an array of type ``INTEGER``,
- ``REAL`` or ``COMPLEX``.
-
- :param DIM:
- (Optional) shall be a scalar of type
- ``INTEGER`` with a value in the range from 1 to n, where n
- equals the rank of :samp:`{ARRAY}`.
-
- :param MASK:
- (Optional) shall be of type ``LOGICAL``
- and either be a scalar or an array of the same shape as :samp:`{ARRAY}`.
-
- :return:
- The result is of the same type as :samp:`{ARRAY}`.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = PRODUCT(ARRAY[, MASK])
- RESULT = PRODUCT(ARRAY, DIM[, MASK])
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_product
- INTEGER :: x(5) = (/ 1, 2, 3, 4 ,5 /)
- print *, PRODUCT(x) ! all elements, product = 120
- print *, PRODUCT(x, MASK=MOD(x, 2)==1) ! odd elements, product = 15
- END PROGRAM
-
- See also:
- :ref:`SUM` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/radix.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/radix.rst
deleted file mode 100644
index 14379ce..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/radix.rst
+++ /dev/null
@@ -1,44 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: RADIX, model representation, base, model representation, radix
-
-.. _radix:
-
-RADIX --- Base of a model number
-********************************
-
-.. function:: RADIX(X)
-
- ``RADIX(X)`` returns the base of the model representing the entity :samp:`{X}`.
-
- :param X:
- Shall be of type ``INTEGER`` or ``REAL``
-
- :return:
- The return value is a scalar of type ``INTEGER`` and of the default
- integer kind.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = RADIX(X)
-
- Example:
- .. code-block:: fortran
-
- program test_radix
- print *, "The radix for the default integer kind is", radix(0)
- print *, "The radix for the default real kind is", radix(0.0)
- end program test_radix
-
- See also:
- :ref:`SELECTED_REAL_KIND` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ran.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ran.rst
deleted file mode 100644
index deee7b0..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ran.rst
+++ /dev/null
@@ -1,27 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _ran:
-
-RAN --- Real pseudo-random number
-*********************************
-
-.. index:: RAN, random number generation
-
-.. function:: RAN()
-
- For compatibility with HP FORTRAN 77/iX, the ``RAN`` intrinsic is
- provided as an alias for ``RAND``. See :ref:`RAND` for complete
- documentation.
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- See also:
- :ref:`RAND`,
- :ref:`RANDOM_NUMBER` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/rand.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/rand.rst
deleted file mode 100644
index c8fe878..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/rand.rst
+++ /dev/null
@@ -1,51 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: RAND, random number generation
-
-.. _rand:
-
-RAND --- Real pseudo-random number
-**********************************
-
-.. function:: RAND(FLAG)
-
- ``RAND(FLAG)`` returns a pseudo-random number from a uniform
- distribution between 0 and 1. If :samp:`{FLAG}` is 0, the next number
- in the current sequence is returned; if :samp:`{FLAG}` is 1, the generator
- is restarted by ``CALL SRAND(0)`` ; if :samp:`{FLAG}` has any other value,
- it is used as a new seed with ``SRAND``.
-
- :param I:
- Shall be a scalar ``INTEGER`` of kind 4.
-
- :return:
- The return value is of ``REAL`` type and the default kind.
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = RAND(I)
-
- Example:
- .. code-block:: fortran
-
- program test_rand
- integer,parameter :: seed = 86456
-
- call srand(seed)
- print *, rand(), rand(), rand(), rand()
- print *, rand(seed), rand(), rand(), rand()
- end program test_rand
-
- See also:
- :ref:`SRAND`,
- :ref:`RANDOM_NUMBER` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/randominit.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/randominit.rst
deleted file mode 100644
index 7e1ffd5..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/randominit.rst
+++ /dev/null
@@ -1,62 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: RANDOM_INIT, random number generation, initialization
-
-.. _random_init:
-
-RANDOM_INIT --- Initialize a pseudo-random number generator
-***********************************************************
-
-.. function:: RANDOM_INIT(REPEATABLE, IMAGE_DISTINCT)
-
- Initializes the state of the pseudorandom number generator used by
- ``RANDOM_NUMBER``.
-
- :param REPEATABLE:
- Shall be a scalar with a ``LOGICAL`` type,
- and it is ``INTENT(IN)``. If it is ``.true.``, the seed is set to
- a processor-dependent value that is the same each time ``RANDOM_INIT``
- is called from the same image. The term 'same image' means a single
- instance of program execution. The sequence of random numbers is different
- for repeated execution of the program. If it is ``.false.``, the seed
- is set to a processor-dependent value.
-
- :param IMAGE_DISTINCT:
- Shall be a scalar with a
- ``LOGICAL`` type, and it is ``INTENT(IN)``. If it is ``.true.``,
- the seed is set to a processor-dependent value that is distinct from th
- seed set by a call to ``RANDOM_INIT`` in another image. If it is
- ``.false.``, the seed is set to a value that does depend which image called
- ``RANDOM_INIT``.
-
- Standard:
- Fortran 2018
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL RANDOM_INIT(REPEATABLE, IMAGE_DISTINCT)
-
- Example:
- .. code-block:: fortran
-
- program test_random_seed
- implicit none
- real x(3), y(3)
- call random_init(.true., .true.)
- call random_number(x)
- call random_init(.true., .true.)
- call random_number(y)
- ! x and y are the same sequence
- if (any(x /= y)) call abort
- end program test_random_seed
-
- See also:
- :ref:`RANDOM_NUMBER`,
- :ref:`RANDOM_SEED` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/randomnumber.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/randomnumber.rst
deleted file mode 100644
index 77935c9..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/randomnumber.rst
+++ /dev/null
@@ -1,42 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: RANDOM_NUMBER, random number generation
-
-.. _random_number:
-
-RANDOM_NUMBER --- Pseudo-random number
-**************************************
-
-.. function:: RANDOM_NUMBER(HARVEST)
-
- Returns a single pseudorandom number or an array of pseudorandom numbers
- from the uniform distribution over the range 0 \leq x < 1.
-
- :param HARVEST:
- Shall be a scalar or an array of type ``REAL``.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL RANDOM_NUMBER(HARVEST)
-
- Example:
- .. code-block:: fortran
-
- program test_random_number
- REAL :: r(5,5)
- CALL RANDOM_NUMBER(r)
- end program
-
- See also:
- :ref:`RANDOM_SEED`,
- :ref:`RANDOM_INIT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/randomseed.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/randomseed.rst
deleted file mode 100644
index 01b2b9f..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/randomseed.rst
+++ /dev/null
@@ -1,62 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: RANDOM_SEED, random number generation, seeding, seeding a random number generator
-
-.. _random_seed:
-
-RANDOM_SEED --- Initialize a pseudo-random number sequence
-**********************************************************
-
-.. function:: RANDOM_SEED(SIZE, PUT, GET)
-
- Restarts or queries the state of the pseudorandom number generator used by
- ``RANDOM_NUMBER``.
-
- :param SIZE:
- (Optional) Shall be a scalar and of type default
- ``INTEGER``, with ``INTENT(OUT)``. It specifies the minimum size
- of the arrays used with the :samp:`{PUT}` and :samp:`{GET}` arguments.
-
- :param PUT:
- (Optional) Shall be an array of type default
- ``INTEGER`` and rank one. It is ``INTENT(IN)`` and the size of
- the array must be larger than or equal to the number returned by the
- :samp:`{SIZE}` argument.
-
- :param GET:
- (Optional) Shall be an array of type default
- ``INTEGER`` and rank one. It is ``INTENT(OUT)`` and the size
- of the array must be larger than or equal to the number returned by
- the :samp:`{SIZE}` argument.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL RANDOM_SEED([SIZE, PUT, GET])
-
- Example:
- .. code-block:: fortran
-
- program test_random_seed
- implicit none
- integer, allocatable :: seed(:)
- integer :: n
-
- call random_seed(size = n)
- allocate(seed(n))
- call random_seed(get=seed)
- write (*, *) seed
- end program test_random_seed
-
- See also:
- :ref:`RANDOM_NUMBER`,
- :ref:`RANDOM_INIT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/range.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/range.rst
deleted file mode 100644
index 1bfd6b9..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/range.rst
+++ /dev/null
@@ -1,42 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: RANGE, model representation, range
-
-.. _range:
-
-RANGE --- Decimal exponent range
-********************************
-
-.. function:: RANGE(X)
-
- ``RANGE(X)`` returns the decimal exponent range in the model of the
- type of ``X``.
-
- :param X:
- Shall be of type ``INTEGER``, ``REAL``
- or ``COMPLEX``.
-
- :return:
- The return value is of type ``INTEGER`` and of the default integer
- kind.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = RANGE(X)
-
- Example:
- See ``PRECISION`` for an example.
-
- See also:
- :ref:`SELECTED_REAL_KIND`,
- :ref:`PRECISION` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/rank.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/rank.rst
deleted file mode 100644
index 4f4ab02..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/rank.rst
+++ /dev/null
@@ -1,43 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: RANK, rank
-
-.. _rank:
-
-RANK --- Rank of a data object
-******************************
-
-.. function:: RANK(A)
-
- ``RANK(A)`` returns the rank of a scalar or array data object.
-
- :param A:
- can be of any type
-
- :return:
- The return value is of type ``INTEGER`` and of the default integer
- kind. For arrays, their rank is returned; for scalars zero is returned.
-
- Standard:
- Technical Specification (TS) 29113
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = RANK(A)
-
- Example:
- .. code-block:: fortran
-
- program test_rank
- integer :: a
- real, allocatable :: b(:,:)
-
- print *, rank(a), rank(b) ! Prints: 0 2
- end program test_rank \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/real.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/real.rst
deleted file mode 100644
index 0f15f5c..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/real.rst
+++ /dev/null
@@ -1,104 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _real:
-
-.. index:: REAL
-
-.. index:: REALPART
-
-.. index:: FLOAT
-
-.. index:: DFLOAT
-
-.. index:: FLOATI
-
-.. index:: FLOATJ
-
-.. index:: FLOATK
-
-.. index:: SNGL
-
-.. index:: conversion, to real
-
-.. index:: complex numbers, real part
-
-REAL --- Convert to real type
-******************************
-
-.. function:: REAL(A [, KIND])
-
- ``REAL(A [, KIND])`` converts its argument :samp:`{A}` to a real type. The
- ``REALPART`` function is provided for compatibility with :command:`g77`,
- and its use is strongly discouraged.
-
- :param A:
- Shall be ``INTEGER``, ``REAL``, or
- ``COMPLEX``.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- These functions return a ``REAL`` variable or array under
- the following rules:
-
- Standard:
- Fortran 77 and later, with :samp:`{KIND}` argument Fortran 90 and later, has GNU extensions
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = REAL(A [, KIND])
- RESULT = REALPART(Z)
-
- Example:
- .. code-block:: fortran
-
- program test_real
- complex :: x = (1.0, 2.0)
- print *, real(x), real(x,8), realpart(x)
- end program test_real
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``FLOAT(A)``
- - ``INTEGER(4)``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DFLOAT(A)``
- - ``INTEGER(4)``
- - ``REAL(8)``
- - GNU extension
- * - ``FLOATI(A)``
- - ``INTEGER(2)``
- - ``REAL(4)``
- - GNU extension (-fdec)
- * - ``FLOATJ(A)``
- - ``INTEGER(4)``
- - ``REAL(4)``
- - GNU extension (-fdec)
- * - ``FLOATK(A)``
- - ``INTEGER(8)``
- - ``REAL(4)``
- - GNU extension (-fdec)
- * - ``SNGL(A)``
- - ``REAL(8)``
- - ``REAL(4)``
- - Fortran 77 and later
-
- See also:
- :ref:`DBLE` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/rename.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/rename.rst
deleted file mode 100644
index 594cbd9..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/rename.rst
+++ /dev/null
@@ -1,44 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: RENAME, file system, rename file
-
-.. _rename:
-
-RENAME --- Rename a file
-************************
-
-.. function:: RENAME(PATH1, PATH2)
-
- Renames a file from file :samp:`{PATH1}` to :samp:`{PATH2}`. A null
- character (``CHAR(0)``) can be used to mark the end of the names in
- :samp:`{PATH1}` and :samp:`{PATH2}` ; otherwise, trailing blanks in the file
- names are ignored. If the :samp:`{STATUS}` argument is supplied, it
- contains 0 on success or a nonzero error code upon return; see
- ``rename(2)``.
-
- :param PATH1:
- Shall be of default ``CHARACTER`` type.
-
- :param PATH2:
- Shall be of default ``CHARACTER`` type.
-
- :param STATUS:
- (Optional) Shall be of default ``INTEGER`` type.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL RENAME(PATH1, PATH2 [, STATUS])
- STATUS = RENAME(PATH1, PATH2)
-
- See also:
- :ref:`LINK` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/repeat.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/repeat.rst
deleted file mode 100644
index 8fd52f6..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/repeat.rst
+++ /dev/null
@@ -1,43 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: REPEAT, string, repeat, string, concatenate
-
-.. _repeat:
-
-REPEAT --- Repeated string concatenation
-*****************************************
-
-.. function:: REPEAT(STRING, NCOPIES)
-
- Concatenates :samp:`{NCOPIES}` copies of a string.
-
- :param STRING:
- Shall be scalar and of type ``CHARACTER``.
-
- :param NCOPIES:
- Shall be scalar and of type ``INTEGER``.
-
- :return:
- A new scalar of type ``CHARACTER`` built up from :samp:`{NCOPIES}` copies
- of :samp:`{STRING}`.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = REPEAT(STRING, NCOPIES)
-
- Example:
- .. code-block:: fortran
-
- program test_repeat
- write(*,*) repeat("x", 5) ! "xxxxx"
- end program \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/reshape.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/reshape.rst
deleted file mode 100644
index de975fd..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/reshape.rst
+++ /dev/null
@@ -1,62 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: RESHAPE, array, change dimensions, array, transmogrify
-
-.. _reshape:
-
-RESHAPE --- Function to reshape an array
-****************************************
-
-.. function:: RESHAPE(SOURCE, SHAPE, PAD, ORDER)
-
- Reshapes :samp:`{SOURCE}` to correspond to :samp:`{SHAPE}`. If necessary,
- the new array may be padded with elements from :samp:`{PAD}` or permuted
- as defined by :samp:`{ORDER}`.
-
- :param SOURCE:
- Shall be an array of any type.
-
- :param SHAPE:
- Shall be of type ``INTEGER`` and an
- array of rank one. Its values must be positive or zero.
-
- :param PAD:
- (Optional) shall be an array of the same
- type as :samp:`{SOURCE}`.
-
- :param ORDER:
- (Optional) shall be of type ``INTEGER``
- and an array of the same shape as :samp:`{SHAPE}`. Its values shall
- be a permutation of the numbers from 1 to n, where n is the size of
- :samp:`{SHAPE}`. If :samp:`{ORDER}` is absent, the natural ordering shall
- be assumed.
-
- :return:
- The result is an array of shape :samp:`{SHAPE}` with the same type as
- :samp:`{SOURCE}`.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = RESHAPE(SOURCE, SHAPE[, PAD, ORDER])
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_reshape
- INTEGER, DIMENSION(4) :: x
- WRITE(*,*) SHAPE(x) ! prints "4"
- WRITE(*,*) SHAPE(RESHAPE(x, (/2, 2/))) ! prints "2 2"
- END PROGRAM
-
- See also:
- :ref:`SHAPE` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/rrspacing.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/rrspacing.rst
deleted file mode 100644
index c287aaa..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/rrspacing.rst
+++ /dev/null
@@ -1,38 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: RRSPACING, real number, relative spacing, floating point, relative spacing
-
-.. _rrspacing:
-
-RRSPACING --- Reciprocal of the relative spacing
-************************************************
-
-.. function:: RRSPACING(X)
-
- ``RRSPACING(X)`` returns the reciprocal of the relative spacing of
- model numbers near :samp:`{X}`.
-
- :param X:
- Shall be of type ``REAL``.
-
- :return:
- The return value is of the same type and kind as :samp:`{X}`.
- The value returned is equal to
- ``ABS(FRACTION(X)) * FLOAT(RADIX(X))**DIGITS(X)``.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = RRSPACING(X)
-
- See also:
- :ref:`SPACING` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/rshift.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/rshift.rst
deleted file mode 100644
index 34d0c6d..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/rshift.rst
+++ /dev/null
@@ -1,50 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _rshift:
-
-RSHIFT --- Right shift bits
-***************************
-
-.. index:: RSHIFT, bits, shift right
-
-.. function:: RSHIFT(I, SHIFT)
-
- ``RSHIFT`` returns a value corresponding to :samp:`{I}` with all of the
- bits shifted right by :samp:`{SHIFT}` places. :samp:`{SHIFT}` shall be
- nonnegative and less than or equal to ``BIT_SIZE(I)``, otherwise
- the result value is undefined. Bits shifted out from the right end
- are lost. The fill is arithmetic: the bits shifted in from the left
- end are equal to the leftmost bit, which in two's complement
- representation is the sign bit.
-
- :param I:
- The type shall be ``INTEGER``.
-
- :param SHIFT:
- The type shall be ``INTEGER``.
-
- :return:
- The return value is of type ``INTEGER`` and of the same kind as
- :samp:`{I}`.
-
- Standard:
- GNU extension
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = RSHIFT(I, SHIFT)
-
- See also:
- :ref:`ISHFT`,
- :ref:`ISHFTC`,
- :ref:`LSHIFT`,
- :ref:`SHIFTA`,
- :ref:`SHIFTR`,
- :ref:`SHIFTL` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/sametypeas.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/sametypeas.rst
deleted file mode 100644
index 9f19b37..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/sametypeas.rst
+++ /dev/null
@@ -1,41 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SAME_TYPE_AS
-
-.. _same_type_as:
-
-SAME_TYPE_AS --- Query dynamic types for equality
-**************************************************
-
-.. function:: SAME_TYPE_AS(A, B)
-
- Query dynamic types for equality.
-
- :param A:
- Shall be an object of extensible declared type or
- unlimited polymorphic.
-
- :param B:
- Shall be an object of extensible declared type or
- unlimited polymorphic.
-
- :return:
- The return value is a scalar of type default logical. It is true if and
- only if the dynamic type of A is the same as the dynamic type of B.
-
- Standard:
- Fortran 2003 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SAME_TYPE_AS(A, B)
-
- See also:
- :ref:`EXTENDS_TYPE_OF` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/scale.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/scale.rst
deleted file mode 100644
index 96ba1cf..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/scale.rst
+++ /dev/null
@@ -1,45 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SCALE, real number, scale, floating point, scale
-
-.. _scale:
-
-SCALE --- Scale a real value
-****************************
-
-.. function:: SCALE(X,I)
-
- ``SCALE(X,I)`` returns ``X * RADIX(X)**I``.
-
- :param X:
- The type of the argument shall be a ``REAL``.
-
- :param I:
- The type of the argument shall be a ``INTEGER``.
-
- :return:
- The return value is of the same type and kind as :samp:`{X}`.
- Its value is ``X * RADIX(X)**I``.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SCALE(X, I)
-
- Example:
- .. code-block:: fortran
-
- program test_scale
- real :: x = 178.1387e-4
- integer :: i = 5
- print *, scale(x,i), x*radix(x)**i
- end program test_scale \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/scan.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/scan.rst
deleted file mode 100644
index 20d4a86..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/scan.rst
+++ /dev/null
@@ -1,57 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SCAN, string, find subset
-
-.. _scan:
-
-SCAN --- Scan a string for the presence of a set of characters
-**************************************************************
-
-.. function:: SCAN(STRING, SET, BACK , KIND)
-
- Scans a :samp:`{STRING}` for any of the characters in a :samp:`{SET}`
- of characters.
-
- :param STRING:
- Shall be of type ``CHARACTER``.
-
- :param SET:
- Shall be of type ``CHARACTER``.
-
- :param BACK:
- (Optional) shall be of type ``LOGICAL``.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``INTEGER`` and of kind :samp:`{KIND}`. If
- :samp:`{KIND}` is absent, the return value is of default integer kind.
-
- Standard:
- Fortran 90 and later, with :samp:`{KIND}` argument Fortran 2003 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SCAN(STRING, SET[, BACK [, KIND]])
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_scan
- WRITE(*,*) SCAN("FORTRAN", "AO") ! 2, found 'O'
- WRITE(*,*) SCAN("FORTRAN", "AO", .TRUE.) ! 6, found 'A'
- WRITE(*,*) SCAN("FORTRAN", "C++") ! 0, found none
- END PROGRAM
-
- See also:
- :ref:`index-intrinsic`,
- :ref:`VERIFY` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/secnds.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/secnds.rst
deleted file mode 100644
index 984bef5..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/secnds.rst
+++ /dev/null
@@ -1,52 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SECNDS, time, elapsed, elapsed time
-
-.. _secnds:
-
-SECNDS --- Time function
-************************
-
-.. function:: SECNDS(X)
-
- ``SECNDS(X)`` gets the time in seconds from the real-time system clock.
- :samp:`{X}` is a reference time, also in seconds. If this is zero, the time in
- seconds from midnight is returned. This function is non-standard and its
- use is discouraged.
-
- :param T:
- Shall be of type ``REAL(4)``.
-
- :param X:
- Shall be of type ``REAL(4)``.
-
- :return:
- None
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SECNDS (X)
-
- Example:
- .. code-block:: fortran
-
- program test_secnds
- integer :: i
- real(4) :: t1, t2
- print *, secnds (0.0) ! seconds since midnight
- t1 = secnds (0.0) ! reference time
- do i = 1, 10000000 ! do something
- end do
- t2 = secnds (t1) ! elapsed time
- print *, "Something took ", t2, " seconds."
- end program test_secnds \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/second.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/second.rst
deleted file mode 100644
index 6c30045..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/second.rst
+++ /dev/null
@@ -1,40 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SECOND, time, elapsed, elapsed time
-
-.. _second:
-
-SECOND --- CPU time function
-****************************
-
-.. function:: SECOND()
-
- Returns a ``REAL(4)`` value representing the elapsed CPU time in
- seconds. This provides the same functionality as the standard
- ``CPU_TIME`` intrinsic, and is only included for backwards
- compatibility.
-
- :param TIME:
- Shall be of type ``REAL(4)``.
-
- :return:
- In either syntax, :samp:`{TIME}` is set to the process's current runtime in
- seconds.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL SECOND(TIME)
- TIME = SECOND()
-
- See also:
- :ref:`CPU_TIME` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/selectedcharkind.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/selectedcharkind.rst
deleted file mode 100644
index f5321dd..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/selectedcharkind.rst
+++ /dev/null
@@ -1,56 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SELECTED_CHAR_KIND, character kind, kind, character
-
-.. _selected_char_kind:
-
-SELECTED_CHAR_KIND --- Choose character kind
-********************************************
-
-.. function:: SELECTED_CHAR_KIND(NAME)
-
- ``SELECTED_CHAR_KIND(NAME)`` returns the kind value for the character
- set named :samp:`{NAME}`, if a character set with such a name is supported,
- or -1 otherwise. Currently, supported character sets include
- 'ASCII' and 'DEFAULT', which are equivalent, and 'ISO_10646'
- (Universal Character Set, UCS-4) which is commonly known as Unicode.
-
- :param NAME:
- Shall be a scalar and of the default character type.
-
- Standard:
- Fortran 2003 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SELECTED_CHAR_KIND(NAME)
-
- Example:
- .. code-block:: fortran
-
- program character_kind
- use iso_fortran_env
- implicit none
- integer, parameter :: ascii = selected_char_kind ("ascii")
- integer, parameter :: ucs4 = selected_char_kind ('ISO_10646')
-
- character(kind=ascii, len=26) :: alphabet
- character(kind=ucs4, len=30) :: hello_world
-
- alphabet = ascii_"abcdefghijklmnopqrstuvwxyz"
- hello_world = ucs4_'Hello World and Ni Hao -- ' &
- // char (int (z'4F60'), ucs4) &
- // char (int (z'597D'), ucs4)
-
- write (*,*) alphabet
-
- open (output_unit, encoding='UTF-8')
- write (*,*) trim (hello_world)
- end program character_kind \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/selectedintkind.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/selectedintkind.rst
deleted file mode 100644
index 6e302d1..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/selectedintkind.rst
+++ /dev/null
@@ -1,48 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SELECTED_INT_KIND, integer kind, kind, integer
-
-.. _selected_int_kind:
-
-SELECTED_INT_KIND --- Choose integer kind
-*****************************************
-
-.. function:: SELECTED_INT_KIND(R)
-
- ``SELECTED_INT_KIND(R)`` return the kind value of the smallest integer
- type that can represent all values ranging from -10^R (exclusive)
- to 10^R (exclusive). If there is no integer kind that accommodates
- this range, ``SELECTED_INT_KIND`` returns -1.
-
- :param R:
- Shall be a scalar and of type ``INTEGER``.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SELECTED_INT_KIND(R)
-
- Example:
- .. code-block:: fortran
-
- program large_integers
- integer,parameter :: k5 = selected_int_kind(5)
- integer,parameter :: k15 = selected_int_kind(15)
- integer(kind=k5) :: i5
- integer(kind=k15) :: i15
-
- print *, huge(i5), huge(i15)
-
- ! The following inequalities are always true
- print *, huge(i5) >= 10_k5**5-1
- print *, huge(i15) >= 10_k15**15-1
- end program large_integers \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/selectedrealkind.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/selectedrealkind.rst
deleted file mode 100644
index bf540f9..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/selectedrealkind.rst
+++ /dev/null
@@ -1,67 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SELECTED_REAL_KIND, real kind, kind, real, radix, real
-
-.. _selected_real_kind:
-
-SELECTED_REAL_KIND --- Choose real kind
-***************************************
-
-.. function:: SELECTED_REAL_KIND(P,R)
-
- ``SELECTED_REAL_KIND(P,R)`` returns the kind value of a real data type
- with decimal precision of at least ``P`` digits, exponent range of
- at least ``R``, and with a radix of ``RADIX``.
-
- :param P:
- (Optional) shall be a scalar and of type ``INTEGER``.
-
- :param R:
- (Optional) shall be a scalar and of type ``INTEGER``.
-
- :param RADIX:
- (Optional) shall be a scalar and of type ``INTEGER``.
-
- :return:
- ``SELECTED_REAL_KIND`` returns the value of the kind type parameter of
- a real data type with decimal precision of at least ``P`` digits, a
- decimal exponent range of at least ``R``, and with the requested
- ``RADIX``. If the ``RADIX`` parameter is absent, real kinds with
- any radix can be returned. If more than one real data type meet the
- criteria, the kind of the data type with the smallest decimal precision
- is returned. If no real data type matches the criteria, the result is
-
- Standard:
- Fortran 90 and later, with ``RADIX`` Fortran 2008 or later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SELECTED_REAL_KIND([P, R, RADIX])
-
- Example:
- .. code-block:: fortran
-
- program real_kinds
- integer,parameter :: p6 = selected_real_kind(6)
- integer,parameter :: p10r100 = selected_real_kind(10,100)
- integer,parameter :: r400 = selected_real_kind(r=400)
- real(kind=p6) :: x
- real(kind=p10r100) :: y
- real(kind=r400) :: z
-
- print *, precision(x), range(x)
- print *, precision(y), range(y)
- print *, precision(z), range(z)
- end program real_kinds
-
- See also:
- :ref:`PRECISION`,
- :ref:`RANGE`,
- :ref:`RADIX` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/setexponent.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/setexponent.rst
deleted file mode 100644
index 2769cf9..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/setexponent.rst
+++ /dev/null
@@ -1,48 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SET_EXPONENT, real number, set exponent, floating point, set exponent
-
-.. _set_exponent:
-
-SET_EXPONENT --- Set the exponent of the model
-**********************************************
-
-.. function:: SET_EXPONENT(X, I)
-
- ``SET_EXPONENT(X, I)`` returns the real number whose fractional part
- is that of :samp:`{X}` and whose exponent part is :samp:`{I}`.
-
- :param X:
- Shall be of type ``REAL``.
-
- :param I:
- Shall be of type ``INTEGER``.
-
- :return:
- The return value is of the same type and kind as :samp:`{X}`.
- The real number whose fractional part
- is that of :samp:`{X}` and whose exponent part if :samp:`{I}` is returned;
- it is ``FRACTION(X) * RADIX(X)**I``.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SET_EXPONENT(X, I)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_setexp
- REAL :: x = 178.1387e-4
- INTEGER :: i = 17
- PRINT *, SET_EXPONENT(x, i), FRACTION(x) * RADIX(x)**i
- END PROGRAM \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/shape.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/shape.rst
deleted file mode 100644
index 33b1cce..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/shape.rst
+++ /dev/null
@@ -1,55 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SHAPE, array, shape
-
-.. _shape:
-
-SHAPE --- Determine the shape of an array
-*****************************************
-
-.. function:: SHAPE(SOURCE , KIND)
-
- Determines the shape of an array.
-
- :param SOURCE:
- Shall be an array or scalar of any type.
- If :samp:`{SOURCE}` is a pointer it must be associated and allocatable
- arrays must be allocated.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- An ``INTEGER`` array of rank one with as many elements as :samp:`{SOURCE}`
- has dimensions. The elements of the resulting array correspond to the extend
- of :samp:`{SOURCE}` along the respective dimensions. If :samp:`{SOURCE}` is a scalar,
- the result is the rank one array of size zero. If :samp:`{KIND}` is absent, the
- return value has the default integer kind otherwise the specified kind.
-
- Standard:
- Fortran 90 and later, with :samp:`{KIND}` argument Fortran 2003 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SHAPE(SOURCE [, KIND])
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_shape
- INTEGER, DIMENSION(-1:1, -1:2) :: A
- WRITE(*,*) SHAPE(A) ! (/ 3, 4 /)
- WRITE(*,*) SIZE(SHAPE(42)) ! (/ /)
- END PROGRAM
-
- See also:
- :ref:`RESHAPE`,
- :ref:`SIZE` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/shifta.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/shifta.rst
deleted file mode 100644
index e897cbe..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/shifta.rst
+++ /dev/null
@@ -1,46 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _shifta:
-
-SHIFTA --- Right shift with fill
-********************************
-
-.. index:: SHIFTA, bits, shift right, shift, right with fill
-
-.. function:: SHIFTA(I, SHIFT)
-
- ``SHIFTA`` returns a value corresponding to :samp:`{I}` with all of the
- bits shifted right by :samp:`{SHIFT}` places. :samp:`{SHIFT}` that be
- nonnegative and less than or equal to ``BIT_SIZE(I)``, otherwise
- the result value is undefined. Bits shifted out from the right end
- are lost. The fill is arithmetic: the bits shifted in from the left
- end are equal to the leftmost bit, which in two's complement
- representation is the sign bit.
-
- :param I:
- The type shall be ``INTEGER``.
-
- :param SHIFT:
- The type shall be ``INTEGER``.
-
- :return:
- The return value is of type ``INTEGER`` and of the same kind as
- :samp:`{I}`.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SHIFTA(I, SHIFT)
-
- See also:
- :ref:`SHIFTL`,
- :ref:`SHIFTR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/shiftl.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/shiftl.rst
deleted file mode 100644
index 5d160ca..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/shiftl.rst
+++ /dev/null
@@ -1,44 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _shiftl:
-
-SHIFTL --- Left shift
-*********************
-
-.. index:: SHIFTL, bits, shift left, shift, left
-
-.. function:: SHIFTL(I, SHIFT)
-
- ``SHIFTL`` returns a value corresponding to :samp:`{I}` with all of the
- bits shifted left by :samp:`{SHIFT}` places. :samp:`{SHIFT}` shall be
- nonnegative and less than or equal to ``BIT_SIZE(I)``, otherwise
- the result value is undefined. Bits shifted out from the left end are
- lost, and bits shifted in from the right end are set to 0.
-
- :param I:
- The type shall be ``INTEGER``.
-
- :param SHIFT:
- The type shall be ``INTEGER``.
-
- :return:
- The return value is of type ``INTEGER`` and of the same kind as
- :samp:`{I}`.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SHIFTL(I, SHIFT)
-
- See also:
- :ref:`SHIFTA`,
- :ref:`SHIFTR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/shiftr.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/shiftr.rst
deleted file mode 100644
index 6b12774..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/shiftr.rst
+++ /dev/null
@@ -1,44 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _shiftr:
-
-SHIFTR --- Right shift
-**********************
-
-.. index:: SHIFTR, bits, shift right, shift, right
-
-.. function:: SHIFTR(I, SHIFT)
-
- ``SHIFTR`` returns a value corresponding to :samp:`{I}` with all of the
- bits shifted right by :samp:`{SHIFT}` places. :samp:`{SHIFT}` shall be
- nonnegative and less than or equal to ``BIT_SIZE(I)``, otherwise
- the result value is undefined. Bits shifted out from the right end
- are lost, and bits shifted in from the left end are set to 0.
-
- :param I:
- The type shall be ``INTEGER``.
-
- :param SHIFT:
- The type shall be ``INTEGER``.
-
- :return:
- The return value is of type ``INTEGER`` and of the same kind as
- :samp:`{I}`.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SHIFTR(I, SHIFT)
-
- See also:
- :ref:`SHIFTA`,
- :ref:`SHIFTL` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/sign.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/sign.rst
deleted file mode 100644
index 04d0043..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/sign.rst
+++ /dev/null
@@ -1,78 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _sign:
-
-.. index:: SIGN
-
-.. index:: ISIGN
-
-.. index:: DSIGN
-
-.. index:: sign copying
-
-SIGN --- Sign copying function
-******************************
-
-.. function:: SIGN(A,B)
-
- ``SIGN(A,B)`` returns the value of :samp:`{A}` with the sign of :samp:`{B}`.
-
- :param A:
- Shall be of type ``INTEGER`` or ``REAL``
-
- :param B:
- Shall be of the same type and kind as :samp:`{A}`.
-
- :return:
- The kind of the return value is that of :samp:`{A}` and :samp:`{B}`.
- If B \ge 0 then the result is ``ABS(A)``, else
- it is ``-ABS(A)``.
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SIGN(A, B)
-
- Example:
- .. code-block:: fortran
-
- program test_sign
- print *, sign(-12,1)
- print *, sign(-12,0)
- print *, sign(-12,-1)
-
- print *, sign(-12.,1.)
- print *, sign(-12.,0.)
- print *, sign(-12.,-1.)
- end program test_sign
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Arguments
- - Return type
- - Standard
-
- * - ``SIGN(A,B)``
- - ``REAL(4) A, B``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``ISIGN(A,B)``
- - ``INTEGER(4) A, B``
- - ``INTEGER(4)``
- - Fortran 77 and later
- * - ``DSIGN(A,B)``
- - ``REAL(8) A, B``
- - ``REAL(8)``
- - Fortran 77 and later \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/signal.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/signal.rst
deleted file mode 100644
index 0ae2b3b..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/signal.rst
+++ /dev/null
@@ -1,59 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _signal:
-
-SIGNAL --- Signal handling subroutine (or function)
-***************************************************
-
-.. index:: SIGNAL, system, signal handling
-
-.. function:: SIGNAL(NUMBER, HANDLER, STATUS)
-
- ``SIGNAL(NUMBER, HANDLER [, STATUS])`` causes external subroutine
- :samp:`{HANDLER}` to be executed with a single integer argument when signal
- :samp:`{NUMBER}` occurs. If :samp:`{HANDLER}` is an integer, it can be used to
- turn off handling of signal :samp:`{NUMBER}` or revert to its default
- action. See ``signal(2)``.
-
- :param NUMBER:
- Shall be a scalar integer, with ``INTENT(IN)``
-
- :param HANDLER:
- Signal handler (``INTEGER FUNCTION`` or
- ``SUBROUTINE``) or dummy/global ``INTEGER`` scalar.
- ``INTEGER``. It is ``INTENT(IN)``.
-
- :param STATUS:
- (Optional) :samp:`{STATUS}` shall be a scalar
- integer. It has ``INTENT(OUT)``.
-
- :return:
- The ``SIGNAL`` function returns the value returned by ``signal(2)``.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL SIGNAL(NUMBER, HANDLER [, STATUS])
- STATUS = SIGNAL(NUMBER, HANDLER)
-
- Example:
- .. code-block:: fortran
-
- program test_signal
- intrinsic signal
- external handler_print
-
- call signal (12, handler_print)
- call signal (10, 1)
-
- call sleep (30)
- end program test_signal \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/sin.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/sin.rst
deleted file mode 100644
index 264f57f..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/sin.rst
+++ /dev/null
@@ -1,89 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _sin:
-
-.. index:: SIN
-
-.. index:: DSIN
-
-.. index:: CSIN
-
-.. index:: ZSIN
-
-.. index:: CDSIN
-
-.. index:: trigonometric function, sine
-
-.. index:: sine
-
-SIN --- Sine function
-**********************
-
-.. function:: SIN(X)
-
- ``SIN(X)`` computes the sine of :samp:`{X}`.
-
- :param X:
- The type shall be ``REAL`` or
- ``COMPLEX``.
-
- :return:
- The return value has same type and kind as :samp:`{X}`.
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SIN(X)
-
- Example:
- .. code-block:: fortran
-
- program test_sin
- real :: x = 0.0
- x = sin(x)
- end program test_sin
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``SIN(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DSIN(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - Fortran 77 and later
- * - ``CSIN(X)``
- - ``COMPLEX(4) X``
- - ``COMPLEX(4)``
- - Fortran 77 and later
- * - ``ZSIN(X)``
- - ``COMPLEX(8) X``
- - ``COMPLEX(8)``
- - GNU extension
- * - ``CDSIN(X)``
- - ``COMPLEX(8) X``
- - ``COMPLEX(8)``
- - GNU extension
-
- See also:
- Inverse function:
- :ref:`ASIN`
- Degrees function:
- :ref:`SIND` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/sind.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/sind.rst
deleted file mode 100644
index 8cafb10..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/sind.rst
+++ /dev/null
@@ -1,89 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _sind:
-
-.. index:: SIND
-
-.. index:: DSIND
-
-.. index:: CSIND
-
-.. index:: ZSIND
-
-.. index:: CDSIND
-
-.. index:: trigonometric function, sine, degrees
-
-.. index:: sine, degrees
-
-SIND --- Sine function, degrees
-*******************************
-
-.. function:: SIND(X)
-
- ``SIND(X)`` computes the sine of :samp:`{X}` in degrees.
-
- :param X:
- The type shall be ``REAL`` or
- ``COMPLEX``.
-
- :return:
- The return value has same type and kind as :samp:`{X}`, and its value is in degrees.
-
- Standard:
- GNU extension, enabled with :option:`-fdec-math`.
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SIND(X)
-
- Example:
- .. code-block:: fortran
-
- program test_sind
- real :: x = 0.0
- x = sind(x)
- end program test_sind
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``SIND(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - GNU extension
- * - ``DSIND(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension
- * - ``CSIND(X)``
- - ``COMPLEX(4) X``
- - ``COMPLEX(4)``
- - GNU extension
- * - ``ZSIND(X)``
- - ``COMPLEX(8) X``
- - ``COMPLEX(8)``
- - GNU extension
- * - ``CDSIND(X)``
- - ``COMPLEX(8) X``
- - ``COMPLEX(8)``
- - GNU extension
-
- See also:
- Inverse function:
- :ref:`ASIND`
- Radians function:
- :ref:`SIN` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/sinh.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/sinh.rst
deleted file mode 100644
index f748361..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/sinh.rst
+++ /dev/null
@@ -1,66 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _sinh:
-
-.. index:: SINH
-
-.. index:: DSINH
-
-.. index:: hyperbolic sine
-
-.. index:: hyperbolic function, sine
-
-.. index:: sine, hyperbolic
-
-SINH --- Hyperbolic sine function
-**********************************
-
-.. function:: SINH(X)
-
- ``SINH(X)`` computes the hyperbolic sine of :samp:`{X}`.
-
- :param X:
- The type shall be ``REAL`` or ``COMPLEX``.
-
- :return:
- The return value has same type and kind as :samp:`{X}`.
-
- Standard:
- Fortran 90 and later, for a complex argument Fortran 2008 or later, has
- a GNU extension
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SINH(X)
-
- Example:
- .. code-block:: fortran
-
- program test_sinh
- real(8) :: x = - 1.0_8
- x = sinh(x)
- end program test_sinh
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``DSINH(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - Fortran 90 and later
-
- See also:
- :ref:`ASINH` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/size.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/size.rst
deleted file mode 100644
index 6196a1a..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/size.rst
+++ /dev/null
@@ -1,55 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SIZE, array, size, array, number of elements, array, count elements
-
-.. _size:
-
-SIZE --- Determine the size of an array
-***************************************
-
-.. function:: SIZE(ARRAY, DIM , KIND)
-
- Determine the extent of :samp:`{ARRAY}` along a specified dimension :samp:`{DIM}`,
- or the total number of elements in :samp:`{ARRAY}` if :samp:`{DIM}` is absent.
-
- :param ARRAY:
- Shall be an array of any type. If :samp:`{ARRAY}` is
- a pointer it must be associated and allocatable arrays must be allocated.
-
- :param DIM:
- (Optional) shall be a scalar of type ``INTEGER``
- and its value shall be in the range from 1 to n, where n equals the rank
- of :samp:`{ARRAY}`.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``INTEGER`` and of kind :samp:`{KIND}`. If
- :samp:`{KIND}` is absent, the return value is of default integer kind.
-
- Standard:
- Fortran 90 and later, with :samp:`{KIND}` argument Fortran 2003 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SIZE(ARRAY[, DIM [, KIND]])
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_size
- WRITE(*,*) SIZE((/ 1, 2 /)) ! 2
- END PROGRAM
-
- See also:
- :ref:`SHAPE`,
- :ref:`RESHAPE` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/sizeof.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/sizeof.rst
deleted file mode 100644
index 8870efc..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/sizeof.rst
+++ /dev/null
@@ -1,58 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SIZEOF, expression size, size of an expression
-
-.. _sizeof:
-
-SIZEOF --- Size in bytes of an expression
-*****************************************
-
-.. function:: SIZEOF(X)
-
- ``SIZEOF(X)`` calculates the number of bytes of storage the
- expression ``X`` occupies.
-
- :param X:
- The argument shall be of any type, rank or shape.
-
- :return:
- The return value is of type integer and of the system-dependent kind
- :samp:`{C_SIZE_T}` (from the :samp:`{ISO_C_BINDING}` module). Its value is the
- number of bytes occupied by the argument. If the argument has the
- ``POINTER`` attribute, the number of bytes of the storage area pointed
- to is returned. If the argument is of a derived type with ``POINTER``
- or ``ALLOCATABLE`` components, the return value does not account for
- the sizes of the data pointed to by these components. If the argument is
- polymorphic, the size according to the dynamic type is returned. The argument
- may not be a procedure or procedure pointer. Note that the code assumes for
- arrays that those are contiguous; for contiguous arrays, it returns the
- storage or an array element multiplied by the size of the array.
-
- Standard:
- GNU extension
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- N = SIZEOF(X)
-
- Example:
- .. code-block:: fortran
-
- integer :: i
- real :: r, s(5)
- print *, (sizeof(s)/sizeof(r) == 5)
- end
-
- The example will print ``.TRUE.`` unless you are using a platform
- where default ``REAL`` variables are unusually padded.
-
- See also:
- :ref:`C_SIZEOF`,
- :ref:`STORAGE_SIZE` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/sleep.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/sleep.rst
deleted file mode 100644
index d87a498..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/sleep.rst
+++ /dev/null
@@ -1,36 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SLEEP, delayed execution
-
-.. _sleep:
-
-SLEEP --- Sleep for the specified number of seconds
-***************************************************
-
-.. function:: SLEEP(SECONDS)
-
- Calling this subroutine causes the process to pause for :samp:`{SECONDS}` seconds.
-
- :param SECONDS:
- The type shall be of default ``INTEGER``.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL SLEEP(SECONDS)
-
- Example:
- .. code-block:: fortran
-
- program test_sleep
- call sleep(5)
- end \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/spacing.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/spacing.rst
deleted file mode 100644
index 3cc0a86..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/spacing.rst
+++ /dev/null
@@ -1,47 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SPACING, real number, relative spacing, floating point, relative spacing
-
-.. _spacing:
-
-SPACING --- Smallest distance between two numbers of a given type
-*****************************************************************
-
-.. function:: SPACING(X)
-
- Determines the distance between the argument :samp:`{X}` and the nearest
- adjacent number of the same type.
-
- :param X:
- Shall be of type ``REAL``.
-
- :return:
- The result is of the same type as the input argument :samp:`{X}`.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SPACING(X)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_spacing
- INTEGER, PARAMETER :: SGL = SELECTED_REAL_KIND(p=6, r=37)
- INTEGER, PARAMETER :: DBL = SELECTED_REAL_KIND(p=13, r=200)
-
- WRITE(*,*) spacing(1.0_SGL) ! "1.1920929E-07" on i686
- WRITE(*,*) spacing(1.0_DBL) ! "2.220446049250313E-016" on i686
- END PROGRAM
-
- See also:
- :ref:`RRSPACING` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/spread.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/spread.rst
deleted file mode 100644
index a0d914f..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/spread.rst
+++ /dev/null
@@ -1,54 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SPREAD, array, increase dimension, array, duplicate elements, array, duplicate dimensions
-
-.. _spread:
-
-SPREAD --- Add a dimension to an array
-**************************************
-
-.. function:: SPREAD(SOURCE, DIM, NCOPIES)
-
- Replicates a :samp:`{SOURCE}` array :samp:`{NCOPIES}` times along a specified
- dimension :samp:`{DIM}`.
-
- :param SOURCE:
- Shall be a scalar or an array of any type and
- a rank less than seven.
-
- :param DIM:
- Shall be a scalar of type ``INTEGER`` with a
- value in the range from 1 to n+1, where n equals the rank of :samp:`{SOURCE}`.
-
- :param NCOPIES:
- Shall be a scalar of type ``INTEGER``.
-
- :return:
- The result is an array of the same type as :samp:`{SOURCE}` and has rank n+1
- where n equals the rank of :samp:`{SOURCE}`.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SPREAD(SOURCE, DIM, NCOPIES)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_spread
- INTEGER :: a = 1, b(2) = (/ 1, 2 /)
- WRITE(*,*) SPREAD(A, 1, 2) ! "1 1"
- WRITE(*,*) SPREAD(B, 1, 2) ! "1 1 2 2"
- END PROGRAM
-
- See also:
- :ref:`UNPACK` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/sqrt.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/sqrt.rst
deleted file mode 100644
index 0acfabc..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/sqrt.rst
+++ /dev/null
@@ -1,86 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _sqrt:
-
-.. index:: SQRT
-
-.. index:: DSQRT
-
-.. index:: CSQRT
-
-.. index:: ZSQRT
-
-.. index:: CDSQRT
-
-.. index:: root
-
-.. index:: square-root
-
-SQRT --- Square-root function
-*****************************
-
-.. function:: SQRT(X)
-
- ``SQRT(X)`` computes the square root of :samp:`{X}`.
-
- :param X:
- The type shall be ``REAL`` or
- ``COMPLEX``.
-
- :return:
- The return value is of type ``REAL`` or ``COMPLEX``.
- The kind type parameter is the same as :samp:`{X}`.
-
- Standard:
- Fortran 77 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SQRT(X)
-
- Example:
- .. code-block:: fortran
-
- program test_sqrt
- real(8) :: x = 2.0_8
- complex :: z = (1.0, 2.0)
- x = sqrt(x)
- z = sqrt(z)
- end program test_sqrt
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``SQRT(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DSQRT(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - Fortran 77 and later
- * - ``CSQRT(X)``
- - ``COMPLEX(4) X``
- - ``COMPLEX(4)``
- - Fortran 77 and later
- * - ``ZSQRT(X)``
- - ``COMPLEX(8) X``
- - ``COMPLEX(8)``
- - GNU extension
- * - ``CDSQRT(X)``
- - ``COMPLEX(8) X``
- - ``COMPLEX(8)``
- - GNU extension \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/srand.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/srand.rst
deleted file mode 100644
index 3c74d88..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/srand.rst
+++ /dev/null
@@ -1,53 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _srand:
-
-SRAND --- Reinitialize the random number generator
-**************************************************
-
-.. index:: SRAND, random number generation, seeding, seeding a random number generator
-
-.. function:: SRAND(SEED)
-
- ``SRAND`` reinitializes the pseudo-random number generator
- called by ``RAND`` and ``IRAND``. The new seed used by the
- generator is specified by the required argument :samp:`{SEED}`.
-
- :param SEED:
- Shall be a scalar ``INTEGER(kind=4)``.
-
- :return:
- Does not return anything.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL SRAND(SEED)
-
- Example:
- See ``RAND`` and ``IRAND`` for examples.
-
- Notes:
- The Fortran standard specifies the intrinsic subroutines
- ``RANDOM_SEED`` to initialize the pseudo-random number
- generator and ``RANDOM_NUMBER`` to generate pseudo-random numbers.
- These subroutines should be used in new codes.
-
- Please note that in GNU Fortran, these two sets of intrinsics (``RAND``,
- ``IRAND`` and ``SRAND`` on the one hand, ``RANDOM_NUMBER`` and
- ``RANDOM_SEED`` on the other hand) access two independent
- pseudo-random number generators.
-
- See also:
- :ref:`RAND`,
- :ref:`RANDOM_SEED`,
- :ref:`RANDOM_NUMBER` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/stat.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/stat.rst
deleted file mode 100644
index 379854b..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/stat.rst
+++ /dev/null
@@ -1,72 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: STAT, file system, file status
-
-.. _stat:
-
-STAT --- Get file status
-************************
-
-.. function:: STAT(NAME, VALUES)
-
- This function returns information about a file. No permissions are required on
- the file itself, but execute (search) permission is required on all of the
- directories in path that lead to the file.
-
- :param NAME:
- The type shall be ``CHARACTER``, of the
- default kind and a valid path within the file system.
-
- :param VALUES:
- The type shall be ``INTEGER(4), DIMENSION(13)``.
-
- :param STATUS:
- (Optional) status flag of type ``INTEGER(4)``. Returns 0
- on success and a system specific error code otherwise.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL STAT(NAME, VALUES [, STATUS])
- STATUS = STAT(NAME, VALUES)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_stat
- INTEGER, DIMENSION(13) :: buff
- INTEGER :: status
-
- CALL STAT("/etc/passwd", buff, status)
-
- IF (status == 0) THEN
- WRITE (*, FMT="('Device ID:', T30, I19)") buff(1)
- WRITE (*, FMT="('Inode number:', T30, I19)") buff(2)
- WRITE (*, FMT="('File mode (octal):', T30, O19)") buff(3)
- WRITE (*, FMT="('Number of links:', T30, I19)") buff(4)
- WRITE (*, FMT="('Owner''s uid:', T30, I19)") buff(5)
- WRITE (*, FMT="('Owner''s gid:', T30, I19)") buff(6)
- WRITE (*, FMT="('Device where located:', T30, I19)") buff(7)
- WRITE (*, FMT="('File size:', T30, I19)") buff(8)
- WRITE (*, FMT="('Last access time:', T30, A19)") CTIME(buff(9))
- WRITE (*, FMT="('Last modification time', T30, A19)") CTIME(buff(10))
- WRITE (*, FMT="('Last status change time:', T30, A19)") CTIME(buff(11))
- WRITE (*, FMT="('Preferred block size:', T30, I19)") buff(12)
- WRITE (*, FMT="('No. of blocks allocated:', T30, I19)") buff(13)
- END IF
- END PROGRAM
-
- See also:
- To stat an open file:
- :ref:`FSTAT`
- To stat a link:
- :ref:`LSTAT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/storagesize.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/storagesize.rst
deleted file mode 100644
index eca012b..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/storagesize.rst
+++ /dev/null
@@ -1,42 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: STORAGE_SIZE, storage size
-
-.. _storage_size:
-
-STORAGE_SIZE --- Storage size in bits
-*************************************
-
-.. function:: STORAGE_SIZE(A , KIND)
-
- Returns the storage size of argument :samp:`{A}` in bits.
-
- :param A:
- Shall be a scalar or array of any type.
-
- :param KIND:
- (Optional) shall be a scalar integer constant expression.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = STORAGE_SIZE(A [, KIND])
-
- Return Value:
- The result is a scalar integer with the kind type parameter specified by KIND
- (or default integer type if KIND is missing). The result value is the size
- expressed in bits for an element of an array that has the dynamic type and type
- parameters of A.
-
- See also:
- :ref:`C_SIZEOF`,
- :ref:`SIZEOF` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/sum.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/sum.rst
deleted file mode 100644
index ba4d0be..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/sum.rst
+++ /dev/null
@@ -1,56 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SUM, array, sum, array, add elements, array, conditionally add elements, sum array elements
-
-.. _sum:
-
-SUM --- Sum of array elements
-*****************************
-
-.. function:: SUM(ARRAY, DIM, MASK)
-
- Adds the elements of :samp:`{ARRAY}` along dimension :samp:`{DIM}` if
- the corresponding element in :samp:`{MASK}` is ``TRUE``.
-
- :param ARRAY:
- Shall be an array of type ``INTEGER``,
- ``REAL`` or ``COMPLEX``.
-
- :param DIM:
- (Optional) shall be a scalar of type
- ``INTEGER`` with a value in the range from 1 to n, where n
- equals the rank of :samp:`{ARRAY}`.
-
- :param MASK:
- (Optional) shall be of type ``LOGICAL``
- and either be a scalar or an array of the same shape as :samp:`{ARRAY}`.
-
- :return:
- The result is of the same type as :samp:`{ARRAY}`.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = SUM(ARRAY[, MASK])
- RESULT = SUM(ARRAY, DIM[, MASK])
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_sum
- INTEGER :: x(5) = (/ 1, 2, 3, 4 ,5 /)
- print *, SUM(x) ! all elements, sum = 15
- print *, SUM(x, MASK=MOD(x, 2)==1) ! odd elements, sum = 9
- END PROGRAM
-
- See also:
- :ref:`PRODUCT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/symlnk.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/symlnk.rst
deleted file mode 100644
index 537560a..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/symlnk.rst
+++ /dev/null
@@ -1,46 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SYMLNK, file system, create link, file system, soft link
-
-.. _symlnk:
-
-SYMLNK --- Create a symbolic link
-*********************************
-
-.. function:: SYMLNK(PATH1, PATH2)
-
- Makes a symbolic link from file :samp:`{PATH1}` to :samp:`{PATH2}`. A null
- character (``CHAR(0)``) can be used to mark the end of the names in
- :samp:`{PATH1}` and :samp:`{PATH2}` ; otherwise, trailing blanks in the file
- names are ignored. If the :samp:`{STATUS}` argument is supplied, it
- contains 0 on success or a nonzero error code upon return; see
- ``symlink(2)``. If the system does not supply ``symlink(2)``,
- ``ENOSYS`` is returned.
-
- :param PATH1:
- Shall be of default ``CHARACTER`` type.
-
- :param PATH2:
- Shall be of default ``CHARACTER`` type.
-
- :param STATUS:
- (Optional) Shall be of default ``INTEGER`` type.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL SYMLNK(PATH1, PATH2 [, STATUS])
- STATUS = SYMLNK(PATH1, PATH2)
-
- See also:
- :ref:`LINK`,
- :ref:`UNLINK` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/system.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/system.rst
deleted file mode 100644
index d111b94..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/system.rst
+++ /dev/null
@@ -1,41 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SYSTEM, system, system call
-
-.. _system:
-
-SYSTEM --- Execute a shell command
-**********************************
-
-.. function:: SYSTEM(COMMAND)
-
- Passes the command :samp:`{COMMAND}` to a shell (see ``system(3)``). If
- argument :samp:`{STATUS}` is present, it contains the value returned by
- ``system(3)``, which is presumably 0 if the shell command succeeded.
- Note that which shell is used to invoke the command is system-dependent
- and environment-dependent.
-
- :param COMMAND:
- Shall be of default ``CHARACTER`` type.
-
- :param STATUS:
- (Optional) Shall be of default ``INTEGER`` type.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL SYSTEM(COMMAND [, STATUS])
- STATUS = SYSTEM(COMMAND)
-
- See also:
- :ref:`EXECUTE_COMMAND_LINE`, which is part of the Fortran 2008 standard
- and should considered in new code for future portability. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/systemclock.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/systemclock.rst
deleted file mode 100644
index 2f42738..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/systemclock.rst
+++ /dev/null
@@ -1,57 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: SYSTEM_CLOCK, time, clock ticks, clock ticks
-
-.. _system_clock:
-
-SYSTEM_CLOCK --- Time function
-******************************
-
-.. function:: SYSTEM_CLOCK(COUNT, COUNT_RATE, COUNT_MAX)
-
- Determines the :samp:`{COUNT}` of a processor clock since an unspecified
- time in the past modulo :samp:`{COUNT_MAX}`, :samp:`{COUNT_RATE}` determines
- the number of clock ticks per second. If the platform supports a
- monotonic clock, that clock is used and can, depending on the platform
- clock implementation, provide up to nanosecond resolution. If a
- monotonic clock is not available, the implementation falls back to a
- realtime clock.
-
- :param COUNT:
- (Optional) shall be a scalar of type
- ``INTEGER`` with ``INTENT(OUT)``.
-
- :param COUNT_RATE:
- (Optional) shall be a scalar of type
- ``INTEGER`` or ``REAL``, with ``INTENT(OUT)``.
-
- :param COUNT_MAX:
- (Optional) shall be a scalar of type
- ``INTEGER`` with ``INTENT(OUT)``.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Subroutine
-
- Syntax:
- .. code-block:: fortran
-
- CALL SYSTEM_CLOCK([COUNT, COUNT_RATE, COUNT_MAX])
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_system_clock
- INTEGER :: count, count_rate, count_max
- CALL SYSTEM_CLOCK(count, count_rate, count_max)
- WRITE(*,*) count, count_rate, count_max
- END PROGRAM
-
- See also:
- :ref:`DATE_AND_TIME`,
- :ref:`CPU_TIME` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/tan.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/tan.rst
deleted file mode 100644
index 3788b2a..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/tan.rst
+++ /dev/null
@@ -1,70 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _tan:
-
-.. index:: TAN
-
-.. index:: DTAN
-
-.. index:: trigonometric function, tangent
-
-.. index:: tangent
-
-TAN --- Tangent function
-************************
-
-.. function:: TAN(X)
-
- ``TAN(X)`` computes the tangent of :samp:`{X}`.
-
- :param X:
- The type shall be ``REAL`` or ``COMPLEX``.
-
- :return:
- The return value has same type and kind as :samp:`{X}`, and its value is in radians.
-
- Standard:
- Fortran 77 and later, for a complex argument Fortran 2008 or later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = TAN(X)
-
- Example:
- .. code-block:: fortran
-
- program test_tan
- real(8) :: x = 0.165_8
- x = tan(x)
- end program test_tan
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``TAN(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DTAN(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - Fortran 77 and later
-
- See also:
- Inverse function:
- :ref:`ATAN`
- Degrees function:
- :ref:`TAND` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/tand.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/tand.rst
deleted file mode 100644
index a720c53..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/tand.rst
+++ /dev/null
@@ -1,70 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _tand:
-
-.. index:: TAND
-
-.. index:: DTAND
-
-.. index:: trigonometric function, tangent, degrees
-
-.. index:: tangent, degrees
-
-TAND --- Tangent function, degrees
-**********************************
-
-.. function:: TAND(X)
-
- ``TAND(X)`` computes the tangent of :samp:`{X}` in degrees.
-
- :param X:
- The type shall be ``REAL`` or ``COMPLEX``.
-
- :return:
- The return value has same type and kind as :samp:`{X}`, and its value is in degrees.
-
- Standard:
- GNU extension, enabled with :option:`-fdec-math`.
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = TAND(X)
-
- Example:
- .. code-block:: fortran
-
- program test_tand
- real(8) :: x = 0.165_8
- x = tand(x)
- end program test_tand
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``TAND(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - GNU extension
- * - ``DTAND(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - GNU extension
-
- See also:
- Inverse function:
- :ref:`ATAND`
- Radians function:
- :ref:`TAN` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/tanh.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/tanh.rst
deleted file mode 100644
index d15bd8c..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/tanh.rst
+++ /dev/null
@@ -1,72 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _tanh:
-
-.. index:: TANH
-
-.. index:: DTANH
-
-.. index:: hyperbolic tangent
-
-.. index:: hyperbolic function, tangent
-
-.. index:: tangent, hyperbolic
-
-TANH --- Hyperbolic tangent function
-*************************************
-
-.. function:: TANH(X)
-
- ``TANH(X)`` computes the hyperbolic tangent of :samp:`{X}`.
-
- :param X:
- The type shall be ``REAL`` or ``COMPLEX``.
-
- :return:
- The return value has same type and kind as :samp:`{X}`. If :samp:`{X}` is
- complex, the imaginary part of the result is in radians. If :samp:`{X}`
- is ``REAL``, the return value lies in the range
- - 1 \leq tanh(x) \leq 1 .
-
- Standard:
- Fortran 77 and later, for a complex argument Fortran 2008 or later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- X = TANH(X)
-
- Example:
- .. code-block:: fortran
-
- program test_tanh
- real(8) :: x = 2.1_8
- x = tanh(x)
- end program test_tanh
-
- Specific names:
- .. list-table::
- :header-rows: 1
-
- * - Name
- - Argument
- - Return type
- - Standard
-
- * - ``TANH(X)``
- - ``REAL(4) X``
- - ``REAL(4)``
- - Fortran 77 and later
- * - ``DTANH(X)``
- - ``REAL(8) X``
- - ``REAL(8)``
- - Fortran 77 and later
-
- See also:
- :ref:`ATANH` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/thisimage.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/thisimage.rst
deleted file mode 100644
index 8dee8a4..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/thisimage.rst
+++ /dev/null
@@ -1,75 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: THIS_IMAGE, coarray, THIS_IMAGE, images, index of this image
-
-.. _this_image:
-
-THIS_IMAGE --- Function that returns the cosubscript index of this image
-************************************************************************
-
-.. function:: THIS_IMAGE(COARRAY , DIM)
-
- Returns the cosubscript for this image.
-
- :param DISTANCE:
- (optional, intent(in)) Nonnegative scalar integer
- (not permitted together with :samp:`{COARRAY}`).
-
- :param COARRAY:
- Coarray of any type (optional; if :samp:`{DIM}`
- present, required).
-
- :param DIM:
- default integer scalar (optional). If present,
- :samp:`{DIM}` shall be between one and the corank of :samp:`{COARRAY}`.
-
- :return:
- Default integer. If :samp:`{COARRAY}` is not present, it is scalar; if
- :samp:`{DISTANCE}` is not present or has value 0, its value is the image index on
- the invoking image for the current team, for values smaller or equal
- distance to the initial team, it returns the image index on the ancestor team
- which has a distance of :samp:`{DISTANCE}` from the invoking team. If
- :samp:`{DISTANCE}` is larger than the distance to the initial team, the image
- index of the initial team is returned. Otherwise when the :samp:`{COARRAY}` is
- present, if :samp:`{DIM}` is not present, a rank-1 array with corank elements is
- returned, containing the cosubscripts for :samp:`{COARRAY}` specifying the invoking
- image. If :samp:`{DIM}` is present, a scalar is returned, with the value of
- the :samp:`{DIM}` element of ``THIS_IMAGE(COARRAY)``.
-
- Standard:
- Fortran 2008 and later. With :samp:`{DISTANCE}` argument,
- Technical Specification (TS) 18508 or later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = THIS_IMAGE()
- RESULT = THIS_IMAGE(DISTANCE)
- RESULT = THIS_IMAGE(COARRAY [, DIM])
-
- Example:
- .. code-block:: fortran
-
- INTEGER :: value[*]
- INTEGER :: i
- value = THIS_IMAGE()
- SYNC ALL
- IF (THIS_IMAGE() == 1) THEN
- DO i = 1, NUM_IMAGES()
- WRITE(*,'(2(a,i0))') 'value[', i, '] is ', value[i]
- END DO
- END IF
-
- ! Check whether the current image is the initial image
- IF (THIS_IMAGE(HUGE(1)) /= THIS_IMAGE())
- error stop "something is rotten here"
-
- See also:
- :ref:`NUM_IMAGES`,
- :ref:`IMAGE_INDEX` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/time.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/time.rst
deleted file mode 100644
index 7b72b73..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/time.rst
+++ /dev/null
@@ -1,39 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: TIME, time, current, current time
-
-.. _time:
-
-TIME --- Time function
-**********************
-
-.. function:: TIME()
-
- Returns the current time encoded as an integer (in the manner of the
- function ``time(3)`` in the C standard library). This value is
- suitable for passing to :ref:`CTIME`, :ref:`GMTIME`, and :ref:`LTIME`.
-
- :return:
- The return value is a scalar of type ``INTEGER(4)``.
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = TIME()
-
- See also:
- :ref:`DATE_AND_TIME`,
- :ref:`CTIME`,
- :ref:`GMTIME`,
- :ref:`LTIME`,
- :ref:`MCLOCK`,
- :ref:`TIME8` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/time8.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/time8.rst
deleted file mode 100644
index 029393d..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/time8.rst
+++ /dev/null
@@ -1,39 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: TIME8, time, current, current time
-
-.. _time8:
-
-TIME8 --- Time function (64-bit)
-********************************
-
-.. function:: TIME8()
-
- Returns the current time encoded as an integer (in the manner of the
- function ``time(3)`` in the C standard library). This value is
- suitable for passing to :ref:`CTIME`, :ref:`GMTIME`, and :ref:`LTIME`.
-
- :return:
- The return value is a scalar of type ``INTEGER(8)``.
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = TIME8()
-
- See also:
- :ref:`DATE_AND_TIME`,
- :ref:`CTIME`,
- :ref:`GMTIME`,
- :ref:`LTIME`,
- :ref:`MCLOCK8`,
- :ref:`TIME` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/tiny.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/tiny.rst
deleted file mode 100644
index 45c378b..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/tiny.rst
+++ /dev/null
@@ -1,36 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: TINY, limits, smallest number, model representation, smallest number
-
-.. _tiny:
-
-TINY --- Smallest positive number of a real kind
-************************************************
-
-.. function:: TINY(X)
-
- ``TINY(X)`` returns the smallest positive (non zero) number
- in the model of the type of ``X``.
-
- :param X:
- Shall be of type ``REAL``.
-
- :return:
- The return value is of the same type and kind as :samp:`{X}`
-
- Standard:
- Fortran 90 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = TINY(X)
-
- Example:
- See ``HUGE`` for an example. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/trailz.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/trailz.rst
deleted file mode 100644
index b16b6de..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/trailz.rst
+++ /dev/null
@@ -1,46 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _trailz:
-
-TRAILZ --- Number of trailing zero bits of an integer
-*****************************************************
-
-.. index:: TRAILZ, zero bits
-
-.. function:: TRAILZ(I)
-
- ``TRAILZ`` returns the number of trailing zero bits of an integer.
-
- :param I:
- Shall be of type ``INTEGER``.
-
- :return:
- The type of the return value is the default ``INTEGER``.
- If all the bits of ``I`` are zero, the result value is ``BIT_SIZE(I)``.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = TRAILZ(I)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_trailz
- WRITE (*,*) TRAILZ(8) ! prints 3
- END PROGRAM
-
- See also:
- :ref:`BIT_SIZE`,
- :ref:`LEADZ`,
- :ref:`POPPAR`,
- :ref:`POPCNT` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/transfer.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/transfer.rst
deleted file mode 100644
index 51d8e94..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/transfer.rst
+++ /dev/null
@@ -1,55 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: TRANSFER, bits, move, type cast
-
-.. _transfer:
-
-TRANSFER --- Transfer bit patterns
-**********************************
-
-.. function:: TRANSFER(SOURCE, MOLD, SIZE)
-
- Interprets the bitwise representation of :samp:`{SOURCE}` in memory as if it
- is the representation of a variable or array of the same type and type
- parameters as :samp:`{MOLD}`.
-
- :param SOURCE:
- Shall be a scalar or an array of any type.
-
- :param MOLD:
- Shall be a scalar or an array of any type.
-
- :param SIZE:
- (Optional) shall be a scalar of type
- ``INTEGER``.
-
- :return:
- The result has the same type as :samp:`{MOLD}`, with the bit level
- representation of :samp:`{SOURCE}`. If :samp:`{SIZE}` is present, the result is
- a one-dimensional array of length :samp:`{SIZE}`. If :samp:`{SIZE}` is absent
- but :samp:`{MOLD}` is an array (of any size or shape), the result is a one-
- dimensional array of the minimum length needed to contain the entirety
- of the bitwise representation of :samp:`{SOURCE}`. If :samp:`{SIZE}` is absent
- and :samp:`{MOLD}` is a scalar, the result is a scalar.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = TRANSFER(SOURCE, MOLD[, SIZE])
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_transfer
- integer :: x = 2143289344
- print *, transfer(x, 1.0) ! prints "NaN" on i686
- END PROGRAM \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/transpose.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/transpose.rst
deleted file mode 100644
index 7eada69..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/transpose.rst
+++ /dev/null
@@ -1,34 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: TRANSPOSE, array, transpose, matrix, transpose, transpose
-
-.. _transpose:
-
-TRANSPOSE --- Transpose an array of rank two
-********************************************
-
-.. function:: TRANSPOSE(MATRIX)
-
- Transpose an array of rank two. Element (i, j) of the result has the value
- ``MATRIX(j, i)``, for all i, j.
-
- :param MATRIX:
- Shall be an array of any type and have a rank of two.
-
- :return:
- The result has the same type as :samp:`{MATRIX}`, and has shape
- ``(/ m, n /)`` if :samp:`{MATRIX}` has shape ``(/ n, m /)``.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = TRANSPOSE(MATRIX) \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/trim.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/trim.rst
deleted file mode 100644
index 9e501af..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/trim.rst
+++ /dev/null
@@ -1,45 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: TRIM, string, remove trailing whitespace
-
-.. _trim:
-
-TRIM --- Remove trailing blank characters of a string
-*****************************************************
-
-.. function:: TRIM(STRING)
-
- Removes trailing blank characters of a string.
-
- :param STRING:
- Shall be a scalar of type ``CHARACTER``.
-
- :return:
- A scalar of type ``CHARACTER`` which length is that of :samp:`{STRING}`
- less the number of trailing blanks.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = TRIM(STRING)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_trim
- CHARACTER(len=10), PARAMETER :: s = "GFORTRAN "
- WRITE(*,*) LEN(s), LEN(TRIM(s)) ! "10 8", with/without trailing blanks
- END PROGRAM
-
- See also:
- :ref:`ADJUSTL`,
- :ref:`ADJUSTR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ttynam.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ttynam.rst
deleted file mode 100644
index 4ca0572..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ttynam.rst
+++ /dev/null
@@ -1,47 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: TTYNAM, system, terminal
-
-.. _ttynam:
-
-TTYNAM --- Get the name of a terminal device
-********************************************
-
-.. function:: TTYNAM(UNIT)
-
- Get the name of a terminal device. For more information,
- see ``ttyname(3)``.
-
- :param UNIT:
- Shall be a scalar ``INTEGER``.
-
- :param NAME:
- Shall be of type ``CHARACTER``.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL TTYNAM(UNIT, NAME)
- NAME = TTYNAM(UNIT)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_ttynam
- INTEGER :: unit
- DO unit = 1, 10
- IF (isatty(unit=unit)) write(*,*) ttynam(unit)
- END DO
- END PROGRAM
-
- See also:
- :ref:`ISATTY` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ubound.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ubound.rst
deleted file mode 100644
index 81f97053..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ubound.rst
+++ /dev/null
@@ -1,52 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: UBOUND, array, upper bound
-
-.. _ubound:
-
-UBOUND --- Upper dimension bounds of an array
-*********************************************
-
-.. function:: UBOUND(ARRAY , DIM , KIND)
-
- Returns the upper bounds of an array, or a single upper bound
- along the :samp:`{DIM}` dimension.
-
- :param ARRAY:
- Shall be an array, of any type.
-
- :param DIM:
- (Optional) Shall be a scalar ``INTEGER``.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``INTEGER`` and of kind :samp:`{KIND}`. If
- :samp:`{KIND}` is absent, the return value is of default integer kind.
- If :samp:`{DIM}` is absent, the result is an array of the upper bounds of
- :samp:`{ARRAY}`. If :samp:`{DIM}` is present, the result is a scalar
- corresponding to the upper bound of the array along that dimension. If
- :samp:`{ARRAY}` is an expression rather than a whole array or array
- structure component, or if it has a zero extent along the relevant
- dimension, the upper bound is taken to be the number of elements along
- the relevant dimension.
-
- Standard:
- Fortran 90 and later, with :samp:`{KIND}` argument Fortran 2003 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = UBOUND(ARRAY [, DIM [, KIND]])
-
- See also:
- :ref:`LBOUND`,
- :ref:`LCOBOUND` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/ucobound.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/ucobound.rst
deleted file mode 100644
index 9a0066b..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/ucobound.rst
+++ /dev/null
@@ -1,48 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: UCOBOUND, coarray, upper bound
-
-.. _ucobound:
-
-UCOBOUND --- Upper codimension bounds of an array
-*************************************************
-
-.. function:: UCOBOUND(COARRAY , DIM , KIND)
-
- Returns the upper cobounds of a coarray, or a single upper cobound
- along the :samp:`{DIM}` codimension.
-
- :param ARRAY:
- Shall be an coarray, of any type.
-
- :param DIM:
- (Optional) Shall be a scalar ``INTEGER``.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``INTEGER`` and of kind :samp:`{KIND}`. If
- :samp:`{KIND}` is absent, the return value is of default integer kind.
- If :samp:`{DIM}` is absent, the result is an array of the lower cobounds of
- :samp:`{COARRAY}`. If :samp:`{DIM}` is present, the result is a scalar
- corresponding to the lower cobound of the array along that codimension.
-
- Standard:
- Fortran 2008 and later
-
- Class:
- Inquiry function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = UCOBOUND(COARRAY [, DIM [, KIND]])
-
- See also:
- :ref:`LCOBOUND`,
- :ref:`LBOUND` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/umask.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/umask.rst
deleted file mode 100644
index ea94dd6..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/umask.rst
+++ /dev/null
@@ -1,36 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: UMASK, file system, file creation mask
-
-.. _umask:
-
-UMASK --- Set the file creation mask
-************************************
-
-.. function:: UMASK(MASK)
-
- Sets the file creation mask to :samp:`{MASK}`. If called as a function, it
- returns the old value. If called as a subroutine and argument :samp:`{OLD}`
- if it is supplied, it is set to the old value. See ``umask(2)``.
-
- :param MASK:
- Shall be a scalar of type ``INTEGER``.
-
- :param OLD:
- (Optional) Shall be a scalar of type
- ``INTEGER``.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL UMASK(MASK [, OLD])
- OLD = UMASK(MASK) \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/unlink.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/unlink.rst
deleted file mode 100644
index 15a91af..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/unlink.rst
+++ /dev/null
@@ -1,41 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: UNLINK, file system, remove file
-
-.. _unlink:
-
-UNLINK --- Remove a file from the file system
-*********************************************
-
-.. function:: UNLINK(PATH)
-
- Unlinks the file :samp:`{PATH}`. A null character (``CHAR(0)``) can be
- used to mark the end of the name in :samp:`{PATH}` ; otherwise, trailing
- blanks in the file name are ignored. If the :samp:`{STATUS}` argument is
- supplied, it contains 0 on success or a nonzero error code upon return;
- see ``unlink(2)``.
-
- :param PATH:
- Shall be of default ``CHARACTER`` type.
-
- :param STATUS:
- (Optional) Shall be of default ``INTEGER`` type.
-
- Standard:
- GNU extension
-
- Class:
- Subroutine, function
-
- Syntax:
- .. code-block:: fortran
-
- CALL UNLINK(PATH [, STATUS])
- STATUS = UNLINK(PATH)
-
- See also:
- :ref:`LINK`,
- :ref:`SYMLNK` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/unpack.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/unpack.rst
deleted file mode 100644
index 21078b6..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/unpack.rst
+++ /dev/null
@@ -1,57 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: UNPACK, array, unpacking, array, increase dimension, array, scatter elements
-
-.. _unpack:
-
-UNPACK --- Unpack an array of rank one into an array
-****************************************************
-
-.. function:: UNPACK(VECTOR, MASK, FIELD)
-
- Store the elements of :samp:`{VECTOR}` in an array of higher rank.
-
- :param VECTOR:
- Shall be an array of any type and rank one. It
- shall have at least as many elements as :samp:`{MASK}` has ``TRUE`` values.
-
- :param MASK:
- Shall be an array of type ``LOGICAL``.
-
- :param FIELD:
- Shall be of the same type as :samp:`{VECTOR}` and have
- the same shape as :samp:`{MASK}`.
-
- :return:
- The resulting array corresponds to :samp:`{FIELD}` with ``TRUE`` elements
- of :samp:`{MASK}` replaced by values from :samp:`{VECTOR}` in array element order.
-
- Standard:
- Fortran 90 and later
-
- Class:
- Transformational function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = UNPACK(VECTOR, MASK, FIELD)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_unpack
- integer :: vector(2) = (/1,1/)
- logical :: mask(4) = (/ .TRUE., .FALSE., .FALSE., .TRUE. /)
- integer :: field(2,2) = 0, unity(2,2)
-
- ! result: unity matrix
- unity = unpack(vector, reshape(mask, (/2,2/)), field)
- END PROGRAM
-
- See also:
- :ref:`PACK`,
- :ref:`SPREAD` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/verify.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/verify.rst
deleted file mode 100644
index e4e9aeb..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/verify.rst
+++ /dev/null
@@ -1,59 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: VERIFY, string, find missing set
-
-.. _verify:
-
-VERIFY --- Scan a string for characters not a given set
-*******************************************************
-
-.. function:: VERIFY(STRING, SET, BACK , KIND)
-
- Verifies that all the characters in :samp:`{STRING}` belong to the set of
- characters in :samp:`{SET}`.
-
- :param STRING:
- Shall be of type ``CHARACTER``.
-
- :param SET:
- Shall be of type ``CHARACTER``.
-
- :param BACK:
- (Optional) shall be of type ``LOGICAL``.
-
- :param KIND:
- (Optional) An ``INTEGER`` initialization
- expression indicating the kind parameter of the result.
-
- :return:
- The return value is of type ``INTEGER`` and of kind :samp:`{KIND}`. If
- :samp:`{KIND}` is absent, the return value is of default integer kind.
-
- Standard:
- Fortran 90 and later, with :samp:`{KIND}` argument Fortran 2003 and later
-
- Class:
- Elemental function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = VERIFY(STRING, SET[, BACK [, KIND]])
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_verify
- WRITE(*,*) VERIFY("FORTRAN", "AO") ! 1, found 'F'
- WRITE(*,*) VERIFY("FORTRAN", "FOO") ! 3, found 'R'
- WRITE(*,*) VERIFY("FORTRAN", "C++") ! 1, found 'F'
- WRITE(*,*) VERIFY("FORTRAN", "C++", .TRUE.) ! 7, found 'N'
- WRITE(*,*) VERIFY("FORTRAN", "FORTRAN") ! 0' found none
- END PROGRAM
-
- See also:
- :ref:`SCAN`,
- :ref:`index-intrinsic` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/intrinsic-procedures/xor.rst b/gcc/fortran/doc/gfortran/intrinsic-procedures/xor.rst
deleted file mode 100644
index fee343c..0000000
--- a/gcc/fortran/doc/gfortran/intrinsic-procedures/xor.rst
+++ /dev/null
@@ -1,60 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: XOR, bitwise logical exclusive or, logical exclusive or, bitwise
-
-.. _xor:
-
-XOR --- Bitwise logical exclusive OR
-************************************
-
-.. function:: XOR(I, J)
-
- Bitwise logical exclusive or.
-
- :param I:
- The type shall be either a scalar ``INTEGER``
- type or a scalar ``LOGICAL`` type or a boz-literal-constant.
-
- :param J:
- The type shall be the same as the type of :samp:`{I}` or
- a boz-literal-constant. :samp:`{I}` and :samp:`{J}` shall not both be
- boz-literal-constants. If either :samp:`{I}` and :samp:`{J}` is a
- boz-literal-constant, then the other argument must be a scalar ``INTEGER``.
-
- :return:
- The return type is either a scalar ``INTEGER`` or a scalar
- ``LOGICAL``. If the kind type parameters differ, then the
- smaller kind type is implicitly converted to larger kind, and the
- return has the larger kind. A boz-literal-constant is
- converted to an ``INTEGER`` with the kind type parameter of
- the other argument as-if a call to :ref:`INT` occurred.
-
- Standard:
- GNU extension
-
- Class:
- Function
-
- Syntax:
- .. code-block:: fortran
-
- RESULT = XOR(I, J)
-
- Example:
- .. code-block:: fortran
-
- PROGRAM test_xor
- LOGICAL :: T = .TRUE., F = .FALSE.
- INTEGER :: a, b
- DATA a / Z'F' /, b / Z'3' /
-
- WRITE (*,*) XOR(T, T), XOR(T, F), XOR(F, T), XOR(F, F)
- WRITE (*,*) XOR(a, b)
- END PROGRAM
-
- See also:
- Fortran 95 elemental function:
- :ref:`IEOR` \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/introduction.rst b/gcc/fortran/doc/gfortran/introduction.rst
deleted file mode 100644
index 3684e78..0000000
--- a/gcc/fortran/doc/gfortran/introduction.rst
+++ /dev/null
@@ -1,18 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _introduction:
-
-Introduction
-------------
-
-.. The following duplicates the text on the TexInfo table of contents.
-
-.. toctree::
- :maxdepth: 2
-
- about-gnu-fortran
- gnu-fortran-and-gcc
- standards \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/mixed-language-programming.rst b/gcc/fortran/doc/gfortran/mixed-language-programming.rst
deleted file mode 100644
index 506fe0e..0000000
--- a/gcc/fortran/doc/gfortran/mixed-language-programming.rst
+++ /dev/null
@@ -1,37 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: Interoperability, Mixed-language programming
-
-.. _mixed-language-programming:
-
-Mixed-Language Programming
---------------------------
-
-.. toctree::
- :maxdepth: 2
-
- interoperability-with-c
- gnu-fortran-compiler-directives
- non-fortran-main-program
- naming-and-argument-passing-conventions
-
-This chapter is about mixed-language interoperability, but also
-applies if you link Fortran code compiled by different compilers. In
-most cases, use of the C Binding features of the Fortran 2003 and
-later standards is sufficient.
-
-For example, it is possible to mix Fortran code with C++ code as well
-as C, if you declare the interface functions as ``extern "C"`` on
-the C++ side and ``BIND(C)`` on the Fortran side, and follow the
-rules for interoperability with C. Note that you cannot manipulate
-C++ class objects in Fortran or vice versa except as opaque pointers.
-
-You can use the :command:`gfortran` command to link both Fortran and
-non-Fortran code into the same program, or you can use :command:`gcc`
-or :command:`g++` if you also add an explicit :option:`-lgfortran` option
-to link with the Fortran library. If your main program is written in
-C or some other language instead of Fortran, see
-:ref:`non-fortran-main-program`, below. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/naming-and-argument-passing-conventions.rst b/gcc/fortran/doc/gfortran/naming-and-argument-passing-conventions.rst
deleted file mode 100644
index 298bf0c..0000000
--- a/gcc/fortran/doc/gfortran/naming-and-argument-passing-conventions.rst
+++ /dev/null
@@ -1,178 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _naming-and-argument-passing-conventions:
-
-Naming and argument-passing conventions
-***************************************
-
-This section gives an overview about the naming convention of procedures
-and global variables and about the argument passing conventions used by
-GNU Fortran. If a C binding has been specified, the naming convention
-and some of the argument-passing conventions change. If possible,
-mixed-language and mixed-compiler projects should use the better defined
-C binding for interoperability. See see :ref:`interoperability-with-c`.
-
-.. toctree::
- :maxdepth: 2
-
-
-.. _naming-conventions:
-
-Naming conventions
-^^^^^^^^^^^^^^^^^^
-
-According the Fortran standard, valid Fortran names consist of a letter
-between ``A`` to ``Z``, ``a`` to ``z``, digits ``0``,
-``1`` to ``9`` and underscores (``_``) with the restriction
-that names may only start with a letter. As vendor extension, the
-dollar sign (``$``) is additionally permitted with the option
-:option:`-fdollar-ok`, but not as first character and only if the
-target system supports it.
-
-By default, the procedure name is the lower-cased Fortran name with an
-appended underscore (``_``); using :option:`-fno-underscoring` no
-underscore is appended while ``-fsecond-underscore`` appends two
-underscores. Depending on the target system and the calling convention,
-the procedure might be additionally dressed; for instance, on 32bit
-Windows with ``stdcall``, an at-sign ``@`` followed by an integer
-number is appended. For the changing the calling convention, see
-see :ref:`gnu-fortran-compiler-directives`.
-
-For common blocks, the same convention is used, i.e. by default an
-underscore is appended to the lower-cased Fortran name. Blank commons
-have the name ``__BLNK__``.
-
-For procedures and variables declared in the specification space of a
-module, the name is formed by ``__``, followed by the lower-cased
-module name, ``_MOD_``, and the lower-cased Fortran name. Note that
-no underscore is appended.
-
-.. _argument-passing-conventions:
-
-Argument passing conventions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Subroutines do not return a value (matching C99's ``void``) while
-functions either return a value as specified in the platform ABI or
-the result variable is passed as hidden argument to the function and
-no result is returned. A hidden result variable is used when the
-result variable is an array or of type ``CHARACTER``.
-
-Arguments are passed according to the platform ABI. In particular,
-complex arguments might not be compatible to a struct with two real
-components for the real and imaginary part. The argument passing
-matches the one of C99's ``_Complex``. Functions with scalar
-complex result variables return their value and do not use a
-by-reference argument. Note that with the :option:`-ff2c` option,
-the argument passing is modified and no longer completely matches
-the platform ABI. Some other Fortran compilers use ``f2c``
-semantic by default; this might cause problems with
-interoperablility.
-
-GNU Fortran passes most arguments by reference, i.e. by passing a
-pointer to the data. Note that the compiler might use a temporary
-variable into which the actual argument has been copied, if required
-semantically (copy-in/copy-out).
-
-For arguments with ``ALLOCATABLE`` and ``POINTER``
-attribute (including procedure pointers), a pointer to the pointer
-is passed such that the pointer address can be modified in the
-procedure.
-
-For dummy arguments with the ``VALUE`` attribute: Scalar arguments
-of the type ``INTEGER``, ``LOGICAL``, ``REAL`` and
-``COMPLEX`` are passed by value according to the platform ABI.
-(As vendor extension and not recommended, using ``%VAL()`` in the
-call to a procedure has the same effect.) For ``TYPE(C_PTR)`` and
-procedure pointers, the pointer itself is passed such that it can be
-modified without affecting the caller.
-
-.. todo:: Document how VALUE is handled for CHARACTER, TYPE,
- CLASS and arrays, i.e. whether the copy-in is done in the caller
- or in the callee.
-
-For Boolean (``LOGICAL``) arguments, please note that GCC expects
-only the integer value 0 and 1. If a GNU Fortran ``LOGICAL``
-variable contains another integer value, the result is undefined.
-As some other Fortran compilers use -1 for ``.TRUE.``,
-extra care has to be taken -- such as passing the value as
-``INTEGER``. (The same value restriction also applies to other
-front ends of GCC, e.g. to GCC's C99 compiler for ``_Bool``
-or GCC's Ada compiler for ``Boolean``.)
-
-For arguments of ``CHARACTER`` type, the character length is passed
-as a hidden argument at the end of the argument list. For
-deferred-length strings, the value is passed by reference, otherwise
-by value. The character length has the C type ``size_t`` (or
-``INTEGER(kind=C_SIZE_T)`` in Fortran). Note that this is
-different to older versions of the GNU Fortran compiler, where the
-type of the hidden character length argument was a C ``int``. In
-order to retain compatibility with older versions, one can e.g. for
-the following Fortran procedure
-
-.. code-block:: fortran
-
- subroutine fstrlen (s, a)
- character(len=*) :: s
- integer :: a
- print*, len(s)
- end subroutine fstrlen
-
-define the corresponding C prototype as follows:
-
-.. code-block:: fortran
-
- #if __GNUC__ > 7
- typedef size_t fortran_charlen_t;
- #else
- typedef int fortran_charlen_t;
- #endif
-
- void fstrlen_ (char*, int*, fortran_charlen_t);
-
-In order to avoid such compiler-specific details, for new code it is
-instead recommended to use the ISO_C_BINDING feature.
-
-Note with C binding, ``CHARACTER(len=1)`` result variables are
-returned according to the platform ABI and no hidden length argument
-is used for dummy arguments; with ``VALUE``, those variables are
-passed by value.
-
-For ``OPTIONAL`` dummy arguments, an absent argument is denoted
-by a NULL pointer, except for scalar dummy arguments of type
-``INTEGER``, ``LOGICAL``, ``REAL`` and ``COMPLEX``
-which have the ``VALUE`` attribute. For those, a hidden Boolean
-argument (``logical(kind=C_bool),value``) is used to indicate
-whether the argument is present.
-
-Arguments which are assumed-shape, assumed-rank or deferred-rank
-arrays or, with :option:`-fcoarray=lib`, allocatable scalar coarrays use
-an array descriptor. All other arrays pass the address of the
-first element of the array. With :option:`-fcoarray=lib`, the token
-and the offset belonging to nonallocatable coarrays dummy arguments
-are passed as hidden argument along the character length hidden
-arguments. The token is an opaque pointer identifying the coarray
-and the offset is a passed-by-value integer of kind ``C_PTRDIFF_T``,
-denoting the byte offset between the base address of the coarray and
-the passed scalar or first element of the passed array.
-
-The arguments are passed in the following order
-
-* Result variable, when the function result is passed by reference
-
-* Character length of the function result, if it is a of type
- ``CHARACTER`` and no C binding is used
-
-* The arguments in the order in which they appear in the Fortran
- declaration
-
-* The present status for optional arguments with value attribute,
- which are internally passed by value
-
-* The character length and/or coarray token and offset for the first
- argument which is a ``CHARACTER`` or a nonallocatable coarray dummy
- argument, followed by the hidden arguments of the next dummy argument
- of such a type \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/non-fortran-main-program.rst b/gcc/fortran/doc/gfortran/non-fortran-main-program.rst
deleted file mode 100644
index 91e0ff8..0000000
--- a/gcc/fortran/doc/gfortran/non-fortran-main-program.rst
+++ /dev/null
@@ -1,251 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _non-fortran-main-program:
-
-Non-Fortran Main Program
-************************
-
-.. toctree::
- :maxdepth: 2
-
-
-Even if you are doing mixed-language programming, it is very
-likely that you do not need to know or use the information in this
-section. Since it is about the internal structure of GNU Fortran,
-it may also change in GCC minor releases.
-
-When you compile a ``PROGRAM`` with GNU Fortran, a function
-with the name ``main`` (in the symbol table of the object file)
-is generated, which initializes the libgfortran library and then
-calls the actual program which uses the name ``MAIN__``, for
-historic reasons. If you link GNU Fortran compiled procedures
-to, e.g., a C or C++ program or to a Fortran program compiled by
-a different compiler, the libgfortran library is not initialized
-and thus a few intrinsic procedures do not work properly, e.g.
-those for obtaining the command-line arguments.
-
-Therefore, if your ``PROGRAM`` is not compiled with
-GNU Fortran and the GNU Fortran compiled procedures require
-intrinsics relying on the library initialization, you need to
-initialize the library yourself. Using the default options,
-gfortran calls ``_gfortran_set_args`` and
-``_gfortran_set_options``. The initialization of the former
-is needed if the called procedures access the command line
-(and for backtracing); the latter sets some flags based on the
-standard chosen or to enable backtracing. In typical programs,
-it is not necessary to call any initialization function.
-
-If your ``PROGRAM`` is compiled with GNU Fortran, you shall
-not call any of the following functions. The libgfortran
-initialization functions are shown in C syntax but using C
-bindings they are also accessible from Fortran.
-
-.. index:: _gfortran_set_args, libgfortran initialization, set_args
-
-.. _gfortran_set_args:
-
-_gfortran_set_args --- Save command-line arguments
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_set_args (int argc, char *argv[])
-
- ``_gfortran_set_args`` saves the command-line arguments; this
- initialization is required if any of the command-line intrinsics
- is called. Additionally, it shall be called if backtracing is
- enabled (see ``_gfortran_set_options``).
-
- :param argc:
- number of command line argument strings
-
- :param argv:
- the command-line argument strings; argv[0]
- is the pathname of the executable itself.
-
- :samp:`{Example}:`
-
- .. code-block:: c
-
- int main (int argc, char *argv[])
- {
- /* Initialize libgfortran. */
- _gfortran_set_args (argc, argv);
- return 0;
- }
-
-.. index:: _gfortran_set_options, libgfortran initialization, set_options
-
-.. _gfortran_set_options:
-
-_gfortran_set_options --- Set library option flags
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_set_options (int num, int options[])
-
- ``_gfortran_set_options`` sets several flags related to the Fortran
- standard to be used, whether backtracing should be enabled
- and whether range checks should be performed. The syntax allows for
- upward compatibility since the number of passed flags is specified; for
- non-passed flags, the default value is used. See also
- see :ref:`code-gen-options`. Please note that not all flags are actually
- used.
-
- :param num:
- number of options passed
-
- :param argv:
- The list of flag values
-
- :samp:`{option flag list}:`
-
- .. list-table::
- :widths: 15 85
-
- * - :samp:`{option}` [0]
- - Allowed standard; can give run-time errors if e.g. an input-output edit descriptor is invalid in a given standard. Possible values are (bitwise or-ed) ``GFC_STD_F77`` (1), ``GFC_STD_F95_OBS`` (2), ``GFC_STD_F95_DEL`` (4), ``GFC_STD_F95`` (8), ``GFC_STD_F2003`` (16), ``GFC_STD_GNU`` (32), ``GFC_STD_LEGACY`` (64), ``GFC_STD_F2008`` (128), ``GFC_STD_F2008_OBS`` (256), ``GFC_STD_F2008_TS`` (512), ``GFC_STD_F2018`` (1024), ``GFC_STD_F2018_OBS`` (2048), and ``GFC_STD=F2018_DEL`` (4096). Default: ``GFC_STD_F95_OBS | GFC_STD_F95_DEL | GFC_STD_F95 | GFC_STD_F2003 | GFC_STD_F2008 | GFC_STD_F2008_TS | GFC_STD_F2008_OBS | GFC_STD_F77 | GFC_STD_F2018 | GFC_STD_F2018_OBS | GFC_STD_F2018_DEL | GFC_STD_GNU | GFC_STD_LEGACY``.
- * - :samp:`{option}` [1]
- - Standard-warning flag; prints a warning to standard error. Default: ``GFC_STD_F95_DEL | GFC_STD_LEGACY``.
- * - :samp:`{option}` [2]
- - If non zero, enable pedantic checking. Default: off.
- * - :samp:`{option}` [3]
- - Unused.
- * - :samp:`{option}` [4]
- - If non zero, enable backtracing on run-time errors. Default: off. (Default in the compiler: on.) Note: Installs a signal handler and requires command-line initialization using ``_gfortran_set_args``.
- * - :samp:`{option}` [5]
- - If non zero, supports signed zeros. Default: enabled.
- * - :samp:`{option}` [6]
- - Enables run-time checking. Possible values are (bitwise or-ed): GFC_RTCHECK_BOUNDS (1), GFC_RTCHECK_ARRAY_TEMPS (2), GFC_RTCHECK_RECURSION (4), GFC_RTCHECK_DO (8), GFC_RTCHECK_POINTER (16), GFC_RTCHECK_MEM (32), GFC_RTCHECK_BITS (64). Default: disabled.
- * - :samp:`{option}` [7]
- - Unused.
- * - :samp:`{option}` [8]
- - Show a warning when invoking ``STOP`` and ``ERROR STOP`` if a floating-point exception occurred. Possible values are (bitwise or-ed) ``GFC_FPE_INVALID`` (1), ``GFC_FPE_DENORMAL`` (2), ``GFC_FPE_ZERO`` (4), ``GFC_FPE_OVERFLOW`` (8), ``GFC_FPE_UNDERFLOW`` (16), ``GFC_FPE_INEXACT`` (32). Default: None (0). (Default in the compiler: ``GFC_FPE_INVALID | GFC_FPE_DENORMAL | GFC_FPE_ZERO | GFC_FPE_OVERFLOW | GFC_FPE_UNDERFLOW``.)
-
- :samp:`{Example}:`
-
- .. code-block:: c
-
- /* Use gfortran 4.9 default options. */
- static int options[] = {68, 511, 0, 0, 1, 1, 0, 0, 31};
- _gfortran_set_options (9, &options);
-
-.. index:: _gfortran_set_convert, libgfortran initialization, set_convert
-
-.. _gfortran_set_convert:
-
-_gfortran_set_convert --- Set endian conversion
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_set_convert (int conv)
-
- ``_gfortran_set_convert`` set the representation of data for
- unformatted files.
-
- :param conv:
- Endian conversion, possible values:
- GFC_CONVERT_NATIVE (0, default), GFC_CONVERT_SWAP (1),
- GFC_CONVERT_BIG (2), GFC_CONVERT_LITTLE (3).
-
- :samp:`{Example}:`
-
- .. code-block:: c
-
- int main (int argc, char *argv[])
- {
- /* Initialize libgfortran. */
- _gfortran_set_args (argc, argv);
- _gfortran_set_convert (1);
- return 0;
- }
-
-.. index:: _gfortran_set_record_marker, libgfortran initialization, set_record_marker
-
-.. _gfortran_set_record_marker:
-
-_gfortran_set_record_marker --- Set length of record markers
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_set_record_marker (int val)
-
- ``_gfortran_set_record_marker`` sets the length of record markers
- for unformatted files.
-
- :param val:
- Length of the record marker; valid values
- are 4 and 8. Default is 4.
-
- :samp:`{Example}:`
-
- .. code-block:: c
-
- int main (int argc, char *argv[])
- {
- /* Initialize libgfortran. */
- _gfortran_set_args (argc, argv);
- _gfortran_set_record_marker (8);
- return 0;
- }
-
-.. index:: _gfortran_set_fpe, libgfortran initialization, set_fpe
-
-.. _gfortran_set_fpe:
-
-_gfortran_set_fpe --- Enable floating point exception traps
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_set_fpe (int val)
-
- ``_gfortran_set_fpe`` enables floating point exception traps for
- the specified exceptions. On most systems, this will result in a
- SIGFPE signal being sent and the program being aborted.
-
- :param option} [0]:
- IEEE exceptions. Possible values are
- (bitwise or-ed) zero (0, default) no trapping,
- ``GFC_FPE_INVALID`` (1), ``GFC_FPE_DENORMAL`` (2),
- ``GFC_FPE_ZERO`` (4), ``GFC_FPE_OVERFLOW`` (8),
- ``GFC_FPE_UNDERFLOW`` (16), and ``GFC_FPE_INEXACT`` (32).
-
- :samp:`{Example}:`
-
- .. code-block:: c
-
- int main (int argc, char *argv[])
- {
- /* Initialize libgfortran. */
- _gfortran_set_args (argc, argv);
- /* FPE for invalid operations such as SQRT(-1.0). */
- _gfortran_set_fpe (1);
- return 0;
- }
-
-.. index:: _gfortran_set_max_subrecord_length, libgfortran initialization, set_max_subrecord_length
-
-.. _gfortran_set_max_subrecord_length:
-
-_gfortran_set_max_subrecord_length --- Set subrecord length
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. function:: void _gfortran_set_max_subrecord_length (int val)
-
- ``_gfortran_set_max_subrecord_length`` set the maximum length
- for a subrecord. This option only makes sense for testing and
- debugging of unformatted I/O.
-
- :param val:
- the maximum length for a subrecord;
- the maximum permitted value is 2147483639, which is also
- the default.
-
- :samp:`{Example}:`
-
- .. code-block:: c
-
- int main (int argc, char *argv[])
- {
- /* Initialize libgfortran. */
- _gfortran_set_args (argc, argv);
- _gfortran_set_max_subrecord_length (8);
- return 0;
- } \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/projects.rst b/gcc/fortran/doc/gfortran/projects.rst
deleted file mode 100644
index 99d8e1e..0000000
--- a/gcc/fortran/doc/gfortran/projects.rst
+++ /dev/null
@@ -1,29 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _projects:
-
-Projects
-********
-
-*Help build the test suite*
- Solicit more code for donation to the test suite: the more extensive the
- testsuite, the smaller the risk of breaking things in the future! We can
- keep code private on request.
-
-*Bug hunting/squishing*
- Find bugs and write more test cases! Test cases are especially very
- welcome, because it allows us to concentrate on fixing bugs instead of
- isolating them. Going through the bugzilla database at
- https://gcc.gnu.org/bugzilla/ to reduce testcases posted there and
- add more information (for example, for which version does the testcase
- work, for which versions does it fail?) is also very helpful.
-
-*Missing features*
- For a larger project, consider working on the missing features required for
- Fortran language standards compliance (see :ref:`standards`), or contributing
- to the implementation of extensions such as OpenMP (see :ref:`openmp`) or
- OpenACC (see :ref:`openacc`) that are under active development. Again,
- contributing test cases for these features is useful too! \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/runtime.rst b/gcc/fortran/doc/gfortran/runtime.rst
deleted file mode 100644
index e83c300..0000000
--- a/gcc/fortran/doc/gfortran/runtime.rst
+++ /dev/null
@@ -1,33 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: environment variable
-
-.. _runtime:
-
-Runtime: Influencing runtime behavior with environment variables
------------------------------------------------------------------
-
-The behavior of the :command:`gfortran` can be influenced by
-environment variables.
-
-Malformed environment variables are silently ignored.
-
-.. toctree::
- :maxdepth: 2
-
- runtime/tmpdir
- runtime/gfortranstdinunit
- runtime/gfortranstdoutunit
- runtime/gfortranstderrunit
- runtime/gfortranunbufferedall
- runtime/gfortranunbufferedpreconnected
- runtime/gfortranshowlocus
- runtime/gfortranoptionalplus
- runtime/gfortranlistseparator
- runtime/gfortranconvertunit
- runtime/gfortranerrorbacktrace
- runtime/gfortranformattedbuffersize
- runtime/gfortranunformattedbuffersize \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/runtime/gfortranconvertunit.rst b/gcc/fortran/doc/gfortran/runtime/gfortranconvertunit.rst
deleted file mode 100644
index 5ac40f8..0000000
--- a/gcc/fortran/doc/gfortran/runtime/gfortranconvertunit.rst
+++ /dev/null
@@ -1,97 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _gfortran_convert_unit:
-
-GFORTRAN_CONVERT_UNIT---Set conversion for unformatted I/O
-**********************************************************
-
-By setting the :envvar:`GFORTRAN_CONVERT_UNIT` variable, it is possible
-to change the representation of data for unformatted files.
-The syntax for the :envvar:`GFORTRAN_CONVERT_UNIT` variable for
-most systems is:
-
-.. code-block::
-
- GFORTRAN_CONVERT_UNIT: mode | mode ';' exception | exception ;
- mode: 'native' | 'swap' | 'big_endian' | 'little_endian' ;
- exception: mode ':' unit_list | unit_list ;
- unit_list: unit_spec | unit_list unit_spec ;
- unit_spec: INTEGER | INTEGER '-' INTEGER ;
-
-The variable consists of an optional default mode, followed by
-a list of optional exceptions, which are separated by semicolons
-from the preceding default and each other. Each exception consists
-of a format and a comma-separated list of units. Valid values for
-the modes are the same as for the ``CONVERT`` specifier:
-
-* ``NATIVE`` Use the native format. This is the default.
-
-* ``SWAP`` Swap between little- and big-endian.
-
-* ``LITTLE_ENDIAN`` Use the little-endian format
- for unformatted files.
-
-* ``BIG_ENDIAN`` Use the big-endian format for unformatted files.
-
-For POWER systems which support :option:`-mabi=ieeelongdouble`,
-there are additional options, which can be combined with the
-others with commas. Those are
-
-* ``R16_IEEE`` Use IEEE 128-bit format for ``REAL(KIND=16)``.
-
-* ``R16_IBM`` Use IBM ``long double`` format for
- ``REAL(KIND=16)``.
-
-A missing mode for an exception is taken to mean ``BIG_ENDIAN``.
-Examples of values for :envvar:`GFORTRAN_CONVERT_UNIT` are:
-
-* ``'big_endian'`` Do all unformatted I/O in big_endian mode.
-
-* ``'little_endian;native:10-20,25'`` Do all unformatted I/O
- in little_endian mode, except for units 10 to 20 and 25, which are in
- native format.
-
-* ``'10-20'`` Units 10 to 20 are big-endian, the rest is native.
-
-* ``'big_endian,r16_ibm'`` Do all unformatted I/O in big-endian
- mode and use IBM long double for output of ``REAL(KIND=16)`` values.
-
-Setting the environment variables should be done on the command
-line or via the :command:`export`
-command for :command:`sh`-compatible shells and via :command:`setenv`
-for :command:`csh`-compatible shells.
-
-Example for :command:`sh`:
-
-.. code-block:: shell-session
-
- $ gfortran foo.f90
- $ GFORTRAN_CONVERT_UNIT='big_endian;native:10-20' ./a.out
-
-Example code for :command:`csh`:
-
-.. code-block:: shell-session
-
- % gfortran foo.f90
- % setenv GFORTRAN_CONVERT_UNIT 'big_endian;native:10-20'
- % ./a.out
-
-Using anything but the native representation for unformatted data
-carries a significant speed overhead. If speed in this area matters
-to you, it is best if you use this only for data that needs to be
-portable.
-
-See :ref:`convert-specifier`, for an alternative way to specify the
-data representation for unformatted files. See :ref:`runtime-options`, for
-setting a default data representation for the whole program. The
-``CONVERT`` specifier overrides the :option:`-fconvert` compile options.
-
-.. note::
-
- The values specified via the GFORTRAN_CONVERT_UNIT
- environment variable will override the CONVERT specifier in the
- open statement*. This is to give control over data formats to
- users who do not have the source code of their program available. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/runtime/gfortranerrorbacktrace.rst b/gcc/fortran/doc/gfortran/runtime/gfortranerrorbacktrace.rst
deleted file mode 100644
index 9b8c3e7..0000000
--- a/gcc/fortran/doc/gfortran/runtime/gfortranerrorbacktrace.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _gfortran_error_backtrace:
-
-GFORTRAN_ERROR_BACKTRACE---Show backtrace on run-time errors
-************************************************************
-
-If the :envvar:`GFORTRAN_ERROR_BACKTRACE` variable is set to :samp:`y`,
-:samp:`Y` or :samp:`1` (only the first letter is relevant) then a
-backtrace is printed when a serious run-time error occurs. To disable
-the backtracing, set the variable to :samp:`n`, :samp:`N`, :samp:`0`.
-Default is to print a backtrace unless the :option:`-fno-backtrace`
-compile option was used. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/runtime/gfortranformattedbuffersize.rst b/gcc/fortran/doc/gfortran/runtime/gfortranformattedbuffersize.rst
deleted file mode 100644
index 329f921..0000000
--- a/gcc/fortran/doc/gfortran/runtime/gfortranformattedbuffersize.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _gfortran_formatted_buffer_size:
-
-GFORTRAN_FORMATTED_BUFFER_SIZE---Set buffer size for formatted I/O
-******************************************************************
-
-The :envvar:`GFORTRAN_FORMATTED_BUFFER_SIZE` environment variable
-specifies buffer size in bytes to be used for formatted output.
-The default value is 8192. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/runtime/gfortranlistseparator.rst b/gcc/fortran/doc/gfortran/runtime/gfortranlistseparator.rst
deleted file mode 100644
index 6eb2b18..0000000
--- a/gcc/fortran/doc/gfortran/runtime/gfortranlistseparator.rst
+++ /dev/null
@@ -1,21 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _gfortran_list_separator:
-
-GFORTRAN_LIST_SEPARATOR---Separator for list output
-***************************************************
-
-This environment variable specifies the separator when writing
-list-directed output. It may contain any number of spaces and
-at most one comma. If you specify this on the command line,
-be sure to quote spaces, as in
-
-.. code-block:: shell-session
-
- $ GFORTRAN_LIST_SEPARATOR=' , ' ./a.out
-
-when :command:`a.out` is the compiled Fortran program that you want to run.
-Default is a single space. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/runtime/gfortranoptionalplus.rst b/gcc/fortran/doc/gfortran/runtime/gfortranoptionalplus.rst
deleted file mode 100644
index 2f95f9f..0000000
--- a/gcc/fortran/doc/gfortran/runtime/gfortranoptionalplus.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _gfortran_optional_plus:
-
-GFORTRAN_OPTIONAL_PLUS---Print leading + where permitted
-********************************************************
-
-If the first letter is :samp:`y`, :samp:`Y` or :samp:`1`,
-a plus sign is printed
-where permitted by the Fortran standard. If the first letter
-is :samp:`n`, :samp:`N` or :samp:`0`, a plus sign is not printed
-in most cases. Default is not to print plus signs. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/runtime/gfortranshowlocus.rst b/gcc/fortran/doc/gfortran/runtime/gfortranshowlocus.rst
deleted file mode 100644
index 7656461..0000000
--- a/gcc/fortran/doc/gfortran/runtime/gfortranshowlocus.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _gfortran_show_locus:
-
-GFORTRAN_SHOW_LOCUS---Show location for runtime errors
-******************************************************
-
-If the first letter is :samp:`y`, :samp:`Y` or :samp:`1`, filename and
-line numbers for runtime errors are printed. If the first letter is
-:samp:`n`, :samp:`N` or :samp:`0`, do not print filename and line numbers
-for runtime errors. The default is to print the location. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/runtime/gfortranstderrunit.rst b/gcc/fortran/doc/gfortran/runtime/gfortranstderrunit.rst
deleted file mode 100644
index 6a847af..0000000
--- a/gcc/fortran/doc/gfortran/runtime/gfortranstderrunit.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _gfortran_stderr_unit:
-
-GFORTRAN_STDERR_UNIT---Unit number for standard error
-*****************************************************
-
-This environment variable can be used to select the unit number
-preconnected to standard error. This must be a positive integer.
-The default value is 0. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/runtime/gfortranstdinunit.rst b/gcc/fortran/doc/gfortran/runtime/gfortranstdinunit.rst
deleted file mode 100644
index 362ddbd..0000000
--- a/gcc/fortran/doc/gfortran/runtime/gfortranstdinunit.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _gfortran_stdin_unit:
-
-GFORTRAN_STDIN_UNIT---Unit number for standard input
-****************************************************
-
-This environment variable can be used to select the unit number
-preconnected to standard input. This must be a positive integer.
-The default value is 5. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/runtime/gfortranstdoutunit.rst b/gcc/fortran/doc/gfortran/runtime/gfortranstdoutunit.rst
deleted file mode 100644
index a6863bc..0000000
--- a/gcc/fortran/doc/gfortran/runtime/gfortranstdoutunit.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _gfortran_stdout_unit:
-
-GFORTRAN_STDOUT_UNIT---Unit number for standard output
-******************************************************
-
-This environment variable can be used to select the unit number
-preconnected to standard output. This must be a positive integer.
-The default value is 6. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/runtime/gfortranunbufferedall.rst b/gcc/fortran/doc/gfortran/runtime/gfortranunbufferedall.rst
deleted file mode 100644
index 6e8eee1..0000000
--- a/gcc/fortran/doc/gfortran/runtime/gfortranunbufferedall.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _gfortran_unbuffered_all:
-
-GFORTRAN_UNBUFFERED_ALL---Do not buffer I/O on all units
-********************************************************
-
-This environment variable controls whether all I/O is unbuffered. If
-the first letter is :samp:`y`, :samp:`Y` or :samp:`1`, all I/O is
-unbuffered. This will slow down small sequential reads and writes. If
-the first letter is :samp:`n`, :samp:`N` or :samp:`0`, I/O is buffered.
-This is the default. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/runtime/gfortranunbufferedpreconnected.rst b/gcc/fortran/doc/gfortran/runtime/gfortranunbufferedpreconnected.rst
deleted file mode 100644
index 3a9f8e4..0000000
--- a/gcc/fortran/doc/gfortran/runtime/gfortranunbufferedpreconnected.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _gfortran_unbuffered_preconnected:
-
-GFORTRAN_UNBUFFERED_PRECONNECTED---Do not buffer I/O on preconnected units
-**************************************************************************
-
-The environment variable named :envvar:`GFORTRAN_UNBUFFERED_PRECONNECTED` controls
-whether I/O on a preconnected unit (i.e. STDOUT or STDERR) is unbuffered. If
-the first letter is :samp:`y`, :samp:`Y` or :samp:`1`, I/O is unbuffered. This
-will slow down small sequential reads and writes. If the first letter
-is :samp:`n`, :samp:`N` or :samp:`0`, I/O is buffered. This is the default. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/runtime/gfortranunformattedbuffersize.rst b/gcc/fortran/doc/gfortran/runtime/gfortranunformattedbuffersize.rst
deleted file mode 100644
index fa26cf8..0000000
--- a/gcc/fortran/doc/gfortran/runtime/gfortranunformattedbuffersize.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _gfortran_unformatted_buffer_size:
-
-GFORTRAN_UNFORMATTED_BUFFER_SIZE---Set buffer size for unformatted I/O
-**********************************************************************
-
-The :envvar:`GFORTRAN_UNFORMATTED_BUFFER_SIZE` environment variable
-specifies buffer size in bytes to be used for unformatted output.
-The default value is 131072. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/runtime/tmpdir.rst b/gcc/fortran/doc/gfortran/runtime/tmpdir.rst
deleted file mode 100644
index 6c5625d..0000000
--- a/gcc/fortran/doc/gfortran/runtime/tmpdir.rst
+++ /dev/null
@@ -1,22 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _tmpdir:
-
-TMPDIR---Directory for scratch files
-************************************
-
-When opening a file with ``STATUS='SCRATCH'``, GNU Fortran tries to
-create the file in one of the potential directories by testing each
-directory in the order below.
-
-* The environment variable :envvar:`TMPDIR`, if it exists.
-
-* On the MinGW target, the directory returned by the ``GetTempPath``
- function. Alternatively, on the Cygwin target, the :envvar:`TMP` and
- :envvar:`TEMP` environment variables, if they exist, in that order.
-
-* The ``P_tmpdir`` macro if it is defined, otherwise the directory
- :samp:`/tmp`. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/standards.rst b/gcc/fortran/doc/gfortran/standards.rst
deleted file mode 100644
index eff1b18..0000000
--- a/gcc/fortran/doc/gfortran/standards.rst
+++ /dev/null
@@ -1,130 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. index:: Standards
-
-.. _standards:
-
-Standards
-*********
-
-Fortran is developed by the Working Group 5 of Sub-Committee 22 of the
-Joint Technical Committee 1 of the International Organization for
-Standardization and the International Electrotechnical Commission (IEC).
-This group is known as `WG5 <http://www.nag.co.uk/sc22wg5/>`_.
-Official Fortran standard documents are available for purchase
-from ISO; a collection of free documents (typically final drafts) are
-also available on the `wiki <https://gcc.gnu.org/wiki/GFortranStandards>`_.
-
-The GNU Fortran compiler implements ISO/IEC 1539:1997 (Fortran 95).
-As such, it can also compile essentially all standard-compliant
-Fortran 90 and Fortran 77 programs. It also supports the ISO/IEC
-TR-15581 enhancements to allocatable arrays.
-
-GNU Fortran also supports almost all of ISO/IEC 1539-1:2004
-(Fortran 2003) and ISO/IEC 1539-1:2010 (Fortran 2008).
-It has partial support for features introduced in ISO/IEC
-1539:2018 (Fortran 2018), the most recent version of the Fortran
-language standard, including full support for the Technical Specification
-``Further Interoperability of Fortran with C`` (ISO/IEC TS 29113:2012).
-More details on support for these standards can be
-found in the following sections of the documentation.
-
-Additionally, the GNU Fortran compilers supports the OpenMP specification
-(version 4.5 and partial support of the features of the 5.0 version,
-https://openmp.org/specifications/).
-There also is support for the OpenACC specification (targeting
-version 2.6, https://www.openacc.org/). See
-https://gcc.gnu.org/wiki/OpenACC for more information.
-
-.. index:: Varying length strings, strings, varying length, conditional compilation
-
-.. _fortran-95-status:
-
-Fortran 95 status
-^^^^^^^^^^^^^^^^^
-
-The Fortran 95 standard specifies in Part 2 (ISO/IEC 1539-2:2000)
-varying length character strings. While GNU Fortran currently does not
-support such strings directly, there exist two Fortran implementations
-for them, which work with GNU Fortran. One can be found at
-http://user.astro.wisc.edu/~townsend/static.php?ref=iso-varying-string.
-
-Deferred-length character strings of Fortran 2003 supports part of
-the features of ``ISO_VARYING_STRING`` and should be considered as
-replacement. (Namely, allocatable or pointers of the type
-``character(len=:)``.)
-
-Part 3 of the Fortran 95 standard (ISO/IEC 1539-3:1998) defines
-Conditional Compilation, which is not widely used and not directly
-supported by the GNU Fortran compiler. You can use the program coco
-to preprocess such files (http://www.daniellnagle.com/coco.html).
-
-.. _fortran-2003-status:
-
-Fortran 2003 status
-^^^^^^^^^^^^^^^^^^^
-
-GNU Fortran implements the Fortran 2003 (ISO/IEC 1539-1:2004) standard
-except for finalization support, which is incomplete.
-See the
-`Fortran 2003 wiki page <https://gcc.gnu.org/wiki/Fortran2003>`_ for a full list
-of new features introduced by Fortran 2003 and their implementation status.
-
-.. _fortran-2008-status:
-
-Fortran 2008 status
-^^^^^^^^^^^^^^^^^^^
-
-The GNU Fortran compiler supports almost all features of Fortran 2008;
-the `Fortran 2008 wiki <https://gcc.gnu.org/wiki/Fortran2008Status>`_
-has some information about the current implementation status.
-In particular, the following are not yet supported:
-
-* ``DO CONCURRENT`` and ``FORALL`` do not recognize a
- type-spec in the loop header.
-
-* The change to permit any constant expression in subscripts and
- nested implied-do limits in a ``DATA`` statement has not been implemented.
-
-.. _fortran-2018-status:
-
-Fortran 2018 status
-^^^^^^^^^^^^^^^^^^^
-
-Fortran 2018 (ISO/IEC 1539:2018) is the most recent version
-of the Fortran language standard. GNU Fortran implements some of the
-new features of this standard:
-
-* All Fortran 2018 features derived from ISO/IEC TS 29113:2012,
- 'Further Interoperability of Fortran with C', are supported by GNU Fortran.
- This includes assumed-type and assumed-rank objects and
- the ``SELECT RANK`` construct as well as the parts relating to
- ``BIND(C)`` functions.
- See also :ref:`further-interoperability-of-fortran-with-c`.
-
-* GNU Fortran supports a subset of features derived from ISO/IEC TS 18508:2015,
- 'Additional Parallel Features in Fortran':
-
- * The new atomic ADD, CAS, FETCH and ADD/OR/XOR, OR and XOR intrinsics.
-
- * The ``CO_MIN`` and ``CO_MAX`` and ``SUM`` reduction intrinsics,
- and the ``CO_BROADCAST`` and ``CO_REDUCE`` intrinsic, except that those
- do not support polymorphic types or types with allocatable, pointer or
- polymorphic components.
-
- * Events (``EVENT POST``, ``EVENT WAIT``, ``EVENT_QUERY``).
-
- * Failed images (``FAIL IMAGE``, ``IMAGE_STATUS``,
- ``FAILED_IMAGES``, ``STOPPED_IMAGES``).
-
-* An ``ERROR STOP`` statement is permitted in a ``PURE``
- procedure.
-
-* GNU Fortran supports the ``IMPLICIT NONE`` statement with an
- ``implicit-none-spec-list``.
-
-* The behavior of the ``INQUIRE`` statement with the ``RECL=``
- specifier now conforms to Fortran 2018. \ No newline at end of file
diff --git a/gcc/fortran/doc/gfortran/type-and-enum-abi-documentation.rst b/gcc/fortran/doc/gfortran/type-and-enum-abi-documentation.rst
deleted file mode 100644
index ec87873..0000000
--- a/gcc/fortran/doc/gfortran/type-and-enum-abi-documentation.rst
+++ /dev/null
@@ -1,189 +0,0 @@
-..
- Copyright 1988-2022 Free Software Foundation, Inc.
- This is part of the GCC manual.
- For copying conditions, see the copyright.rst file.
-
-.. _type-and-enum-abi-documentation:
-
-Type and enum ABI Documentation
-*******************************
-
-.. toctree::
- :maxdepth: 2
-
-
-.. _caf_token_t:
-
-caf_token_t
-^^^^^^^^^^^
-
-Typedef of type ``void *`` on the compiler side. Can be any data
-type on the library side.
-
-.. _caf_register_t:
-
-caf_register_t
-^^^^^^^^^^^^^^
-
-Indicates which kind of coarray variable should be registered.
-
-.. code-block:: c++
-
- typedef enum caf_register_t {
- CAF_REGTYPE_COARRAY_STATIC,
- CAF_REGTYPE_COARRAY_ALLOC,
- CAF_REGTYPE_LOCK_STATIC,
- CAF_REGTYPE_LOCK_ALLOC,
- CAF_REGTYPE_CRITICAL,
- CAF_REGTYPE_EVENT_STATIC,
- CAF_REGTYPE_EVENT_ALLOC,
- CAF_REGTYPE_COARRAY_ALLOC_REGISTER_ONLY,
- CAF_REGTYPE_COARRAY_ALLOC_ALLOCATE_ONLY
- }
- caf_register_t;
-
-The values ``CAF_REGTYPE_COARRAY_ALLOC_REGISTER_ONLY`` and
-``CAF_REGTYPE_COARRAY_ALLOC_ALLOCATE_ONLY`` are for allocatable components
-in derived type coarrays only. The first one sets up the token without
-allocating memory for allocatable component. The latter one only allocates the
-memory for an allocatable component in a derived type coarray. The token
-needs to be setup previously by the REGISTER_ONLY. This allows to have
-allocatable components un-allocated on some images. The status whether an
-allocatable component is allocated on a remote image can be queried by
-``_caf_is_present`` which used internally by the ``ALLOCATED``
-intrinsic.
-
-.. _caf_deregister_t:
-
-caf_deregister_t
-^^^^^^^^^^^^^^^^
-
-.. code-block:: c++
-
- typedef enum caf_deregister_t {
- CAF_DEREGTYPE_COARRAY_DEREGISTER,
- CAF_DEREGTYPE_COARRAY_DEALLOCATE_ONLY
- }
- caf_deregister_t;
-
-Allows to specifiy the type of deregistration of a coarray object. The
-``CAF_DEREGTYPE_COARRAY_DEALLOCATE_ONLY`` flag is only allowed for
-allocatable components in derived type coarrays.
-
-.. _caf_reference_t:
-
-caf_reference_t
-^^^^^^^^^^^^^^^
-
-The structure used for implementing arbitrary reference chains.
-A ``CAF_REFERENCE_T`` allows to specify a component reference or any kind
-of array reference of any rank supported by gfortran. For array references all
-kinds as known by the compiler/Fortran standard are supported indicated by
-a ``MODE``.
-
-.. code-block:: c++
-
- typedef enum caf_ref_type_t {
- /* Reference a component of a derived type, either regular one or an
- allocatable or pointer type. For regular ones idx in caf_reference_t is
- set to -1. */
- CAF_REF_COMPONENT,
- /* Reference an allocatable array. */
- CAF_REF_ARRAY,
- /* Reference a non-allocatable/non-pointer array. I.e., the coarray object
- has no array descriptor associated and the addressing is done
- completely using the ref. */
- CAF_REF_STATIC_ARRAY
- } caf_ref_type_t;
-
-.. code-block:: c++
-
- typedef enum caf_array_ref_t {
- /* No array ref. This terminates the array ref. */
- CAF_ARR_REF_NONE = 0,
- /* Reference array elements given by a vector. Only for this mode
- caf_reference_t.u.a.dim[i].v is valid. */
- CAF_ARR_REF_VECTOR,
- /* A full array ref (:). */
- CAF_ARR_REF_FULL,
- /* Reference a range on elements given by start, end and stride. */
- CAF_ARR_REF_RANGE,
- /* Only a single item is referenced given in the start member. */
- CAF_ARR_REF_SINGLE,
- /* An array ref of the kind (i:), where i is an arbitrary valid index in the
- array. The index i is given in the start member. */
- CAF_ARR_REF_OPEN_END,
- /* An array ref of the kind (:i), where the lower bound of the array ref
- is given by the remote side. The index i is given in the end member. */
- CAF_ARR_REF_OPEN_START
- } caf_array_ref_t;
-
-.. code-block:: c++
-
- /* References to remote components of a derived type. */
- typedef struct caf_reference_t {
- /* A pointer to the next ref or NULL. */
- struct caf_reference_t *next;
- /* The type of the reference. */
- /* caf_ref_type_t, replaced by int to allow specification in fortran FE. */
- int type;
- /* The size of an item referenced in bytes. I.e. in an array ref this is
- the factor to advance the array pointer with to get to the next item.
- For component refs this gives just the size of the element referenced. */
- size_t item_size;
- union {
- struct {
- /* The offset (in bytes) of the component in the derived type.
- Unused for allocatable or pointer components. */
- ptrdiff_t offset;
- /* The offset (in bytes) to the caf_token associated with this
- component. NULL, when not allocatable/pointer ref. */
- ptrdiff_t caf_token_offset;
- } c;
- struct {
- /* The mode of the array ref. See CAF_ARR_REF_*. */
- /* caf_array_ref_t, replaced by unsigend char to allow specification in
- fortran FE. */
- unsigned char mode[GFC_MAX_DIMENSIONS];
- /* The type of a static array. Unset for array's with descriptors. */
- int static_array_type;
- /* Subscript refs (s) or vector refs (v). */
- union {
- struct {
- /* The start and end boundary of the ref and the stride. */
- index_type start, end, stride;
- } s;
- struct {
- /* nvec entries of kind giving the elements to reference. */
- void *vector;
- /* The number of entries in vector. */
- size_t nvec;
- /* The integer kind used for the elements in vector. */
- int kind;
- } v;
- } dim[GFC_MAX_DIMENSIONS];
- } a;
- } u;
- } caf_reference_t;
-
-The references make up a single linked list of reference operations. The
-``NEXT`` member links to the next reference or NULL to indicate the end of
-the chain. Component and array refs can be arbitrarily mixed as long as they
-comply to the Fortran standard.
-
-.. note::
- The member ``STATIC_ARRAY_TYPE`` is used only when the ``TYPE`` is
- ``CAF_REF_STATIC_ARRAY``. The member gives the type of the data referenced.
- Because no array descriptor is available for a descriptor-less array and
- type conversion still needs to take place the type is transported here.
-
- At the moment ``CAF_ARR_REF_VECTOR`` is not implemented in the front end for
- descriptor-less arrays. The library caf_single has untested support for it.
-
-.. _caf_team_t:
-
-caf_team_t
-^^^^^^^^^^
-
-Opaque pointer to represent a team-handle. This type is a stand-in for the
-future implementation of teams. It is about to change without further notice. \ No newline at end of file