2022-12-30 Steve Kargl <kargl@gcc.gnu.org> PR fortran/102331 * decl.cc (attr_decl1): Guard against NULL pointer. * parse.cc (match_deferred_characteristics): Include BT_CLASS in check for derived being undefined. 2022-12-23 Harald Anlauf <anlauf@gmx.de> PR fortran/108131 * array.cc (match_array_element_spec): Avoid too early simplification of matched array element specs that can lead to a misinterpretation when used as array bounds in array declarations. 2022-12-23 Julian Brown <julian@codesourcery.com> * dump-parse-tree.cc (show_attr): Fix OMP-UDR-ARTIFICIAL-VAR typo. * trans-openmp.cc (gfc_trans_omp_array_section): Replace stray unicode m-dash character with hyphen. 2022-12-23 Steve Kargl <kargl@gcc.gnu.org> PR fortran/106731 * trans-array.cc (gfc_trans_auto_array_allocation): Remove gcc_assert (!TREE_STATIC()). 2022-12-22 Harald Anlauf <anlauf@gmx.de> PR fortran/69604 * match.cc (chk_stmt_fcn_body): New function. Check for invalid uses of statement functions arguments. (gfc_match_st_function): Use above. 2022-12-20 Harald Anlauf <anlauf@gmx.de> PR fortran/95375 * decl.cc (verify_bind_c_sym): Extend interoperability check to CLASS variables. 2022-12-18 Steve Kargl <kargl@gcc.gnu.org> PR fortran/107397 * decl.cc (add_init_expr_to_sym): Add check with new error message. 2022-12-14 Julian Brown <julian@codesourcery.com> PR fortran/107214 * gfortran.h (gfc_symbol): Add data_mark, dev_mark, gen_mark and reduc_mark bitfields. * openmp.cc (resolve_omp_clauses): Use above bitfields to improve duplicate clause detection. 2022-12-14 Julian Brown <julian@codesourcery.com> * trans-openmp.cc (gfc_add_firstprivate_if_unmapped): New function. (gfc_split_omp_clauses): Call above. 2022-12-13 Steve Kargl <kargl@gcc.gnu.org> PR fortran/107423 * parse.cc (parse_spec): Avoid NULL pointer dereference when parsing a function and an error occured. 2022-12-12 Harald Anlauf <anlauf@gmx.de> PR fortran/102180 * array.cc (match_array_element_spec): Add check for bad assumed-implied-spec. (gfc_match_array_spec): Reorder logic so that the first bad array element spec may trigger an error. 2022-12-11 Steve Kargl <kargl@gcc.gnu.org> PR fortran/107995 * interface.cc (gfc_check_dummy_characteristics): Reject statement function dummy arguments. 2022-12-11 Tobias Burnus <tobias@codesourcery.com> * openmp.cc (gfc_match_omp_context_selector_specification): Remove spurious 's' in an error message. 2022-12-10 Harald Anlauf <anlauf@gmx.de> PR fortran/106911 * simplify.cc (gfc_simplify_ishftc): If the SIZE argument is known to be outside the allowed range, terminate simplification. 2022-12-10 Tobias Burnus <tobias@codesourcery.com> * match.cc (gfc_match_member_sep): Use %<...%> in gfc_error. * openmp.cc (gfc_match_oacc_routine, gfc_match_omp_context_selector, gfc_match_omp_context_selector_specification, gfc_match_omp_declare_variant, resolve_omp_clauses): Likewise; use %qs instead of '%s'. * primary.cc (match_real_constant, gfc_match_varspec): Likewise. * resolve.cc (gfc_resolve_formal_arglist, resolve_operator, resolve_ordinary_assign): Likewise. 2022-12-09 Paul Thomas <pault@gcc.gnu.org> PR fortran/107872 * resolve.cc (derived_inaccessible): Skip over allocatable components to prevent an infinite loop. 2022-12-09 Tobias Burnus <tobias@codesourcery.com> * dump-parse-tree.cc (show_omp_namelist): Improve OMP_LIST_ALLOCATE output. * gfortran.h (struct gfc_omp_namelist): Add 'align' to 'u'. (gfc_free_omp_namelist): Add bool arg. * match.cc (gfc_free_omp_namelist): Likewise; free 'u.align'. * openmp.cc (gfc_free_omp_clauses, gfc_match_omp_clause_reduction, gfc_match_omp_flush): Update call. (gfc_match_omp_clauses): Match 'align/allocate modifers in 'allocate' clause. (resolve_omp_clauses): Resolve align. * st.cc (gfc_free_statement): Update call * trans-openmp.cc (gfc_trans_omp_clauses): Handle 'align'. 2022-12-08 Harald Anlauf <anlauf@gmx.de> PR fortran/108025 * symbol.cc (gfc_add_contiguous): Diagnose and reject duplicate CONTIGUOUS attribute. 2022-12-07 Harald Anlauf <anlauf@gmx.de> PR fortran/108010 * arith.cc (reduce_unary): Handle zero-sized arrays. (reduce_binary_aa): Likewise. 2022-12-04 Harald Anlauf <anlauf@gmx.de> PR fortran/107922 * simplify.cc (gfc_simplify_unpack): Terminate simplification when array-valued argument FIELD does not provide enough elements. 2022-12-04 Harald Anlauf <anlauf@gmx.de> PR fortran/107870 * intrinsic.texi: Fix typo in documentation of intrinsic FLOOR. Describe the optional KIND argument to intrinsics as a scalar constant expression, in accordance with the current standard. 2022-12-04 Harald Anlauf <anlauf@gmx.de> PR fortran/107899 * resolve.cc (resolve_deallocate_expr): Avoid NULL pointer dereference on invalid CLASS variable. 2022-11-30 Martin Liska <mliska@suse.cz> * parse.cc (parse_omp_structured_block): Remove extra semicolon. 2022-11-29 Harald Anlauf <anlauf@gmx.de> Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/107874 * simplify.cc (gfc_simplify_merge): When simplifying MERGE with a constant scalar MASK, ensure that arguments TSOURCE and FSOURCE are either constant or will be evaluated. * trans-intrinsic.cc (gfc_conv_intrinsic_merge): Evaluate arguments before generating conditional expression. 2022-11-28 Harald Anlauf <anlauf@gmx.de> PR fortran/107819 * trans-stmt.cc (gfc_conv_elemental_dependencies): In checking for elemental dependencies, treat dummy argument with VALUE attribute as implicitly having intent(in). 2022-11-28 Tobias Burnus <tobias@codesourcery.com> * openmp.cc (OMP_DO_CLAUSES, OMP_SCOPE_CLAUSES, OMP_SECTIONS_CLAUSES): Add 'nowait'. (OMP_SINGLE_CLAUSES): Add 'nowait' and 'copyprivate'. (gfc_match_omp_distribute_parallel_do, gfc_match_omp_distribute_parallel_do_simd, gfc_match_omp_parallel_do, gfc_match_omp_parallel_do_simd, gfc_match_omp_parallel_sections, gfc_match_omp_teams_distribute_parallel_do, gfc_match_omp_teams_distribute_parallel_do_simd): Disallow 'nowait'. (gfc_match_omp_workshare): Match 'nowait' clause. (gfc_match_omp_end_single): Use clause matcher for 'nowait'. (resolve_omp_clauses): Reject 'nowait' + 'copyprivate'. * parse.cc (decode_omp_directive): Break too long line. (parse_omp_do, parse_omp_structured_block): Diagnose duplicated 'nowait' clause. 2022-11-23 Steve Kargl <kargl@gcc.gnu.org> PR fortran/107577 * resolve.cc (find_array_spec): Choose appropriate locus either of bad array reference or of non-array entity in error message. 2022-11-18 Harald Anlauf <anlauf@gmx.de> PR fortran/107576 * interface.cc (gfc_procedure_use): Reject NULL as actual argument when there is no explicit procedure interface. 2022-11-17 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> PR fortran/99884 * io.cc (check_open_constraints): Remove double spaces. 2022-11-16 Steve Kargl <kargl@gcc.gnu.org> PR fortran/107707 * interface.cc (gfc_compare_actual_formal): Check that we actually have integer values before asking gmp_* to use them. 2022-11-16 Harald Anlauf <anlauf@gmx.de> PR fortran/107681 * resolve.cc (resolve_fl_var_and_proc): Prevent NULL pointer dereference with reference to bad CLASS variable. 2022-11-16 Harald Anlauf <anlauf@gmx.de> PR fortran/107680 * arith.cc (arith_power): Check that operands are properly converted before attempting to simplify. 2022-11-15 Lewis Hyatt <lhyatt@gmail.com> * cpp.cc (gfc_cpp_init): Use special_fname_builtin () rather than a hardcoded string (which was also incorrectly left untranslated previously.) * error.cc (gfc_diagnostic_build_locus_prefix): Likewise. * f95-lang.cc (gfc_init): Likewise. 2022-11-14 Harald Anlauf <anlauf@gmx.de> PR fortran/107444 * trans-openmp.cc (gfc_omp_check_optional_argument): Adjust to change of prefix of internal symbol for presence status to '.'. 2022-11-14 Martin Liska <mliska@suse.cz> * gfortran.texi: Port from Sphinx. 2022-11-14 Martin Liska <mliska@suse.cz> Revert: 2022-11-14 Martin Liska <mliska@suse.cz> * doc/gfc-internals/code-that-interacts-with-the-user.rst: New file. * doc/gfc-internals/command-line-options.rst: New file. * doc/gfc-internals/conf.py: New file. * doc/gfc-internals/copyright.rst: New file. * doc/gfc-internals/error-handling.rst: New file. * doc/gfc-internals/frontend-data-structures.rst: New file. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst: New file. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst: New file. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst: New file. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst: New file. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst: New file. * doc/gfc-internals/gfccode.rst: New file. * doc/gfc-internals/gfcexpr.rst: New file. * doc/gfc-internals/gnu-free-documentation-license.rst: New file. * doc/gfc-internals/index.rst: New file. * doc/gfc-internals/indices-and-tables.rst: New file. * doc/gfc-internals/internals-of-fortran-2003-oop-features.rst: New file. * doc/gfc-internals/introduction.rst: New file. * doc/gfc-internals/symbol-versioning.rst: New file. * doc/gfc-internals/the-libgfortran-runtime-library.rst: New file. * doc/gfc-internals/type-bound-operators.rst: New file. * doc/gfc-internals/type-bound-procedures.rst: New file. * doc/gfortran/about-gnu-fortran.rst: New file. * doc/gfortran/coarray-programming.rst: New file. * doc/gfortran/compiler-characteristics.rst: New file. * doc/gfortran/compiler-characteristics/asynchronous-i-o.rst: New file. * doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst: New file. * doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst: New file. * doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst: New file. * doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst: New file. * doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst: New file. * doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst: New file. * doc/gfortran/compiler-characteristics/kind-type-parameters.rst: New file. * doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst: New file. * doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst: New file. * doc/gfortran/conf.py: New file. * doc/gfortran/contributing.rst: New file. * doc/gfortran/contributors-to-gnu-fortran.rst: New file. * doc/gfortran/copyright.rst: New file. * doc/gfortran/extensions-implemented-in-gnu-fortran.rst: New file. * doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst: New file. * doc/gfortran/extensions.rst: New file. * doc/gfortran/function-abi-documentation.rst: New file. * doc/gfortran/funding.rst: New file. * doc/gfortran/general-public-license-3.rst: New file. * doc/gfortran/gnu-fortran-and-gcc.rst: New file. * doc/gfortran/gnu-fortran-command-options.rst: New file. * doc/gfortran/gnu-fortran-command-options/description.rst: New file. * doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst: New file. * doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst: New file. * doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst: New file. * doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst: New file. * doc/gfortran/gnu-fortran-command-options/option-summary.rst: New file. * doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst: New file. * doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst: New file. * doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst: New file. * doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst: New file. * doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst: New file. * doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst: New file. * doc/gfortran/gnu-fortran-compiler-directives.rst: New file. * doc/gfortran/gnu-free-documentation-license.rst: New file. * doc/gfortran/index.rst: New file. * doc/gfortran/indices-and-tables.rst: New file. * doc/gfortran/interoperability-with-c.rst: New file. * doc/gfortran/intrinsic-modules.rst: New file. * doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst: New file. * doc/gfortran/intrinsic-modules/isocbinding.rst: New file. * doc/gfortran/intrinsic-modules/isofortranenv.rst: New file. * doc/gfortran/intrinsic-modules/openacc-module-openacc.rst: New file. * doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst: New file. * doc/gfortran/intrinsic-procedures.rst: New file. * doc/gfortran/intrinsic-procedures/abort.rst: New file. * doc/gfortran/intrinsic-procedures/abs.rst: New file. * doc/gfortran/intrinsic-procedures/access.rst: New file. * doc/gfortran/intrinsic-procedures/achar.rst: New file. * doc/gfortran/intrinsic-procedures/acos.rst: New file. * doc/gfortran/intrinsic-procedures/acosd.rst: New file. * doc/gfortran/intrinsic-procedures/acosh.rst: New file. * doc/gfortran/intrinsic-procedures/adjustl.rst: New file. * doc/gfortran/intrinsic-procedures/adjustr.rst: New file. * doc/gfortran/intrinsic-procedures/aimag.rst: New file. * doc/gfortran/intrinsic-procedures/aint.rst: New file. * doc/gfortran/intrinsic-procedures/alarm.rst: New file. * doc/gfortran/intrinsic-procedures/all.rst: New file. * doc/gfortran/intrinsic-procedures/allocated.rst: New file. * doc/gfortran/intrinsic-procedures/and.rst: New file. * doc/gfortran/intrinsic-procedures/anint.rst: New file. * doc/gfortran/intrinsic-procedures/any.rst: New file. * doc/gfortran/intrinsic-procedures/asin.rst: New file. * doc/gfortran/intrinsic-procedures/asind.rst: New file. * doc/gfortran/intrinsic-procedures/asinh.rst: New file. * doc/gfortran/intrinsic-procedures/associated.rst: New file. * doc/gfortran/intrinsic-procedures/atan.rst: New file. * doc/gfortran/intrinsic-procedures/atan2.rst: New file. * doc/gfortran/intrinsic-procedures/atan2d.rst: New file. * doc/gfortran/intrinsic-procedures/atand.rst: New file. * doc/gfortran/intrinsic-procedures/atanh.rst: New file. * doc/gfortran/intrinsic-procedures/atomicadd.rst: New file. * doc/gfortran/intrinsic-procedures/atomicand.rst: New file. * doc/gfortran/intrinsic-procedures/atomiccas.rst: New file. * doc/gfortran/intrinsic-procedures/atomicdefine.rst: New file. * doc/gfortran/intrinsic-procedures/atomicfetchadd.rst: New file. * doc/gfortran/intrinsic-procedures/atomicfetchand.rst: New file. * doc/gfortran/intrinsic-procedures/atomicfetchor.rst: New file. * doc/gfortran/intrinsic-procedures/atomicfetchxor.rst: New file. * doc/gfortran/intrinsic-procedures/atomicor.rst: New file. * doc/gfortran/intrinsic-procedures/atomicref.rst: New file. * doc/gfortran/intrinsic-procedures/atomicxor.rst: New file. * doc/gfortran/intrinsic-procedures/backtrace.rst: New file. * doc/gfortran/intrinsic-procedures/besselj0.rst: New file. * doc/gfortran/intrinsic-procedures/besselj1.rst: New file. * doc/gfortran/intrinsic-procedures/besseljn.rst: New file. * doc/gfortran/intrinsic-procedures/bessely0.rst: New file. * doc/gfortran/intrinsic-procedures/bessely1.rst: New file. * doc/gfortran/intrinsic-procedures/besselyn.rst: New file. * doc/gfortran/intrinsic-procedures/bge.rst: New file. * doc/gfortran/intrinsic-procedures/bgt.rst: New file. * doc/gfortran/intrinsic-procedures/bitsize.rst: New file. * doc/gfortran/intrinsic-procedures/ble.rst: New file. * doc/gfortran/intrinsic-procedures/blt.rst: New file. * doc/gfortran/intrinsic-procedures/btest.rst: New file. * doc/gfortran/intrinsic-procedures/cassociated.rst: New file. * doc/gfortran/intrinsic-procedures/ceiling.rst: New file. * doc/gfortran/intrinsic-procedures/cfpointer.rst: New file. * doc/gfortran/intrinsic-procedures/cfprocpointer.rst: New file. * doc/gfortran/intrinsic-procedures/cfunloc.rst: New file. * doc/gfortran/intrinsic-procedures/char.rst: New file. * doc/gfortran/intrinsic-procedures/chdir.rst: New file. * doc/gfortran/intrinsic-procedures/chmod.rst: New file. * doc/gfortran/intrinsic-procedures/cloc.rst: New file. * doc/gfortran/intrinsic-procedures/cmplx.rst: New file. * doc/gfortran/intrinsic-procedures/cobroadcast.rst: New file. * doc/gfortran/intrinsic-procedures/comax.rst: New file. * doc/gfortran/intrinsic-procedures/comin.rst: New file. * doc/gfortran/intrinsic-procedures/commandargumentcount.rst: New file. * doc/gfortran/intrinsic-procedures/compileroptions.rst: New file. * doc/gfortran/intrinsic-procedures/compilerversion.rst: New file. * doc/gfortran/intrinsic-procedures/complex.rst: New file. * doc/gfortran/intrinsic-procedures/conjg.rst: New file. * doc/gfortran/intrinsic-procedures/coreduce.rst: New file. * doc/gfortran/intrinsic-procedures/cos.rst: New file. * doc/gfortran/intrinsic-procedures/cosd.rst: New file. * doc/gfortran/intrinsic-procedures/cosh.rst: New file. * doc/gfortran/intrinsic-procedures/cosum.rst: New file. * doc/gfortran/intrinsic-procedures/cotan.rst: New file. * doc/gfortran/intrinsic-procedures/cotand.rst: New file. * doc/gfortran/intrinsic-procedures/count.rst: New file. * doc/gfortran/intrinsic-procedures/cputime.rst: New file. * doc/gfortran/intrinsic-procedures/cshift.rst: New file. * doc/gfortran/intrinsic-procedures/csizeof.rst: New file. * doc/gfortran/intrinsic-procedures/ctime.rst: New file. * doc/gfortran/intrinsic-procedures/dateandtime.rst: New file. * doc/gfortran/intrinsic-procedures/dble.rst: New file. * doc/gfortran/intrinsic-procedures/dcmplx.rst: New file. * doc/gfortran/intrinsic-procedures/digits.rst: New file. * doc/gfortran/intrinsic-procedures/dim.rst: New file. * doc/gfortran/intrinsic-procedures/dotproduct.rst: New file. * doc/gfortran/intrinsic-procedures/dprod.rst: New file. * doc/gfortran/intrinsic-procedures/dreal.rst: New file. * doc/gfortran/intrinsic-procedures/dshiftl.rst: New file. * doc/gfortran/intrinsic-procedures/dshiftr.rst: New file. * doc/gfortran/intrinsic-procedures/dtime.rst: New file. * doc/gfortran/intrinsic-procedures/eoshift.rst: New file. * doc/gfortran/intrinsic-procedures/epsilon.rst: New file. * doc/gfortran/intrinsic-procedures/erf.rst: New file. * doc/gfortran/intrinsic-procedures/erfc.rst: New file. * doc/gfortran/intrinsic-procedures/erfcscaled.rst: New file. * doc/gfortran/intrinsic-procedures/etime.rst: New file. * doc/gfortran/intrinsic-procedures/eventquery.rst: New file. * doc/gfortran/intrinsic-procedures/executecommandline.rst: New file. * doc/gfortran/intrinsic-procedures/exit.rst: New file. * doc/gfortran/intrinsic-procedures/exp.rst: New file. * doc/gfortran/intrinsic-procedures/exponent.rst: New file. * doc/gfortran/intrinsic-procedures/extendstypeof.rst: New file. * doc/gfortran/intrinsic-procedures/fdate.rst: New file. * doc/gfortran/intrinsic-procedures/fget.rst: New file. * doc/gfortran/intrinsic-procedures/fgetc.rst: New file. * doc/gfortran/intrinsic-procedures/findloc.rst: New file. * doc/gfortran/intrinsic-procedures/floor.rst: New file. * doc/gfortran/intrinsic-procedures/flush.rst: New file. * doc/gfortran/intrinsic-procedures/fnum.rst: New file. * doc/gfortran/intrinsic-procedures/fput.rst: New file. * doc/gfortran/intrinsic-procedures/fputc.rst: New file. * doc/gfortran/intrinsic-procedures/fraction.rst: New file. * doc/gfortran/intrinsic-procedures/free.rst: New file. * doc/gfortran/intrinsic-procedures/fseek.rst: New file. * doc/gfortran/intrinsic-procedures/fstat.rst: New file. * doc/gfortran/intrinsic-procedures/ftell.rst: New file. * doc/gfortran/intrinsic-procedures/gamma.rst: New file. * doc/gfortran/intrinsic-procedures/gerror.rst: New file. * doc/gfortran/intrinsic-procedures/getarg.rst: New file. * doc/gfortran/intrinsic-procedures/getcommand.rst: New file. * doc/gfortran/intrinsic-procedures/getcommandargument.rst: New file. * doc/gfortran/intrinsic-procedures/getcwd.rst: New file. * doc/gfortran/intrinsic-procedures/getenv.rst: New file. * doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst: New file. * doc/gfortran/intrinsic-procedures/getgid.rst: New file. * doc/gfortran/intrinsic-procedures/getlog.rst: New file. * doc/gfortran/intrinsic-procedures/getpid.rst: New file. * doc/gfortran/intrinsic-procedures/getuid.rst: New file. * doc/gfortran/intrinsic-procedures/gmtime.rst: New file. * doc/gfortran/intrinsic-procedures/hostnm.rst: New file. * doc/gfortran/intrinsic-procedures/huge.rst: New file. * doc/gfortran/intrinsic-procedures/hypot.rst: New file. * doc/gfortran/intrinsic-procedures/iachar.rst: New file. * doc/gfortran/intrinsic-procedures/iall.rst: New file. * doc/gfortran/intrinsic-procedures/iand.rst: New file. * doc/gfortran/intrinsic-procedures/iany.rst: New file. * doc/gfortran/intrinsic-procedures/iargc.rst: New file. * doc/gfortran/intrinsic-procedures/ibclr.rst: New file. * doc/gfortran/intrinsic-procedures/ibits.rst: New file. * doc/gfortran/intrinsic-procedures/ibset.rst: New file. * doc/gfortran/intrinsic-procedures/ichar.rst: New file. * doc/gfortran/intrinsic-procedures/idate.rst: New file. * doc/gfortran/intrinsic-procedures/ieor.rst: New file. * doc/gfortran/intrinsic-procedures/ierrno.rst: New file. * doc/gfortran/intrinsic-procedures/imageindex.rst: New file. * doc/gfortran/intrinsic-procedures/index.rst: New file. * doc/gfortran/intrinsic-procedures/int.rst: New file. * doc/gfortran/intrinsic-procedures/int2.rst: New file. * doc/gfortran/intrinsic-procedures/int8.rst: New file. * doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst: New file. * doc/gfortran/intrinsic-procedures/ior.rst: New file. * doc/gfortran/intrinsic-procedures/iparity.rst: New file. * doc/gfortran/intrinsic-procedures/irand.rst: New file. * doc/gfortran/intrinsic-procedures/isatty.rst: New file. * doc/gfortran/intrinsic-procedures/iscontiguous.rst: New file. * doc/gfortran/intrinsic-procedures/ishft.rst: New file. * doc/gfortran/intrinsic-procedures/ishftc.rst: New file. * doc/gfortran/intrinsic-procedures/isiostatend.rst: New file. * doc/gfortran/intrinsic-procedures/isiostateor.rst: New file. * doc/gfortran/intrinsic-procedures/isnan.rst: New file. * doc/gfortran/intrinsic-procedures/itime.rst: New file. * doc/gfortran/intrinsic-procedures/kill.rst: New file. * doc/gfortran/intrinsic-procedures/kind.rst: New file. * doc/gfortran/intrinsic-procedures/lbound.rst: New file. * doc/gfortran/intrinsic-procedures/lcobound.rst: New file. * doc/gfortran/intrinsic-procedures/leadz.rst: New file. * doc/gfortran/intrinsic-procedures/len.rst: New file. * doc/gfortran/intrinsic-procedures/lentrim.rst: New file. * doc/gfortran/intrinsic-procedures/lge.rst: New file. * doc/gfortran/intrinsic-procedures/lgt.rst: New file. * doc/gfortran/intrinsic-procedures/link.rst: New file. * doc/gfortran/intrinsic-procedures/lle.rst: New file. * doc/gfortran/intrinsic-procedures/llt.rst: New file. * doc/gfortran/intrinsic-procedures/lnblnk.rst: New file. * doc/gfortran/intrinsic-procedures/loc.rst: New file. * doc/gfortran/intrinsic-procedures/log.rst: New file. * doc/gfortran/intrinsic-procedures/log10.rst: New file. * doc/gfortran/intrinsic-procedures/loggamma.rst: New file. * doc/gfortran/intrinsic-procedures/logical.rst: New file. * doc/gfortran/intrinsic-procedures/lshift.rst: New file. * doc/gfortran/intrinsic-procedures/lstat.rst: New file. * doc/gfortran/intrinsic-procedures/ltime.rst: New file. * doc/gfortran/intrinsic-procedures/malloc.rst: New file. * doc/gfortran/intrinsic-procedures/maskl.rst: New file. * doc/gfortran/intrinsic-procedures/maskr.rst: New file. * doc/gfortran/intrinsic-procedures/matmul.rst: New file. * doc/gfortran/intrinsic-procedures/max.rst: New file. * doc/gfortran/intrinsic-procedures/maxexponent.rst: New file. * doc/gfortran/intrinsic-procedures/maxloc.rst: New file. * doc/gfortran/intrinsic-procedures/maxval.rst: New file. * doc/gfortran/intrinsic-procedures/mclock.rst: New file. * doc/gfortran/intrinsic-procedures/mclock8.rst: New file. * doc/gfortran/intrinsic-procedures/merge.rst: New file. * doc/gfortran/intrinsic-procedures/mergebits.rst: New file. * doc/gfortran/intrinsic-procedures/min.rst: New file. * doc/gfortran/intrinsic-procedures/minexponent.rst: New file. * doc/gfortran/intrinsic-procedures/minloc.rst: New file. * doc/gfortran/intrinsic-procedures/minval.rst: New file. * doc/gfortran/intrinsic-procedures/mod.rst: New file. * doc/gfortran/intrinsic-procedures/modulo.rst: New file. * doc/gfortran/intrinsic-procedures/movealloc.rst: New file. * doc/gfortran/intrinsic-procedures/mvbits.rst: New file. * doc/gfortran/intrinsic-procedures/nearest.rst: New file. * doc/gfortran/intrinsic-procedures/newline.rst: New file. * doc/gfortran/intrinsic-procedures/nint.rst: New file. * doc/gfortran/intrinsic-procedures/norm2.rst: New file. * doc/gfortran/intrinsic-procedures/not.rst: New file. * doc/gfortran/intrinsic-procedures/null.rst: New file. * doc/gfortran/intrinsic-procedures/numimages.rst: New file. * doc/gfortran/intrinsic-procedures/or.rst: New file. * doc/gfortran/intrinsic-procedures/pack.rst: New file. * doc/gfortran/intrinsic-procedures/parity.rst: New file. * doc/gfortran/intrinsic-procedures/perror.rst: New file. * doc/gfortran/intrinsic-procedures/popcnt.rst: New file. * doc/gfortran/intrinsic-procedures/poppar.rst: New file. * doc/gfortran/intrinsic-procedures/precision.rst: New file. * doc/gfortran/intrinsic-procedures/present.rst: New file. * doc/gfortran/intrinsic-procedures/product.rst: New file. * doc/gfortran/intrinsic-procedures/radix.rst: New file. * doc/gfortran/intrinsic-procedures/ran.rst: New file. * doc/gfortran/intrinsic-procedures/rand.rst: New file. * doc/gfortran/intrinsic-procedures/randominit.rst: New file. * doc/gfortran/intrinsic-procedures/randomnumber.rst: New file. * doc/gfortran/intrinsic-procedures/randomseed.rst: New file. * doc/gfortran/intrinsic-procedures/range.rst: New file. * doc/gfortran/intrinsic-procedures/rank.rst: New file. * doc/gfortran/intrinsic-procedures/real.rst: New file. * doc/gfortran/intrinsic-procedures/rename.rst: New file. * doc/gfortran/intrinsic-procedures/repeat.rst: New file. * doc/gfortran/intrinsic-procedures/reshape.rst: New file. * doc/gfortran/intrinsic-procedures/rrspacing.rst: New file. * doc/gfortran/intrinsic-procedures/rshift.rst: New file. * doc/gfortran/intrinsic-procedures/sametypeas.rst: New file. * doc/gfortran/intrinsic-procedures/scale.rst: New file. * doc/gfortran/intrinsic-procedures/scan.rst: New file. * doc/gfortran/intrinsic-procedures/secnds.rst: New file. * doc/gfortran/intrinsic-procedures/second.rst: New file. * doc/gfortran/intrinsic-procedures/selectedcharkind.rst: New file. * doc/gfortran/intrinsic-procedures/selectedintkind.rst: New file. * doc/gfortran/intrinsic-procedures/selectedrealkind.rst: New file. * doc/gfortran/intrinsic-procedures/setexponent.rst: New file. * doc/gfortran/intrinsic-procedures/shape.rst: New file. * doc/gfortran/intrinsic-procedures/shifta.rst: New file. * doc/gfortran/intrinsic-procedures/shiftl.rst: New file. * doc/gfortran/intrinsic-procedures/shiftr.rst: New file. * doc/gfortran/intrinsic-procedures/sign.rst: New file. * doc/gfortran/intrinsic-procedures/signal.rst: New file. * doc/gfortran/intrinsic-procedures/sin.rst: New file. * doc/gfortran/intrinsic-procedures/sind.rst: New file. * doc/gfortran/intrinsic-procedures/sinh.rst: New file. * doc/gfortran/intrinsic-procedures/size.rst: New file. * doc/gfortran/intrinsic-procedures/sizeof.rst: New file. * doc/gfortran/intrinsic-procedures/sleep.rst: New file. * doc/gfortran/intrinsic-procedures/spacing.rst: New file. * doc/gfortran/intrinsic-procedures/spread.rst: New file. * doc/gfortran/intrinsic-procedures/sqrt.rst: New file. * doc/gfortran/intrinsic-procedures/srand.rst: New file. * doc/gfortran/intrinsic-procedures/stat.rst: New file. * doc/gfortran/intrinsic-procedures/storagesize.rst: New file. * doc/gfortran/intrinsic-procedures/sum.rst: New file. * doc/gfortran/intrinsic-procedures/symlnk.rst: New file. * doc/gfortran/intrinsic-procedures/system.rst: New file. * doc/gfortran/intrinsic-procedures/systemclock.rst: New file. * doc/gfortran/intrinsic-procedures/tan.rst: New file. * doc/gfortran/intrinsic-procedures/tand.rst: New file. * doc/gfortran/intrinsic-procedures/tanh.rst: New file. * doc/gfortran/intrinsic-procedures/thisimage.rst: New file. * doc/gfortran/intrinsic-procedures/time.rst: New file. * doc/gfortran/intrinsic-procedures/time8.rst: New file. * doc/gfortran/intrinsic-procedures/tiny.rst: New file. * doc/gfortran/intrinsic-procedures/trailz.rst: New file. * doc/gfortran/intrinsic-procedures/transfer.rst: New file. * doc/gfortran/intrinsic-procedures/transpose.rst: New file. * doc/gfortran/intrinsic-procedures/trim.rst: New file. * doc/gfortran/intrinsic-procedures/ttynam.rst: New file. * doc/gfortran/intrinsic-procedures/ubound.rst: New file. * doc/gfortran/intrinsic-procedures/ucobound.rst: New file. * doc/gfortran/intrinsic-procedures/umask.rst: New file. * doc/gfortran/intrinsic-procedures/unlink.rst: New file. * doc/gfortran/intrinsic-procedures/unpack.rst: New file. * doc/gfortran/intrinsic-procedures/verify.rst: New file. * doc/gfortran/intrinsic-procedures/xor.rst: New file. * doc/gfortran/introduction.rst: New file. * doc/gfortran/mixed-language-programming.rst: New file. * doc/gfortran/naming-and-argument-passing-conventions.rst: New file. * doc/gfortran/non-fortran-main-program.rst: New file. * doc/gfortran/projects.rst: New file. * doc/gfortran/runtime.rst: New file. * doc/gfortran/runtime/gfortranconvertunit.rst: New file. * doc/gfortran/runtime/gfortranerrorbacktrace.rst: New file. * doc/gfortran/runtime/gfortranformattedbuffersize.rst: New file. * doc/gfortran/runtime/gfortranlistseparator.rst: New file. * doc/gfortran/runtime/gfortranoptionalplus.rst: New file. * doc/gfortran/runtime/gfortranshowlocus.rst: New file. * doc/gfortran/runtime/gfortranstderrunit.rst: New file. * doc/gfortran/runtime/gfortranstdinunit.rst: New file. * doc/gfortran/runtime/gfortranstdoutunit.rst: New file. * doc/gfortran/runtime/gfortranunbufferedall.rst: New file. * doc/gfortran/runtime/gfortranunbufferedpreconnected.rst: New file. * doc/gfortran/runtime/gfortranunformattedbuffersize.rst: New file. * doc/gfortran/runtime/tmpdir.rst: New file. * doc/gfortran/standards.rst: New file. * doc/gfortran/type-and-enum-abi-documentation.rst: New file. 2022-11-14 Martin Liska <mliska@suse.cz> Revert: 2022-11-14 Martin Liska <mliska@suse.cz> * Make-lang.in: Support Sphinx based documentation. 2022-11-14 Martin Liska <mliska@suse.cz> Revert: 2022-11-14 Martin Liska <mliska@suse.cz> * gfc-internals.texi: Removed. * gfortran.texi: Removed. * intrinsic.texi: Removed. * invoke.texi: Removed. 2022-11-14 Martin Liska <mliska@suse.cz> Revert: 2022-11-14 Martin Liska <mliska@suse.cz> * Make-lang.in: Support --with-sphinx-build. 2022-11-14 Martin Liska <mliska@suse.cz> Revert: 2022-11-14 Martin Liska <mliska@suse.cz> * Make-lang.in: Support installation if sphinx-build is missing. 2022-11-14 Martin Liska <mliska@suse.cz> Revert: 2022-11-09 Martin Liska <mliska@suse.cz> * doc/gfortran/intrinsic-procedures/aint.rst: Simplify function declaration. * doc/gfortran/intrinsic-procedures/int.rst: Likewise. * doc/gfortran/intrinsic-procedures/anint.rst: Likewise. * doc/gfortran/intrinsic-procedures/char.rst: Likewise. * doc/gfortran/intrinsic-procedures/real.rst: Likewise. 2022-11-14 Martin Liska <mliska@suse.cz> Revert: 2022-11-14 Martin Liska <mliska@suse.cz> * doc/gfc-internals/code-that-interacts-with-the-user.rst: Add trailing newline. * doc/gfc-internals/command-line-options.rst: Add trailing newline. * doc/gfc-internals/copyright.rst: Add trailing newline. * doc/gfc-internals/error-handling.rst: Add trailing newline. * doc/gfc-internals/frontend-data-structures.rst: Add trailing newline. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst: Add trailing newline. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst: Add trailing newline. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst: Add trailing newline. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst: Add trailing newline. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst: Add trailing newline. * doc/gfc-internals/gfccode.rst: Add trailing newline. * doc/gfc-internals/gfcexpr.rst: Add trailing newline. * doc/gfc-internals/gnu-free-documentation-license.rst: Add trailing newline. * doc/gfc-internals/index.rst: Add trailing newline. * doc/gfc-internals/indices-and-tables.rst: Add trailing newline. * doc/gfc-internals/internals-of-fortran-2003-oop-features.rst: Add trailing newline. * doc/gfc-internals/introduction.rst: Add trailing newline. * doc/gfc-internals/symbol-versioning.rst: Add trailing newline. * doc/gfc-internals/the-libgfortran-runtime-library.rst: Add trailing newline. * doc/gfc-internals/type-bound-operators.rst: Add trailing newline. * doc/gfc-internals/type-bound-procedures.rst: Add trailing newline. * doc/gfortran/about-gnu-fortran.rst: Add trailing newline. * doc/gfortran/coarray-programming.rst: Add trailing newline. * doc/gfortran/compiler-characteristics.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/asynchronous-i-o.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/kind-type-parameters.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst: Add trailing newline. * doc/gfortran/contributing.rst: Add trailing newline. * doc/gfortran/contributors-to-gnu-fortran.rst: Add trailing newline. * doc/gfortran/copyright.rst: Add trailing newline. * doc/gfortran/extensions-implemented-in-gnu-fortran.rst: Add trailing newline. * doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst: Add trailing newline. * doc/gfortran/extensions.rst: Add trailing newline. * doc/gfortran/function-abi-documentation.rst: Add trailing newline. * doc/gfortran/funding.rst: Add trailing newline. * doc/gfortran/general-public-license-3.rst: Add trailing newline. * doc/gfortran/gnu-fortran-and-gcc.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/description.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/option-summary.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst: Add trailing newline. * doc/gfortran/gnu-fortran-compiler-directives.rst: Add trailing newline. * doc/gfortran/gnu-free-documentation-license.rst: Add trailing newline. * doc/gfortran/index.rst: Add trailing newline. * doc/gfortran/indices-and-tables.rst: Add trailing newline. * doc/gfortran/interoperability-with-c.rst: Add trailing newline. * doc/gfortran/intrinsic-modules.rst: Add trailing newline. * doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst: Add trailing newline. * doc/gfortran/intrinsic-modules/isocbinding.rst: Add trailing newline. * doc/gfortran/intrinsic-modules/isofortranenv.rst: Add trailing newline. * doc/gfortran/intrinsic-modules/openacc-module-openacc.rst: Add trailing newline. * doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/abort.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/abs.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/access.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/achar.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/acos.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/acosd.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/acosh.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/adjustl.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/adjustr.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/aimag.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/alarm.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/all.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/allocated.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/and.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/any.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/asin.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/asind.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/asinh.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/associated.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atan.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atan2.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atan2d.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atanh.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicadd.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomiccas.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicdefine.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicfetchadd.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicfetchand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicfetchor.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicfetchxor.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicor.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicref.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicxor.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/backtrace.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/besselj0.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/besselj1.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/besseljn.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/bessely0.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/bessely1.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/besselyn.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/bge.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/bgt.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/bitsize.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ble.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/blt.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/btest.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cassociated.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ceiling.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cfpointer.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cfprocpointer.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cfunloc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/chdir.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/chmod.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cloc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cmplx.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cobroadcast.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/comax.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/comin.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/commandargumentcount.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/compileroptions.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/compilerversion.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/complex.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/conjg.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/coreduce.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cos.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cosd.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cosh.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cosum.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cotan.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cotand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/count.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cputime.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cshift.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/csizeof.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ctime.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dateandtime.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dble.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dcmplx.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/digits.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dim.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dotproduct.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dprod.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dreal.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dshiftl.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dshiftr.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dtime.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/eoshift.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/epsilon.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/erf.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/erfc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/erfcscaled.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/etime.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/eventquery.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/executecommandline.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/exit.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/exp.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/exponent.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/extendstypeof.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fdate.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fget.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fgetc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/findloc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/floor.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/flush.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fnum.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fput.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fputc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fraction.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/free.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fseek.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fstat.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ftell.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/gamma.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/gerror.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getarg.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getcommand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getcommandargument.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getcwd.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getenv.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getgid.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getlog.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getpid.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getuid.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/gmtime.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/hostnm.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/huge.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/hypot.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/iachar.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/iall.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/iand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/iany.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/iargc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ibclr.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ibits.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ibset.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ichar.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/idate.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ieor.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ierrno.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/imageindex.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/index.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/int2.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/int8.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ior.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/iparity.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/irand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/isatty.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/iscontiguous.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ishft.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ishftc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/isiostatend.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/isiostateor.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/isnan.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/itime.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/kill.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/kind.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lbound.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lcobound.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/leadz.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/len.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lentrim.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lge.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lgt.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/link.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lle.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/llt.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lnblnk.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/loc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/log.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/log10.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/loggamma.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/logical.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lshift.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lstat.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ltime.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/malloc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/maskl.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/maskr.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/matmul.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/max.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/maxexponent.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/maxloc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/maxval.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/mclock.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/mclock8.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/merge.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/mergebits.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/min.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/minexponent.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/minloc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/minval.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/mod.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/modulo.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/movealloc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/mvbits.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/nearest.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/newline.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/nint.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/norm2.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/not.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/null.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/numimages.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/or.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/pack.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/parity.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/perror.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/popcnt.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/poppar.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/precision.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/present.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/product.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/radix.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ran.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/rand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/randominit.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/randomnumber.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/randomseed.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/range.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/rank.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/rename.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/repeat.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/reshape.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/rrspacing.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/rshift.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sametypeas.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/scale.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/scan.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/secnds.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/second.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/selectedcharkind.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/selectedintkind.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/selectedrealkind.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/setexponent.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/shape.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/shifta.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/shiftl.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/shiftr.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sign.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/signal.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sin.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sind.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sinh.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/size.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sizeof.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sleep.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/spacing.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/spread.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sqrt.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/srand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/stat.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/storagesize.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sum.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/symlnk.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/system.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/systemclock.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/tan.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/tand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/tanh.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/thisimage.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/time.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/time8.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/tiny.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/trailz.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/transfer.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/transpose.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/trim.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ttynam.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ubound.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ucobound.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/umask.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/unlink.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/unpack.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/verify.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/xor.rst: Add trailing newline. * doc/gfortran/introduction.rst: Add trailing newline. * doc/gfortran/mixed-language-programming.rst: Add trailing newline. * doc/gfortran/naming-and-argument-passing-conventions.rst: Add trailing newline. * doc/gfortran/non-fortran-main-program.rst: Add trailing newline. * doc/gfortran/projects.rst: Add trailing newline. * doc/gfortran/runtime.rst: Add trailing newline. * doc/gfortran/runtime/gfortranconvertunit.rst: Add trailing newline. * doc/gfortran/runtime/gfortranerrorbacktrace.rst: Add trailing newline. * doc/gfortran/runtime/gfortranformattedbuffersize.rst: Add trailing newline. * doc/gfortran/runtime/gfortranlistseparator.rst: Add trailing newline. * doc/gfortran/runtime/gfortranoptionalplus.rst: Add trailing newline. * doc/gfortran/runtime/gfortranshowlocus.rst: Add trailing newline. * doc/gfortran/runtime/gfortranstderrunit.rst: Add trailing newline. * doc/gfortran/runtime/gfortranstdinunit.rst: Add trailing newline. * doc/gfortran/runtime/gfortranstdoutunit.rst: Add trailing newline. * doc/gfortran/runtime/gfortranunbufferedall.rst: Add trailing newline. * doc/gfortran/runtime/gfortranunbufferedpreconnected.rst: Add trailing newline. * doc/gfortran/runtime/gfortranunformattedbuffersize.rst: Add trailing newline. * doc/gfortran/runtime/tmpdir.rst: Add trailing newline. * doc/gfortran/standards.rst: Add trailing newline. * doc/gfortran/type-and-enum-abi-documentation.rst: Add trailing newline. 2022-11-14 Martin Liska <mliska@suse.cz> Revert: 2022-11-14 Martin Liska <mliska@suse.cz> * doc/gfc-internals/conf.py: Add newline at last line. * doc/gfortran/conf.py: Add newline at last line. 2022-11-14 Martin Liska <mliska@suse.cz> Revert: 2022-11-10 Martin Liska <mliska@suse.cz> * doc/gfortran/intrinsic-procedures/abs.rst: Move label directly before title. * doc/gfortran/intrinsic-procedures/acos.rst: Likewise. * doc/gfortran/intrinsic-procedures/acosd.rst: Likewise. * doc/gfortran/intrinsic-procedures/acosh.rst: Likewise. * doc/gfortran/intrinsic-procedures/aimag.rst: Likewise. * doc/gfortran/intrinsic-procedures/aint.rst: Likewise. * doc/gfortran/intrinsic-procedures/anint.rst: Likewise. * doc/gfortran/intrinsic-procedures/asin.rst: Likewise. * doc/gfortran/intrinsic-procedures/asind.rst: Likewise. * doc/gfortran/intrinsic-procedures/asinh.rst: Likewise. * doc/gfortran/intrinsic-procedures/atan.rst: Likewise. * doc/gfortran/intrinsic-procedures/atan2.rst: Likewise. * doc/gfortran/intrinsic-procedures/atan2d.rst: Likewise. * doc/gfortran/intrinsic-procedures/atand.rst: Likewise. * doc/gfortran/intrinsic-procedures/atanh.rst: Likewise. * doc/gfortran/intrinsic-procedures/besselj0.rst: Likewise. * doc/gfortran/intrinsic-procedures/besselj1.rst: Likewise. * doc/gfortran/intrinsic-procedures/besseljn.rst: Likewise. * doc/gfortran/intrinsic-procedures/bessely0.rst: Likewise. * doc/gfortran/intrinsic-procedures/bessely1.rst: Likewise. * doc/gfortran/intrinsic-procedures/besselyn.rst: Likewise. * doc/gfortran/intrinsic-procedures/btest.rst: Likewise. * doc/gfortran/intrinsic-procedures/char.rst: Likewise. * doc/gfortran/intrinsic-procedures/conjg.rst: Likewise. * doc/gfortran/intrinsic-procedures/cos.rst: Likewise. * doc/gfortran/intrinsic-procedures/cosd.rst: Likewise. * doc/gfortran/intrinsic-procedures/cosh.rst: Likewise. * doc/gfortran/intrinsic-procedures/cotan.rst: Likewise. * doc/gfortran/intrinsic-procedures/cotand.rst: Likewise. * doc/gfortran/intrinsic-procedures/dim.rst: Likewise. * doc/gfortran/intrinsic-procedures/dprod.rst: Likewise. * doc/gfortran/intrinsic-procedures/erf.rst: Likewise. * doc/gfortran/intrinsic-procedures/erfc.rst: Likewise. * doc/gfortran/intrinsic-procedures/exp.rst: Likewise. * doc/gfortran/intrinsic-procedures/gamma.rst: Likewise. * doc/gfortran/intrinsic-procedures/iand.rst: Likewise. * doc/gfortran/intrinsic-procedures/ibclr.rst: Likewise. * doc/gfortran/intrinsic-procedures/ibits.rst: Likewise. * doc/gfortran/intrinsic-procedures/ibset.rst: Likewise. * doc/gfortran/intrinsic-procedures/ichar.rst: Likewise. * doc/gfortran/intrinsic-procedures/ieor.rst: Likewise. * doc/gfortran/intrinsic-procedures/index.rst: Likewise. * doc/gfortran/intrinsic-procedures/int.rst: Likewise. * doc/gfortran/intrinsic-procedures/ior.rst: Likewise. * doc/gfortran/intrinsic-procedures/ishft.rst: Likewise. * doc/gfortran/intrinsic-procedures/ishftc.rst: Likewise. * doc/gfortran/intrinsic-procedures/len.rst: Likewise. * doc/gfortran/intrinsic-procedures/lge.rst: Likewise. * doc/gfortran/intrinsic-procedures/lgt.rst: Likewise. * doc/gfortran/intrinsic-procedures/lle.rst: Likewise. * doc/gfortran/intrinsic-procedures/llt.rst: Likewise. * doc/gfortran/intrinsic-procedures/log.rst: Likewise. * doc/gfortran/intrinsic-procedures/log10.rst: Likewise. * doc/gfortran/intrinsic-procedures/loggamma.rst: Likewise. * doc/gfortran/intrinsic-procedures/max.rst: Likewise. * doc/gfortran/intrinsic-procedures/min.rst: Likewise. * doc/gfortran/intrinsic-procedures/mod.rst: Likewise. * doc/gfortran/intrinsic-procedures/mvbits.rst: Likewise. * doc/gfortran/intrinsic-procedures/nint.rst: Likewise. * doc/gfortran/intrinsic-procedures/not.rst: Likewise. * doc/gfortran/intrinsic-procedures/real.rst: Likewise. * doc/gfortran/intrinsic-procedures/sign.rst: Likewise. * doc/gfortran/intrinsic-procedures/sin.rst: Likewise. * doc/gfortran/intrinsic-procedures/sind.rst: Likewise. * doc/gfortran/intrinsic-procedures/sinh.rst: Likewise. * doc/gfortran/intrinsic-procedures/sqrt.rst: Likewise. * doc/gfortran/intrinsic-procedures/tan.rst: Likewise. * doc/gfortran/intrinsic-procedures/tand.rst: Likewise. * doc/gfortran/intrinsic-procedures/tanh.rst: Likewise. 2022-11-14 Martin Liska <mliska@suse.cz> * doc/gfortran/naming-and-argument-passing-conventions.rst: Revert. 2022-11-13 José Rui Faustino de Sousa <jrfsousa@gmail.com> PR fortran/94104 * interface.cc (gfc_compare_actual_formal): Improve error message dependent on Fortran standard level. 2021-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> * gfortran.h (gfc_check_include): Remove declaration. 2022-11-12 Harald Anlauf <anlauf@gmx.de> PR fortran/107444 * trans-decl.cc (create_function_arglist): Extend presence status to all intrinsic types, and change prefix of internal symbol to '.'. * trans-expr.cc (gfc_conv_expr_present): Align to changes in create_function_arglist. (gfc_conv_procedure_call): Fix generation of procedure arguments for the case of character dummy arguments with optional+value attribute. * trans-types.cc (gfc_get_function_type): Synchronize with changes to create_function_arglist. * doc/gfortran/naming-and-argument-passing-conventions.rst: Clarify the gfortran argument passing conventions with regard to OPTIONAL dummy arguments of intrinsic type. 2022-11-10 Martin Liska <mliska@suse.cz> * doc/gfortran/intrinsic-procedures/abs.rst: Move label directly before title. * doc/gfortran/intrinsic-procedures/acos.rst: Likewise. * doc/gfortran/intrinsic-procedures/acosd.rst: Likewise. * doc/gfortran/intrinsic-procedures/acosh.rst: Likewise. * doc/gfortran/intrinsic-procedures/aimag.rst: Likewise. * doc/gfortran/intrinsic-procedures/aint.rst: Likewise. * doc/gfortran/intrinsic-procedures/anint.rst: Likewise. * doc/gfortran/intrinsic-procedures/asin.rst: Likewise. * doc/gfortran/intrinsic-procedures/asind.rst: Likewise. * doc/gfortran/intrinsic-procedures/asinh.rst: Likewise. * doc/gfortran/intrinsic-procedures/atan.rst: Likewise. * doc/gfortran/intrinsic-procedures/atan2.rst: Likewise. * doc/gfortran/intrinsic-procedures/atan2d.rst: Likewise. * doc/gfortran/intrinsic-procedures/atand.rst: Likewise. * doc/gfortran/intrinsic-procedures/atanh.rst: Likewise. * doc/gfortran/intrinsic-procedures/besselj0.rst: Likewise. * doc/gfortran/intrinsic-procedures/besselj1.rst: Likewise. * doc/gfortran/intrinsic-procedures/besseljn.rst: Likewise. * doc/gfortran/intrinsic-procedures/bessely0.rst: Likewise. * doc/gfortran/intrinsic-procedures/bessely1.rst: Likewise. * doc/gfortran/intrinsic-procedures/besselyn.rst: Likewise. * doc/gfortran/intrinsic-procedures/btest.rst: Likewise. * doc/gfortran/intrinsic-procedures/char.rst: Likewise. * doc/gfortran/intrinsic-procedures/conjg.rst: Likewise. * doc/gfortran/intrinsic-procedures/cos.rst: Likewise. * doc/gfortran/intrinsic-procedures/cosd.rst: Likewise. * doc/gfortran/intrinsic-procedures/cosh.rst: Likewise. * doc/gfortran/intrinsic-procedures/cotan.rst: Likewise. * doc/gfortran/intrinsic-procedures/cotand.rst: Likewise. * doc/gfortran/intrinsic-procedures/dim.rst: Likewise. * doc/gfortran/intrinsic-procedures/dprod.rst: Likewise. * doc/gfortran/intrinsic-procedures/erf.rst: Likewise. * doc/gfortran/intrinsic-procedures/erfc.rst: Likewise. * doc/gfortran/intrinsic-procedures/exp.rst: Likewise. * doc/gfortran/intrinsic-procedures/gamma.rst: Likewise. * doc/gfortran/intrinsic-procedures/iand.rst: Likewise. * doc/gfortran/intrinsic-procedures/ibclr.rst: Likewise. * doc/gfortran/intrinsic-procedures/ibits.rst: Likewise. * doc/gfortran/intrinsic-procedures/ibset.rst: Likewise. * doc/gfortran/intrinsic-procedures/ichar.rst: Likewise. * doc/gfortran/intrinsic-procedures/ieor.rst: Likewise. * doc/gfortran/intrinsic-procedures/index.rst: Likewise. * doc/gfortran/intrinsic-procedures/int.rst: Likewise. * doc/gfortran/intrinsic-procedures/ior.rst: Likewise. * doc/gfortran/intrinsic-procedures/ishft.rst: Likewise. * doc/gfortran/intrinsic-procedures/ishftc.rst: Likewise. * doc/gfortran/intrinsic-procedures/len.rst: Likewise. * doc/gfortran/intrinsic-procedures/lge.rst: Likewise. * doc/gfortran/intrinsic-procedures/lgt.rst: Likewise. * doc/gfortran/intrinsic-procedures/lle.rst: Likewise. * doc/gfortran/intrinsic-procedures/llt.rst: Likewise. * doc/gfortran/intrinsic-procedures/log.rst: Likewise. * doc/gfortran/intrinsic-procedures/log10.rst: Likewise. * doc/gfortran/intrinsic-procedures/loggamma.rst: Likewise. * doc/gfortran/intrinsic-procedures/max.rst: Likewise. * doc/gfortran/intrinsic-procedures/min.rst: Likewise. * doc/gfortran/intrinsic-procedures/mod.rst: Likewise. * doc/gfortran/intrinsic-procedures/mvbits.rst: Likewise. * doc/gfortran/intrinsic-procedures/nint.rst: Likewise. * doc/gfortran/intrinsic-procedures/not.rst: Likewise. * doc/gfortran/intrinsic-procedures/real.rst: Likewise. * doc/gfortran/intrinsic-procedures/sign.rst: Likewise. * doc/gfortran/intrinsic-procedures/sin.rst: Likewise. * doc/gfortran/intrinsic-procedures/sind.rst: Likewise. * doc/gfortran/intrinsic-procedures/sinh.rst: Likewise. * doc/gfortran/intrinsic-procedures/sqrt.rst: Likewise. * doc/gfortran/intrinsic-procedures/tan.rst: Likewise. * doc/gfortran/intrinsic-procedures/tand.rst: Likewise. * doc/gfortran/intrinsic-procedures/tanh.rst: Likewise. 2022-11-10 Martin Liska <mliska@suse.cz> * doc/gfc-internals/conf.py: Add newline at last line. * doc/gfortran/conf.py: Add newline at last line. 2022-11-09 Harald Anlauf <anlauf@gmx.de> PR fortran/107559 * resolve.cc (resolve_equivalence): Avoid NULL pointer dereference while emitting diagnostics for bad EQUIVALENCEs. 2022-11-09 Harald Anlauf <anlauf@gmx.de> PR fortran/107441 * trans-decl.cc (create_function_arglist): Adjust the ordering of automatically generated hidden procedure arguments to match the documented ABI for gfortran. * trans-types.cc (gfc_get_function_type): Separate hidden parameters so that the presence flag for optional+value arguments come before string length, coarray token and offset, as required. 2022-11-09 Martin Liska <mliska@suse.cz> * doc/gfc-internals/code-that-interacts-with-the-user.rst: Add trailing newline. * doc/gfc-internals/command-line-options.rst: Add trailing newline. * doc/gfc-internals/copyright.rst: Add trailing newline. * doc/gfc-internals/error-handling.rst: Add trailing newline. * doc/gfc-internals/frontend-data-structures.rst: Add trailing newline. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst: Add trailing newline. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst: Add trailing newline. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst: Add trailing newline. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst: Add trailing newline. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst: Add trailing newline. * doc/gfc-internals/gfccode.rst: Add trailing newline. * doc/gfc-internals/gfcexpr.rst: Add trailing newline. * doc/gfc-internals/gnu-free-documentation-license.rst: Add trailing newline. * doc/gfc-internals/index.rst: Add trailing newline. * doc/gfc-internals/indices-and-tables.rst: Add trailing newline. * doc/gfc-internals/internals-of-fortran-2003-oop-features.rst: Add trailing newline. * doc/gfc-internals/introduction.rst: Add trailing newline. * doc/gfc-internals/symbol-versioning.rst: Add trailing newline. * doc/gfc-internals/the-libgfortran-runtime-library.rst: Add trailing newline. * doc/gfc-internals/type-bound-operators.rst: Add trailing newline. * doc/gfc-internals/type-bound-procedures.rst: Add trailing newline. * doc/gfortran/about-gnu-fortran.rst: Add trailing newline. * doc/gfortran/coarray-programming.rst: Add trailing newline. * doc/gfortran/compiler-characteristics.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/asynchronous-i-o.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/kind-type-parameters.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst: Add trailing newline. * doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst: Add trailing newline. * doc/gfortran/contributing.rst: Add trailing newline. * doc/gfortran/contributors-to-gnu-fortran.rst: Add trailing newline. * doc/gfortran/copyright.rst: Add trailing newline. * doc/gfortran/extensions-implemented-in-gnu-fortran.rst: Add trailing newline. * doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst: Add trailing newline. * doc/gfortran/extensions.rst: Add trailing newline. * doc/gfortran/function-abi-documentation.rst: Add trailing newline. * doc/gfortran/funding.rst: Add trailing newline. * doc/gfortran/general-public-license-3.rst: Add trailing newline. * doc/gfortran/gnu-fortran-and-gcc.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/description.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/option-summary.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst: Add trailing newline. * doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst: Add trailing newline. * doc/gfortran/gnu-fortran-compiler-directives.rst: Add trailing newline. * doc/gfortran/gnu-free-documentation-license.rst: Add trailing newline. * doc/gfortran/index.rst: Add trailing newline. * doc/gfortran/indices-and-tables.rst: Add trailing newline. * doc/gfortran/interoperability-with-c.rst: Add trailing newline. * doc/gfortran/intrinsic-modules.rst: Add trailing newline. * doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst: Add trailing newline. * doc/gfortran/intrinsic-modules/isocbinding.rst: Add trailing newline. * doc/gfortran/intrinsic-modules/isofortranenv.rst: Add trailing newline. * doc/gfortran/intrinsic-modules/openacc-module-openacc.rst: Add trailing newline. * doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/abort.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/abs.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/access.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/achar.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/acos.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/acosd.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/acosh.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/adjustl.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/adjustr.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/aimag.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/alarm.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/all.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/allocated.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/and.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/any.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/asin.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/asind.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/asinh.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/associated.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atan.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atan2.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atan2d.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atanh.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicadd.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomiccas.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicdefine.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicfetchadd.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicfetchand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicfetchor.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicfetchxor.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicor.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicref.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/atomicxor.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/backtrace.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/besselj0.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/besselj1.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/besseljn.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/bessely0.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/bessely1.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/besselyn.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/bge.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/bgt.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/bitsize.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ble.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/blt.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/btest.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cassociated.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ceiling.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cfpointer.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cfprocpointer.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cfunloc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/chdir.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/chmod.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cloc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cmplx.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cobroadcast.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/comax.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/comin.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/commandargumentcount.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/compileroptions.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/compilerversion.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/complex.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/conjg.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/coreduce.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cos.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cosd.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cosh.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cosum.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cotan.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cotand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/count.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cputime.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/cshift.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/csizeof.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ctime.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dateandtime.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dble.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dcmplx.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/digits.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dim.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dotproduct.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dprod.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dreal.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dshiftl.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dshiftr.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/dtime.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/eoshift.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/epsilon.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/erf.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/erfc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/erfcscaled.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/etime.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/eventquery.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/executecommandline.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/exit.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/exp.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/exponent.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/extendstypeof.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fdate.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fget.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fgetc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/findloc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/floor.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/flush.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fnum.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fput.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fputc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fraction.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/free.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fseek.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/fstat.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ftell.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/gamma.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/gerror.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getarg.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getcommand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getcommandargument.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getcwd.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getenv.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getgid.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getlog.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getpid.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/getuid.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/gmtime.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/hostnm.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/huge.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/hypot.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/iachar.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/iall.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/iand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/iany.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/iargc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ibclr.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ibits.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ibset.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ichar.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/idate.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ieor.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ierrno.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/imageindex.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/index.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/int2.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/int8.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ior.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/iparity.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/irand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/isatty.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/iscontiguous.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ishft.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ishftc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/isiostatend.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/isiostateor.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/isnan.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/itime.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/kill.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/kind.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lbound.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lcobound.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/leadz.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/len.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lentrim.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lge.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lgt.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/link.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lle.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/llt.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lnblnk.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/loc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/log.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/log10.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/loggamma.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/logical.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lshift.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/lstat.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ltime.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/malloc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/maskl.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/maskr.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/matmul.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/max.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/maxexponent.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/maxloc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/maxval.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/mclock.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/mclock8.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/merge.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/mergebits.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/min.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/minexponent.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/minloc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/minval.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/mod.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/modulo.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/movealloc.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/mvbits.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/nearest.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/newline.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/nint.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/norm2.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/not.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/null.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/numimages.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/or.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/pack.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/parity.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/perror.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/popcnt.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/poppar.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/precision.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/present.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/product.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/radix.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ran.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/rand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/randominit.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/randomnumber.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/randomseed.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/range.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/rank.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/rename.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/repeat.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/reshape.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/rrspacing.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/rshift.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sametypeas.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/scale.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/scan.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/secnds.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/second.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/selectedcharkind.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/selectedintkind.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/selectedrealkind.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/setexponent.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/shape.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/shifta.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/shiftl.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/shiftr.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sign.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/signal.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sin.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sind.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sinh.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/size.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sizeof.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sleep.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/spacing.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/spread.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sqrt.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/srand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/stat.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/storagesize.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/sum.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/symlnk.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/system.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/systemclock.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/tan.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/tand.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/tanh.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/thisimage.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/time.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/time8.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/tiny.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/trailz.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/transfer.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/transpose.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/trim.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ttynam.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ubound.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/ucobound.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/umask.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/unlink.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/unpack.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/verify.rst: Add trailing newline. * doc/gfortran/intrinsic-procedures/xor.rst: Add trailing newline. * doc/gfortran/introduction.rst: Add trailing newline. * doc/gfortran/mixed-language-programming.rst: Add trailing newline. * doc/gfortran/naming-and-argument-passing-conventions.rst: Add trailing newline. * doc/gfortran/non-fortran-main-program.rst: Add trailing newline. * doc/gfortran/projects.rst: Add trailing newline. * doc/gfortran/runtime.rst: Add trailing newline. * doc/gfortran/runtime/gfortranconvertunit.rst: Add trailing newline. * doc/gfortran/runtime/gfortranerrorbacktrace.rst: Add trailing newline. * doc/gfortran/runtime/gfortranformattedbuffersize.rst: Add trailing newline. * doc/gfortran/runtime/gfortranlistseparator.rst: Add trailing newline. * doc/gfortran/runtime/gfortranoptionalplus.rst: Add trailing newline. * doc/gfortran/runtime/gfortranshowlocus.rst: Add trailing newline. * doc/gfortran/runtime/gfortranstderrunit.rst: Add trailing newline. * doc/gfortran/runtime/gfortranstdinunit.rst: Add trailing newline. * doc/gfortran/runtime/gfortranstdoutunit.rst: Add trailing newline. * doc/gfortran/runtime/gfortranunbufferedall.rst: Add trailing newline. * doc/gfortran/runtime/gfortranunbufferedpreconnected.rst: Add trailing newline. * doc/gfortran/runtime/gfortranunformattedbuffersize.rst: Add trailing newline. * doc/gfortran/runtime/tmpdir.rst: Add trailing newline. * doc/gfortran/standards.rst: Add trailing newline. * doc/gfortran/type-and-enum-abi-documentation.rst: Add trailing newline. 2022-11-09 Martin Liska <mliska@suse.cz> * doc/gfortran/intrinsic-procedures/aint.rst: Simplify function declaration. * doc/gfortran/intrinsic-procedures/int.rst: Likewise. * doc/gfortran/intrinsic-procedures/anint.rst: Likewise. * doc/gfortran/intrinsic-procedures/char.rst: Likewise. * doc/gfortran/intrinsic-procedures/real.rst: Likewise. 2022-11-09 Martin Liska <mliska@suse.cz> * Make-lang.in: Support installation if sphinx-build is missing. 2022-11-09 Martin Liska <mliska@suse.cz> * Make-lang.in: Support --with-sphinx-build. 2022-11-09 Martin Liska <mliska@suse.cz> * gfc-internals.texi: Removed. * gfortran.texi: Removed. * intrinsic.texi: Removed. * invoke.texi: Removed. 2022-11-09 Martin Liska <mliska@suse.cz> * Make-lang.in: Support Sphinx based documentation. 2022-11-09 Martin Liska <mliska@suse.cz> * doc/gfc-internals/code-that-interacts-with-the-user.rst: New file. * doc/gfc-internals/command-line-options.rst: New file. * doc/gfc-internals/conf.py: New file. * doc/gfc-internals/copyright.rst: New file. * doc/gfc-internals/error-handling.rst: New file. * doc/gfc-internals/frontend-data-structures.rst: New file. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst: New file. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst: New file. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst: New file. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst: New file. * doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst: New file. * doc/gfc-internals/gfccode.rst: New file. * doc/gfc-internals/gfcexpr.rst: New file. * doc/gfc-internals/gnu-free-documentation-license.rst: New file. * doc/gfc-internals/index.rst: New file. * doc/gfc-internals/indices-and-tables.rst: New file. * doc/gfc-internals/internals-of-fortran-2003-oop-features.rst: New file. * doc/gfc-internals/introduction.rst: New file. * doc/gfc-internals/symbol-versioning.rst: New file. * doc/gfc-internals/the-libgfortran-runtime-library.rst: New file. * doc/gfc-internals/type-bound-operators.rst: New file. * doc/gfc-internals/type-bound-procedures.rst: New file. * doc/gfortran/about-gnu-fortran.rst: New file. * doc/gfortran/coarray-programming.rst: New file. * doc/gfortran/compiler-characteristics.rst: New file. * doc/gfortran/compiler-characteristics/asynchronous-i-o.rst: New file. * doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst: New file. * doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst: New file. * doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst: New file. * doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst: New file. * doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst: New file. * doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst: New file. * doc/gfortran/compiler-characteristics/kind-type-parameters.rst: New file. * doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst: New file. * doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst: New file. * doc/gfortran/conf.py: New file. * doc/gfortran/contributing.rst: New file. * doc/gfortran/contributors-to-gnu-fortran.rst: New file. * doc/gfortran/copyright.rst: New file. * doc/gfortran/extensions-implemented-in-gnu-fortran.rst: New file. * doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst: New file. * doc/gfortran/extensions.rst: New file. * doc/gfortran/function-abi-documentation.rst: New file. * doc/gfortran/funding.rst: New file. * doc/gfortran/general-public-license-3.rst: New file. * doc/gfortran/gnu-fortran-and-gcc.rst: New file. * doc/gfortran/gnu-fortran-command-options.rst: New file. * doc/gfortran/gnu-fortran-command-options/description.rst: New file. * doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst: New file. * doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst: New file. * doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst: New file. * doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst: New file. * doc/gfortran/gnu-fortran-command-options/option-summary.rst: New file. * doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst: New file. * doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst: New file. * doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst: New file. * doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst: New file. * doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst: New file. * doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst: New file. * doc/gfortran/gnu-fortran-compiler-directives.rst: New file. * doc/gfortran/gnu-free-documentation-license.rst: New file. * doc/gfortran/index.rst: New file. * doc/gfortran/indices-and-tables.rst: New file. * doc/gfortran/interoperability-with-c.rst: New file. * doc/gfortran/intrinsic-modules.rst: New file. * doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst: New file. * doc/gfortran/intrinsic-modules/isocbinding.rst: New file. * doc/gfortran/intrinsic-modules/isofortranenv.rst: New file. * doc/gfortran/intrinsic-modules/openacc-module-openacc.rst: New file. * doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst: New file. * doc/gfortran/intrinsic-procedures.rst: New file. * doc/gfortran/intrinsic-procedures/abort.rst: New file. * doc/gfortran/intrinsic-procedures/abs.rst: New file. * doc/gfortran/intrinsic-procedures/access.rst: New file. * doc/gfortran/intrinsic-procedures/achar.rst: New file. * doc/gfortran/intrinsic-procedures/acos.rst: New file. * doc/gfortran/intrinsic-procedures/acosd.rst: New file. * doc/gfortran/intrinsic-procedures/acosh.rst: New file. * doc/gfortran/intrinsic-procedures/adjustl.rst: New file. * doc/gfortran/intrinsic-procedures/adjustr.rst: New file. * doc/gfortran/intrinsic-procedures/aimag.rst: New file. * doc/gfortran/intrinsic-procedures/aint.rst: New file. * doc/gfortran/intrinsic-procedures/alarm.rst: New file. * doc/gfortran/intrinsic-procedures/all.rst: New file. * doc/gfortran/intrinsic-procedures/allocated.rst: New file. * doc/gfortran/intrinsic-procedures/and.rst: New file. * doc/gfortran/intrinsic-procedures/anint.rst: New file. * doc/gfortran/intrinsic-procedures/any.rst: New file. * doc/gfortran/intrinsic-procedures/asin.rst: New file. * doc/gfortran/intrinsic-procedures/asind.rst: New file. * doc/gfortran/intrinsic-procedures/asinh.rst: New file. * doc/gfortran/intrinsic-procedures/associated.rst: New file. * doc/gfortran/intrinsic-procedures/atan.rst: New file. * doc/gfortran/intrinsic-procedures/atan2.rst: New file. * doc/gfortran/intrinsic-procedures/atan2d.rst: New file. * doc/gfortran/intrinsic-procedures/atand.rst: New file. * doc/gfortran/intrinsic-procedures/atanh.rst: New file. * doc/gfortran/intrinsic-procedures/atomicadd.rst: New file. * doc/gfortran/intrinsic-procedures/atomicand.rst: New file. * doc/gfortran/intrinsic-procedures/atomiccas.rst: New file. * doc/gfortran/intrinsic-procedures/atomicdefine.rst: New file. * doc/gfortran/intrinsic-procedures/atomicfetchadd.rst: New file. * doc/gfortran/intrinsic-procedures/atomicfetchand.rst: New file. * doc/gfortran/intrinsic-procedures/atomicfetchor.rst: New file. * doc/gfortran/intrinsic-procedures/atomicfetchxor.rst: New file. * doc/gfortran/intrinsic-procedures/atomicor.rst: New file. * doc/gfortran/intrinsic-procedures/atomicref.rst: New file. * doc/gfortran/intrinsic-procedures/atomicxor.rst: New file. * doc/gfortran/intrinsic-procedures/backtrace.rst: New file. * doc/gfortran/intrinsic-procedures/besselj0.rst: New file. * doc/gfortran/intrinsic-procedures/besselj1.rst: New file. * doc/gfortran/intrinsic-procedures/besseljn.rst: New file. * doc/gfortran/intrinsic-procedures/bessely0.rst: New file. * doc/gfortran/intrinsic-procedures/bessely1.rst: New file. * doc/gfortran/intrinsic-procedures/besselyn.rst: New file. * doc/gfortran/intrinsic-procedures/bge.rst: New file. * doc/gfortran/intrinsic-procedures/bgt.rst: New file. * doc/gfortran/intrinsic-procedures/bitsize.rst: New file. * doc/gfortran/intrinsic-procedures/ble.rst: New file. * doc/gfortran/intrinsic-procedures/blt.rst: New file. * doc/gfortran/intrinsic-procedures/btest.rst: New file. * doc/gfortran/intrinsic-procedures/cassociated.rst: New file. * doc/gfortran/intrinsic-procedures/ceiling.rst: New file. * doc/gfortran/intrinsic-procedures/cfpointer.rst: New file. * doc/gfortran/intrinsic-procedures/cfprocpointer.rst: New file. * doc/gfortran/intrinsic-procedures/cfunloc.rst: New file. * doc/gfortran/intrinsic-procedures/char.rst: New file. * doc/gfortran/intrinsic-procedures/chdir.rst: New file. * doc/gfortran/intrinsic-procedures/chmod.rst: New file. * doc/gfortran/intrinsic-procedures/cloc.rst: New file. * doc/gfortran/intrinsic-procedures/cmplx.rst: New file. * doc/gfortran/intrinsic-procedures/cobroadcast.rst: New file. * doc/gfortran/intrinsic-procedures/comax.rst: New file. * doc/gfortran/intrinsic-procedures/comin.rst: New file. * doc/gfortran/intrinsic-procedures/commandargumentcount.rst: New file. * doc/gfortran/intrinsic-procedures/compileroptions.rst: New file. * doc/gfortran/intrinsic-procedures/compilerversion.rst: New file. * doc/gfortran/intrinsic-procedures/complex.rst: New file. * doc/gfortran/intrinsic-procedures/conjg.rst: New file. * doc/gfortran/intrinsic-procedures/coreduce.rst: New file. * doc/gfortran/intrinsic-procedures/cos.rst: New file. * doc/gfortran/intrinsic-procedures/cosd.rst: New file. * doc/gfortran/intrinsic-procedures/cosh.rst: New file. * doc/gfortran/intrinsic-procedures/cosum.rst: New file. * doc/gfortran/intrinsic-procedures/cotan.rst: New file. * doc/gfortran/intrinsic-procedures/cotand.rst: New file. * doc/gfortran/intrinsic-procedures/count.rst: New file. * doc/gfortran/intrinsic-procedures/cputime.rst: New file. * doc/gfortran/intrinsic-procedures/cshift.rst: New file. * doc/gfortran/intrinsic-procedures/csizeof.rst: New file. * doc/gfortran/intrinsic-procedures/ctime.rst: New file. * doc/gfortran/intrinsic-procedures/dateandtime.rst: New file. * doc/gfortran/intrinsic-procedures/dble.rst: New file. * doc/gfortran/intrinsic-procedures/dcmplx.rst: New file. * doc/gfortran/intrinsic-procedures/digits.rst: New file. * doc/gfortran/intrinsic-procedures/dim.rst: New file. * doc/gfortran/intrinsic-procedures/dotproduct.rst: New file. * doc/gfortran/intrinsic-procedures/dprod.rst: New file. * doc/gfortran/intrinsic-procedures/dreal.rst: New file. * doc/gfortran/intrinsic-procedures/dshiftl.rst: New file. * doc/gfortran/intrinsic-procedures/dshiftr.rst: New file. * doc/gfortran/intrinsic-procedures/dtime.rst: New file. * doc/gfortran/intrinsic-procedures/eoshift.rst: New file. * doc/gfortran/intrinsic-procedures/epsilon.rst: New file. * doc/gfortran/intrinsic-procedures/erf.rst: New file. * doc/gfortran/intrinsic-procedures/erfc.rst: New file. * doc/gfortran/intrinsic-procedures/erfcscaled.rst: New file. * doc/gfortran/intrinsic-procedures/etime.rst: New file. * doc/gfortran/intrinsic-procedures/eventquery.rst: New file. * doc/gfortran/intrinsic-procedures/executecommandline.rst: New file. * doc/gfortran/intrinsic-procedures/exit.rst: New file. * doc/gfortran/intrinsic-procedures/exp.rst: New file. * doc/gfortran/intrinsic-procedures/exponent.rst: New file. * doc/gfortran/intrinsic-procedures/extendstypeof.rst: New file. * doc/gfortran/intrinsic-procedures/fdate.rst: New file. * doc/gfortran/intrinsic-procedures/fget.rst: New file. * doc/gfortran/intrinsic-procedures/fgetc.rst: New file. * doc/gfortran/intrinsic-procedures/findloc.rst: New file. * doc/gfortran/intrinsic-procedures/floor.rst: New file. * doc/gfortran/intrinsic-procedures/flush.rst: New file. * doc/gfortran/intrinsic-procedures/fnum.rst: New file. * doc/gfortran/intrinsic-procedures/fput.rst: New file. * doc/gfortran/intrinsic-procedures/fputc.rst: New file. * doc/gfortran/intrinsic-procedures/fraction.rst: New file. * doc/gfortran/intrinsic-procedures/free.rst: New file. * doc/gfortran/intrinsic-procedures/fseek.rst: New file. * doc/gfortran/intrinsic-procedures/fstat.rst: New file. * doc/gfortran/intrinsic-procedures/ftell.rst: New file. * doc/gfortran/intrinsic-procedures/gamma.rst: New file. * doc/gfortran/intrinsic-procedures/gerror.rst: New file. * doc/gfortran/intrinsic-procedures/getarg.rst: New file. * doc/gfortran/intrinsic-procedures/getcommand.rst: New file. * doc/gfortran/intrinsic-procedures/getcommandargument.rst: New file. * doc/gfortran/intrinsic-procedures/getcwd.rst: New file. * doc/gfortran/intrinsic-procedures/getenv.rst: New file. * doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst: New file. * doc/gfortran/intrinsic-procedures/getgid.rst: New file. * doc/gfortran/intrinsic-procedures/getlog.rst: New file. * doc/gfortran/intrinsic-procedures/getpid.rst: New file. * doc/gfortran/intrinsic-procedures/getuid.rst: New file. * doc/gfortran/intrinsic-procedures/gmtime.rst: New file. * doc/gfortran/intrinsic-procedures/hostnm.rst: New file. * doc/gfortran/intrinsic-procedures/huge.rst: New file. * doc/gfortran/intrinsic-procedures/hypot.rst: New file. * doc/gfortran/intrinsic-procedures/iachar.rst: New file. * doc/gfortran/intrinsic-procedures/iall.rst: New file. * doc/gfortran/intrinsic-procedures/iand.rst: New file. * doc/gfortran/intrinsic-procedures/iany.rst: New file. * doc/gfortran/intrinsic-procedures/iargc.rst: New file. * doc/gfortran/intrinsic-procedures/ibclr.rst: New file. * doc/gfortran/intrinsic-procedures/ibits.rst: New file. * doc/gfortran/intrinsic-procedures/ibset.rst: New file. * doc/gfortran/intrinsic-procedures/ichar.rst: New file. * doc/gfortran/intrinsic-procedures/idate.rst: New file. * doc/gfortran/intrinsic-procedures/ieor.rst: New file. * doc/gfortran/intrinsic-procedures/ierrno.rst: New file. * doc/gfortran/intrinsic-procedures/imageindex.rst: New file. * doc/gfortran/intrinsic-procedures/index.rst: New file. * doc/gfortran/intrinsic-procedures/int.rst: New file. * doc/gfortran/intrinsic-procedures/int2.rst: New file. * doc/gfortran/intrinsic-procedures/int8.rst: New file. * doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst: New file. * doc/gfortran/intrinsic-procedures/ior.rst: New file. * doc/gfortran/intrinsic-procedures/iparity.rst: New file. * doc/gfortran/intrinsic-procedures/irand.rst: New file. * doc/gfortran/intrinsic-procedures/isatty.rst: New file. * doc/gfortran/intrinsic-procedures/iscontiguous.rst: New file. * doc/gfortran/intrinsic-procedures/ishft.rst: New file. * doc/gfortran/intrinsic-procedures/ishftc.rst: New file. * doc/gfortran/intrinsic-procedures/isiostatend.rst: New file. * doc/gfortran/intrinsic-procedures/isiostateor.rst: New file. * doc/gfortran/intrinsic-procedures/isnan.rst: New file. * doc/gfortran/intrinsic-procedures/itime.rst: New file. * doc/gfortran/intrinsic-procedures/kill.rst: New file. * doc/gfortran/intrinsic-procedures/kind.rst: New file. * doc/gfortran/intrinsic-procedures/lbound.rst: New file. * doc/gfortran/intrinsic-procedures/lcobound.rst: New file. * doc/gfortran/intrinsic-procedures/leadz.rst: New file. * doc/gfortran/intrinsic-procedures/len.rst: New file. * doc/gfortran/intrinsic-procedures/lentrim.rst: New file. * doc/gfortran/intrinsic-procedures/lge.rst: New file. * doc/gfortran/intrinsic-procedures/lgt.rst: New file. * doc/gfortran/intrinsic-procedures/link.rst: New file. * doc/gfortran/intrinsic-procedures/lle.rst: New file. * doc/gfortran/intrinsic-procedures/llt.rst: New file. * doc/gfortran/intrinsic-procedures/lnblnk.rst: New file. * doc/gfortran/intrinsic-procedures/loc.rst: New file. * doc/gfortran/intrinsic-procedures/log.rst: New file. * doc/gfortran/intrinsic-procedures/log10.rst: New file. * doc/gfortran/intrinsic-procedures/loggamma.rst: New file. * doc/gfortran/intrinsic-procedures/logical.rst: New file. * doc/gfortran/intrinsic-procedures/lshift.rst: New file. * doc/gfortran/intrinsic-procedures/lstat.rst: New file. * doc/gfortran/intrinsic-procedures/ltime.rst: New file. * doc/gfortran/intrinsic-procedures/malloc.rst: New file. * doc/gfortran/intrinsic-procedures/maskl.rst: New file. * doc/gfortran/intrinsic-procedures/maskr.rst: New file. * doc/gfortran/intrinsic-procedures/matmul.rst: New file. * doc/gfortran/intrinsic-procedures/max.rst: New file. * doc/gfortran/intrinsic-procedures/maxexponent.rst: New file. * doc/gfortran/intrinsic-procedures/maxloc.rst: New file. * doc/gfortran/intrinsic-procedures/maxval.rst: New file. * doc/gfortran/intrinsic-procedures/mclock.rst: New file. * doc/gfortran/intrinsic-procedures/mclock8.rst: New file. * doc/gfortran/intrinsic-procedures/merge.rst: New file. * doc/gfortran/intrinsic-procedures/mergebits.rst: New file. * doc/gfortran/intrinsic-procedures/min.rst: New file. * doc/gfortran/intrinsic-procedures/minexponent.rst: New file. * doc/gfortran/intrinsic-procedures/minloc.rst: New file. * doc/gfortran/intrinsic-procedures/minval.rst: New file. * doc/gfortran/intrinsic-procedures/mod.rst: New file. * doc/gfortran/intrinsic-procedures/modulo.rst: New file. * doc/gfortran/intrinsic-procedures/movealloc.rst: New file. * doc/gfortran/intrinsic-procedures/mvbits.rst: New file. * doc/gfortran/intrinsic-procedures/nearest.rst: New file. * doc/gfortran/intrinsic-procedures/newline.rst: New file. * doc/gfortran/intrinsic-procedures/nint.rst: New file. * doc/gfortran/intrinsic-procedures/norm2.rst: New file. * doc/gfortran/intrinsic-procedures/not.rst: New file. * doc/gfortran/intrinsic-procedures/null.rst: New file. * doc/gfortran/intrinsic-procedures/numimages.rst: New file. * doc/gfortran/intrinsic-procedures/or.rst: New file. * doc/gfortran/intrinsic-procedures/pack.rst: New file. * doc/gfortran/intrinsic-procedures/parity.rst: New file. * doc/gfortran/intrinsic-procedures/perror.rst: New file. * doc/gfortran/intrinsic-procedures/popcnt.rst: New file. * doc/gfortran/intrinsic-procedures/poppar.rst: New file. * doc/gfortran/intrinsic-procedures/precision.rst: New file. * doc/gfortran/intrinsic-procedures/present.rst: New file. * doc/gfortran/intrinsic-procedures/product.rst: New file. * doc/gfortran/intrinsic-procedures/radix.rst: New file. * doc/gfortran/intrinsic-procedures/ran.rst: New file. * doc/gfortran/intrinsic-procedures/rand.rst: New file. * doc/gfortran/intrinsic-procedures/randominit.rst: New file. * doc/gfortran/intrinsic-procedures/randomnumber.rst: New file. * doc/gfortran/intrinsic-procedures/randomseed.rst: New file. * doc/gfortran/intrinsic-procedures/range.rst: New file. * doc/gfortran/intrinsic-procedures/rank.rst: New file. * doc/gfortran/intrinsic-procedures/real.rst: New file. * doc/gfortran/intrinsic-procedures/rename.rst: New file. * doc/gfortran/intrinsic-procedures/repeat.rst: New file. * doc/gfortran/intrinsic-procedures/reshape.rst: New file. * doc/gfortran/intrinsic-procedures/rrspacing.rst: New file. * doc/gfortran/intrinsic-procedures/rshift.rst: New file. * doc/gfortran/intrinsic-procedures/sametypeas.rst: New file. * doc/gfortran/intrinsic-procedures/scale.rst: New file. * doc/gfortran/intrinsic-procedures/scan.rst: New file. * doc/gfortran/intrinsic-procedures/secnds.rst: New file. * doc/gfortran/intrinsic-procedures/second.rst: New file. * doc/gfortran/intrinsic-procedures/selectedcharkind.rst: New file. * doc/gfortran/intrinsic-procedures/selectedintkind.rst: New file. * doc/gfortran/intrinsic-procedures/selectedrealkind.rst: New file. * doc/gfortran/intrinsic-procedures/setexponent.rst: New file. * doc/gfortran/intrinsic-procedures/shape.rst: New file. * doc/gfortran/intrinsic-procedures/shifta.rst: New file. * doc/gfortran/intrinsic-procedures/shiftl.rst: New file. * doc/gfortran/intrinsic-procedures/shiftr.rst: New file. * doc/gfortran/intrinsic-procedures/sign.rst: New file. * doc/gfortran/intrinsic-procedures/signal.rst: New file. * doc/gfortran/intrinsic-procedures/sin.rst: New file. * doc/gfortran/intrinsic-procedures/sind.rst: New file. * doc/gfortran/intrinsic-procedures/sinh.rst: New file. * doc/gfortran/intrinsic-procedures/size.rst: New file. * doc/gfortran/intrinsic-procedures/sizeof.rst: New file. * doc/gfortran/intrinsic-procedures/sleep.rst: New file. * doc/gfortran/intrinsic-procedures/spacing.rst: New file. * doc/gfortran/intrinsic-procedures/spread.rst: New file. * doc/gfortran/intrinsic-procedures/sqrt.rst: New file. * doc/gfortran/intrinsic-procedures/srand.rst: New file. * doc/gfortran/intrinsic-procedures/stat.rst: New file. * doc/gfortran/intrinsic-procedures/storagesize.rst: New file. * doc/gfortran/intrinsic-procedures/sum.rst: New file. * doc/gfortran/intrinsic-procedures/symlnk.rst: New file. * doc/gfortran/intrinsic-procedures/system.rst: New file. * doc/gfortran/intrinsic-procedures/systemclock.rst: New file. * doc/gfortran/intrinsic-procedures/tan.rst: New file. * doc/gfortran/intrinsic-procedures/tand.rst: New file. * doc/gfortran/intrinsic-procedures/tanh.rst: New file. * doc/gfortran/intrinsic-procedures/thisimage.rst: New file. * doc/gfortran/intrinsic-procedures/time.rst: New file. * doc/gfortran/intrinsic-procedures/time8.rst: New file. * doc/gfortran/intrinsic-procedures/tiny.rst: New file. * doc/gfortran/intrinsic-procedures/trailz.rst: New file. * doc/gfortran/intrinsic-procedures/transfer.rst: New file. * doc/gfortran/intrinsic-procedures/transpose.rst: New file. * doc/gfortran/intrinsic-procedures/trim.rst: New file. * doc/gfortran/intrinsic-procedures/ttynam.rst: New file. * doc/gfortran/intrinsic-procedures/ubound.rst: New file. * doc/gfortran/intrinsic-procedures/ucobound.rst: New file. * doc/gfortran/intrinsic-procedures/umask.rst: New file. * doc/gfortran/intrinsic-procedures/unlink.rst: New file. * doc/gfortran/intrinsic-procedures/unpack.rst: New file. * doc/gfortran/intrinsic-procedures/verify.rst: New file. * doc/gfortran/intrinsic-procedures/xor.rst: New file. * doc/gfortran/introduction.rst: New file. * doc/gfortran/mixed-language-programming.rst: New file. * doc/gfortran/naming-and-argument-passing-conventions.rst: New file. * doc/gfortran/non-fortran-main-program.rst: New file. * doc/gfortran/projects.rst: New file. * doc/gfortran/runtime.rst: New file. * doc/gfortran/runtime/gfortranconvertunit.rst: New file. * doc/gfortran/runtime/gfortranerrorbacktrace.rst: New file. * doc/gfortran/runtime/gfortranformattedbuffersize.rst: New file. * doc/gfortran/runtime/gfortranlistseparator.rst: New file. * doc/gfortran/runtime/gfortranoptionalplus.rst: New file. * doc/gfortran/runtime/gfortranshowlocus.rst: New file. * doc/gfortran/runtime/gfortranstderrunit.rst: New file. * doc/gfortran/runtime/gfortranstdinunit.rst: New file. * doc/gfortran/runtime/gfortranstdoutunit.rst: New file. * doc/gfortran/runtime/gfortranunbufferedall.rst: New file. * doc/gfortran/runtime/gfortranunbufferedpreconnected.rst: New file. * doc/gfortran/runtime/gfortranunformattedbuffersize.rst: New file. * doc/gfortran/runtime/tmpdir.rst: New file. * doc/gfortran/standards.rst: New file. * doc/gfortran/type-and-enum-abi-documentation.rst: New file. 2022-11-07 Tobias Burnus <tobias@codesourcery.com> PR fortran/107508 * trans-array.cc (gfc_alloc_allocatable_for_assignment): Fix string-length check, plug memory leak, and avoid generation of effectively no-op code. * trans-expr.cc (alloc_scalar_allocatable_for_assignment): Extend comment; minor cleanup. 2022-11-03 Tobias Burnus <tobias@codesourcery.com> * openmp.cc (gfc_match_omp_clauses): Permit derived types for the 'to' and 'from' clauses of 'target update'. * trans-openmp.cc (gfc_trans_omp_clauses): Fixes for derived-type changes; fix size for scalars. 2022-10-28 Joseph Myers <joseph@codesourcery.com> * trans-types.cc (gfc_get_function_type): Do not use build_varargs_function_type_vec for unprototyped function. 2022-10-26 Harald Anlauf <anlauf@gmx.de> PR fortran/103413 * symbol.cc (gfc_type_compatible): A boz-literal-constant has no type and thus is not considered compatible to any type. 2022-10-21 José Rui Faustino de Sousa <jrfsousa@gmail.com> PR fortran/100097 PR fortran/100098 * trans-array.cc (gfc_trans_class_array): New function to initialize class descriptor's TKR information. * trans-array.h (gfc_trans_class_array): Add function prototype. * trans-decl.cc (gfc_trans_deferred_vars): Add calls to the new function for both pointers and allocatables. 2022-10-20 Harald Anlauf <anlauf@gmx.de> Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/105633 * expr.cc (find_array_section): Move check for NULL pointers so that both subscript triplets and vector subscripts are covered. 2022-10-17 Steve Kargl <kargl@gcc.gnu.org> PR fortran/104330 * simplify.cc (gfc_simplify_image_index): Do not dereference NULL pointer. 2022-10-17 Harald Anlauf <anlauf@gmx.de> Mikael Morin <mikael@gcc.gnu.org> PR fortran/93483 PR fortran/107216 PR fortran/107219 * arith.cc (reduce_unary): Handled expressions are EXP_CONSTANT and EXPR_ARRAY. Do not attempt to reduce otherwise. (reduce_binary_ac): Likewise. (reduce_binary_ca): Likewise. (reduce_binary_aa): Moved check for EXP_CONSTANT and EXPR_ARRAY from here ... (reduce_binary): ... to here. (eval_intrinsic): Catch failed reductions. * gfortran.h (GFC_INTRINSIC_OPS): New enum ARITH_NOT_REDUCED to keep track of expressions that were not reduced by the arithmetic evaluation code. 2022-10-17 Harald Anlauf <anlauf@gmx.de> PR fortran/107272 * arith.cc (gfc_arith_not): Operand must be of type BT_LOGICAL. (gfc_arith_and): Likewise. (gfc_arith_or): Likewise. (gfc_arith_eqv): Likewise. (gfc_arith_neqv): Likewise. (gfc_arith_eq): Compare consistency of types of operands. (gfc_arith_ne): Likewise. (gfc_arith_gt): Likewise. (gfc_arith_ge): Likewise. (gfc_arith_lt): Likewise. (gfc_arith_le): Likewise. 2022-10-17 Tobias Burnus <tobias@codesourcery.com> PR fortran/107266 * trans-expr.cc (gfc_conv_string_parameter): Use passed type to honor character kind. * trans-types.cc (gfc_sym_type): Honor character kind. * trans-decl.cc (gfc_conv_cfi_to_gfc): Fix handling kind=4 character strings. 2022-10-14 Harald Anlauf <anlauf@gmx.de> PR fortran/100971 * resolve.cc (resolve_transfer): Extend check for permissibility of polymorphic elements in a data transfer to arrays. 2022-10-12 Harald Anlauf <anlauf@gmx.de> PR fortran/107217 * arith.cc (gfc_arith_plus): Compare consistency of types of operands. (gfc_arith_minus): Likewise. (gfc_arith_times): Likewise. (gfc_arith_divide): Likewise. (arith_power): Check that both operands are of numeric type. 2022-10-11 Harald Anlauf <anlauf@gmx.de> PR fortran/107215 * arith.cc (gfc_int2int): Check validity of type of source expr. (gfc_int2real): Likewise. (gfc_int2complex): Likewise. (gfc_real2int): Likewise. (gfc_real2real): Likewise. (gfc_complex2int): Likewise. (gfc_complex2real): Likewise. (gfc_complex2complex): Likewise. (gfc_log2log): Likewise. (gfc_log2int): Likewise. (gfc_int2log): Likewise. 2022-10-10 Jakub Jelinek <jakub@redhat.com> * trans-openmp.cc (gfc_trans_omp_assume): Use create_tmp_var_raw instead of gfc_create_var for TARGET_EXPR slot creation. Create it with boolean_type_node and convert. 2022-10-08 Harald Anlauf <anlauf@gmx.de> Mikael Morin <mikael@gcc.gnu.org> PR fortran/107000 * arith.cc (gfc_arith_error): Define error message for ARITH_INVALID_TYPE. (reduce_unary): Catch arithmetic expressions with invalid type. (reduce_binary_ac): Likewise. (reduce_binary_ca): Likewise. (reduce_binary_aa): Likewise. (eval_intrinsic): Likewise. (gfc_real2complex): Source expression must be of type REAL. * gfortran.h (enum arith): Add ARITH_INVALID_TYPE. 2022-10-06 Tobias Burnus <tobias@codesourcery.com> * trans-openmp.cc (gfc_trans_omp_assume): New. (gfc_trans_omp_directive): Call it. 2022-10-05 Tobias Burnus <tobias@codesourcery.com> * dump-parse-tree.cc (show_omp_assumes): New. (show_omp_clauses, show_namespace): Call it. (show_omp_node, show_code_node): Handle OpenMP ASSUME. * gfortran.h (enum gfc_statement): Add ST_OMP_ASSUME, ST_OMP_END_ASSUME, ST_OMP_ASSUMES and ST_NOTHING. (gfc_exec_op): Add EXEC_OMP_ASSUME. (gfc_omp_assumptions): New struct. (gfc_get_omp_assumptions): New XCNEW #define. (gfc_omp_clauses, gfc_namespace): Add assume member. (gfc_resolve_omp_assumptions): New prototype. * match.h (gfc_match_omp_assume, gfc_match_omp_assumes): New. * openmp.cc (omp_code_to_statement): Forward declare. (enum gfc_omp_directive_kind, struct gfc_omp_directive): New. (gfc_free_omp_clauses): Free assume member and its struct data. (enum omp_mask2): Add OMP_CLAUSE_ASSUMPTIONS. (gfc_omp_absent_contains_clause): New. (gfc_match_omp_clauses): Call it; optionally use passed omp_clauses argument. (omp_verify_merge_absent_contains, gfc_match_omp_assume, gfc_match_omp_assumes, gfc_resolve_omp_assumptions): New. (resolve_omp_clauses): Call the latter. (gfc_resolve_omp_directive, omp_code_to_statement): Handle EXEC_OMP_ASSUME. * parse.cc (decode_omp_directive): Parse OpenMP ASSUME(S). (next_statement, parse_executable, parse_omp_structured_block): Handle ST_OMP_ASSUME. (case_omp_decl): Add ST_OMP_ASSUMES. (gfc_ascii_statement): Handle Assumes, optional return string without '!$OMP '/'!$ACC ' prefix. * parse.h (gfc_ascii_statement): Add optional bool arg to prototype. * resolve.cc (gfc_resolve_blocks, gfc_resolve_code): Add EXEC_OMP_ASSUME. (gfc_resolve): Resolve ASSUMES directive. * symbol.cc (gfc_free_namespace): Free omp_assumes member. * st.cc (gfc_free_statement): Handle EXEC_OMP_ASSUME. * trans-openmp.cc (gfc_trans_omp_directive): Likewise. * trans.cc (trans_code): Likewise. 2022-10-04 Tobias Burnus <tobias@codesourcery.com> * parse.cc (decode_omp_directive): Handle '(end) loop' and 'scan' also with -fopenmp-simd. 2022-10-01 José Rui Faustino de Sousa <jrfsousa@gmail.com> PR fortran/100040 PR fortran/100029 * trans-expr.cc (gfc_conv_class_to_class): Add code to have assumed-rank arrays recognized as full arrays and fix the type of the array assignment. (gfc_conv_procedure_call): Change order of code blocks such that the free of ALLOCATABLE dummy arguments with INTENT(OUT) occurs first. 2022-09-30 Tobias Burnus <tobias@codesourcery.com> PR fortran/105318 * openmp.cc (resolve_omp_clauses): Update is_device_ptr restrictions for OpenMP 5.1 and map to has_device_addr where applicable; map use_device_ptr to use_device_addr where applicable. Silence integer-range warning for device(omp_{initial,invalid}_device). 2022-09-27 Harald Anlauf <anlauf@gmx.de> PR fortran/107054 * simplify.cc (gfc_simplify_unpack): Replace assert by condition that terminates simplification when there are not enough elements in the constructor of argument VECTOR. 2022-09-25 Mikael Morin <mikael@gcc.gnu.org> PR fortran/41453 * trans-expr.cc (gfc_conv_procedure_call): Allow strictly matching derived types. 2022-09-25 Mikael Morin <mikael@gcc.gnu.org> PR fortran/41453 PR fortran/99169 * trans-expr.cc (gfc_conv_procedure_call): Remove conditions on ALLOCATABLE and POINTER attributes guarding clobber generation. 2022-09-25 Mikael Morin <mikael@gcc.gnu.org> PR fortran/41453 PR fortran/87401 * trans-expr.cc (gfc_conv_procedure_call): Remove condition disabling clobber generation for ASSOCIATE variables. 2022-09-25 Mikael Morin <mikael@gcc.gnu.org> PR fortran/41453 PR fortran/87395 * trans-expr.cc (gfc_conv_procedure_call): Remove condition on SAVE attribute guarding clobber generation. 2022-09-25 Mikael Morin <mikael@gcc.gnu.org> PR fortran/41453 PR fortran/87395 * trans-expr.cc (gfc_conv_procedure_call): Remove condition disabling clobber generation for dummy variables. Remove obsolete comment. 2022-09-25 Harald Anlauf <anlauf@gmx.de> Mikael Morin <mikael@gcc.gnu.org> PR fortran/105012 * trans-expr.cc (gfc_conv_procedure_call): Use dummy information from associated_dummy if there is no information from the procedure interface. 2022-09-25 Mikael Morin <mikael@gcc.gnu.org> PR fortran/106817 * trans-expr.cc (gfc_conv_procedure_call): Collect all clobbers to their own separate block. Append the block of clobbers to the procedure preliminary block after the argument evaluation codes for all the arguments. 2022-09-25 Mikael Morin <mikael@gcc.gnu.org> PR fortran/105012 * trans-expr.cc (gfc_conv_procedure_call): Retrieve variable from the just calculated variable reference. 2022-09-25 Mikael Morin <mikael@gcc.gnu.org> * trans.h (gfc_conv_expr_reference): Remove add_clobber argument. * trans-expr.cc (gfc_conv_expr_reference): Ditto. Inline code depending on add_clobber and conditions controlling it ... (gfc_conv_procedure_call): ... to here. 2022-09-22 José Rui Faustino de Sousa <jrfsousa@gmail.com> PR fortran/100103 * trans-array.cc (gfc_is_reallocatable_lhs): Add select rank temporary associate names as possible targets of automatic reallocation. 2022-09-22 Harald Anlauf <anlauf@gmx.de> PR fortran/82868 * trans-decl.cc (generate_coarray_sym_init): Skip symbol if attr.associate_var. 2022-09-20 Tobias Burnus <tobias@codesourcery.com> PR fortran/104143 * interface.cc (compare_parameter): Permit scalar args to 'type(*), dimension(*)'. 2022-09-20 Harald Anlauf <anlauf@gmx.de> PR fortran/106986 * simplify.cc (gfc_simplify_findloc): Do not try to simplify intrinsic FINDLOC when the ARRAY argument has a NULL shape. 2022-09-20 Harald Anlauf <anlauf@gmx.de> PR fortran/106985 * expr.cc (gfc_simplify_expr): Avoid NULL pointer dereference. 2022-09-20 José Rui Faustino de Sousa <jrfsousa@gmail.com> PR fortran/100132 * trans-types.cc (create_fn_spec): Fix function attributes when passing polymorphic pointers. 2022-09-20 Martin Liska <mliska@suse.cz> PR fortran/106636 * gfortran.texi: Add back link to ISO_VARYING_STRING. 2022-09-20 Martin Liska <mliska@suse.cz> * gfortran.texi: Replace "the the" with "the". 2022-09-20 Martin Liska <mliska@suse.cz> PR fortran/106636 * gfortran.texi: Remove 2 dead links. 2022-09-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> * libgfortran.h: Declare GFC_FPE_AWAY. 2022-09-15 Harald Anlauf <anlauf@gmx.de> PR fortran/106857 * simplify.cc (gfc_simplify_pack): Check for NULL pointer dereferences while walking through constructors (error recovery). 2022-09-15 Harald Anlauf <anlauf@gmx.de> Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/104314 * resolve.cc (deferred_op_assign): Do not try to generate temporary for deferred character length assignment if types do not agree. 2022-09-15 Richard Biener <rguenther@suse.de> * f95-lang.cc (gfc_init_decl_processing): Do not initialize void_list_node. 2022-09-14 Julian Brown <julian@codesourcery.com> * trans-openmp.cc (gfc_trans_omp_clauses): Don't create GOMP_MAP_TO_PSET mappings for class metadata, nor GOMP_MAP_POINTER mappings for POINTER_TYPE_P decls. 2022-09-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR fortran/95644 * f95-lang.cc (gfc_init_builtin_functions): Declare FMA built-ins. * mathbuiltins.def: Declare FMA built-ins. * trans-intrinsic.cc (conv_intrinsic_ieee_fma): New function. (conv_intrinsic_ieee_signbit): New function. (gfc_build_intrinsic_lib_fndecls): Add cases for FMA and SIGNBIT. 2022-09-08 Tobias Burnus <tobias@codesourcery.com> PR fortran/106670 * scanner.cc (skip_fixed_omp_sentinel): Add -Wsurprising warning for 'omx' sentinels with -fopenmp. * invoke.texi (-Wsurprising): Document additional warning case. 2022-09-06 Tobias Burnus <tobias@codesourcery.com> * openmp.cc (resolve_omp_clauses): Remove ordered/linear check as it is handled now in the middle end. 2022-09-05 Tobias Burnus <tobias@codesourcery.com> * dump-parse-tree.cc (show_omp_namelist, show_omp_clauses): Handle omp_cur_iteration and distinguish doacross/depend. * gfortran.h (enum gfc_omp_depend_doacross_op): Renamed from gfc_omp_depend_op. (enum gfc_omp_depend_doacross_op): Add OMP_DOACROSS_SINK_FIRST, Rename OMP_DEPEND_SINK to OMP_DOACROSS_SINK. (gfc_omp_namelist) Handle renaming, rename depend_op to depend_doacross_op. (struct gfc_omp_clauses): Add doacross_source. * openmp.cc (gfc_match_omp_depend_sink): Renamed to ... (gfc_match_omp_doacross_sink): ... this; handle omp_all_memory. (enum omp_mask2): Add OMP_CLAUSE_DOACROSS. (gfc_match_omp_clauses): Handle 'doacross' and syntax changes to depend. (gfc_match_omp_depobj): Simplify as sink/source are now impossible. (gfc_match_omp_ordered_depend): Request OMP_CLAUSE_DOACROSS. (resolve_omp_clauses): Update sink/source checks. (gfc_resolve_omp_directive): Resolve EXEC_OMP_ORDERED clauses. * parse.cc (decode_omp_directive): Handle 'ordered doacross'. * trans-openmp.cc (gfc_trans_omp_clauses): Handle doacross. (gfc_trans_omp_do): Fix OMP_FOR_ORIG_DECLS handling if 'ordered' clause is present. (gfc_trans_omp_depobj): Update for member name change. 2022-09-04 José Rui Faustino de Sousa <jrfsousa@gmail.com> PR fortran/100136 * trans-expr.cc (gfc_conv_procedure_call): Add handling of pointer expressions. 2022-09-03 José Rui Faustino de Sousa <jrfsousa@gmail.com> PR fortran/100245 * trans-expr.cc (trans_class_assignment): Add if clause to handle derived type in the LHS. 2022-09-03 Jakub Jelinek <jakub@redhat.com> * trans-openmp.cc (gfc_trans_omp_clauses): Use OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of OMP_CLAUSE_DEPEND_SINK_NEGATIVE, build OMP_CLAUSE_DOACROSS clause instead of OMP_CLAUSE_DEPEND and set OMP_CLAUSE_DOACROSS_DEPEND on it. 2022-09-02 Harald Anlauf <anlauf@gmx.de> Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/99349 * decl.cc (match_data_constant): Avoid NULL pointer dereference. 2022-08-26 Jakub Jelinek <jakub@redhat.com> PR fortran/106579 * trans-intrinsic.cc: Include realmpfr.h. (conv_intrinsic_ieee_value): New function. (gfc_conv_ieee_arithmetic_function): Handle ieee_value. 2022-08-26 Jakub Jelinek <jakub@redhat.com> PR fortran/106579 * f95-lang.cc (gfc_init_builtin_functions): Initialize BUILT_IN_FPCLASSIFY. * libgfortran.h (IEEE_OTHER_VALUE, IEEE_SIGNALING_NAN, IEEE_QUIET_NAN, IEEE_NEGATIVE_INF, IEEE_NEGATIVE_NORMAL, IEEE_NEGATIVE_DENORMAL, IEEE_NEGATIVE_SUBNORMAL, IEEE_NEGATIVE_ZERO, IEEE_POSITIVE_ZERO, IEEE_POSITIVE_DENORMAL, IEEE_POSITIVE_SUBNORMAL, IEEE_POSITIVE_NORMAL, IEEE_POSITIVE_INF): New enum. * trans-intrinsic.cc (conv_intrinsic_ieee_class): New function. (gfc_conv_ieee_arithmetic_function): Handle ieee_class. 2022-08-26 Jakub Jelinek <jakub@redhat.com> * f95-lang.cc (gfc_init_builtin_functions): Initialize BUILT_IN_ISSIGNALING. 2022-08-25 Tobias Burnus <tobias@codesourcery.com> * parse.cc (parse_omp_structured_block): When parsing strictly structured blocks, issue an error if the end-directive comes before the 'end block'. 2022-08-24 Harald Anlauf <anlauf@gmx.de> PR fortran/103694 * simplify.cc (simplify_size): The size expression of an array cannot be simplified if an error occurs while resolving the array spec. 2022-08-22 Harald Anlauf <anlauf@gmx.de> PR fortran/106557 * simplify.cc (gfc_simplify_ibclr): Ensure consistent results of the simplification by dropping a redundant memory representation of argument x. (gfc_simplify_ibset): Likewise. 2022-08-20 Jakub Jelinek <jakub@redhat.com> PR fortran/46539 * lang.opt (static-libgfortran, static-libquadmath): Change Fortran to Driver. * options.cc (gfc_handle_option): Don't handle OPT_static_libgfortran nor OPT_static_libquadmath here. 2022-08-18 Harald Anlauf <anlauf@gmx.de> Revert: 2022-07-31 Harald Anlauf <anlauf@gmx.de> PR fortran/77652 * check.cc (gfc_check_associated): Make the rank check of POINTER vs. TARGET match the allowed forms of pointer assignment for the selected Fortran standard. 2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> Jakub Jelinek <jakub@redhat.com> PR fortran/46539 * lang.opt (static-libquadmath): New option. * invoke.texi (-static-libquadmath): Document it. * options.cc (gfc_handle_option): Error out if -static-libquadmath is passed but we do not support it. 2022-08-17 Tobias Burnus <tobias@codesourcery.com> PR fortran/106566 * openmp.cc (gfc_match_omp_clauses): Fix setting linear-step value to 1 when not specified. (gfc_match_omp_declare_simd): Accept module procedures. 2022-08-16 Martin Liska <mliska@suse.cz> * gfortran.texi: Fix link destination to a valid URL. 2022-07-31 Harald Anlauf <anlauf@gmx.de> Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/92805 * match.cc (gfc_match_small_literal_int): Make gobbling of leading whitespace optional. (gfc_match_name): Likewise. (gfc_match_char): Likewise. * match.h (gfc_match_small_literal_int): Adjust prototype. (gfc_match_name): Likewise. (gfc_match_char): Likewise. * primary.cc (match_kind_param): Match small literal int or name without gobbling whitespace. (get_kind): Do not skip over blanks. (match_string_constant): Likewise. 2022-07-31 Harald Anlauf <anlauf@gmx.de> PR fortran/77652 * check.cc (gfc_check_associated): Make the rank check of POINTER vs. TARGET match the allowed forms of pointer assignment for the selected Fortran standard. 2022-07-29 Tobias Burnus <tobias@codesourcery.com> * openmp.cc (resolve_omp_clauses): Permit assumed-size arrays in uniform clause. 2022-07-26 Harald Anlauf <anlauf@gmx.de> PR fortran/103504 * interface.cc (get_sym_storage_size): Array bounds and character length can only be of integer type. 2022-07-21 Martin Liska <mliska@suse.cz> * intrinsic.texi: Remove trailing dots for 2 Fortran fns. 2022-07-20 Harald Anlauf <anlauf@gmx.de> PR fortran/101330 * openmp.cc (gfc_match_iterator): Remove left-over code from development that could lead to a crash on invalid input. 2022-07-19 Harald Anlauf <anlauf@gmx.de> PR fortran/103590 * resolve.cc (find_array_spec): Change function result to bool to enable error recovery. Generate error message for invalid array reference of non-array entity instead of an internal error. (gfc_resolve_ref): Use function result from find_array_spec for error recovery. 2022-07-15 Steve Kargl <kargl@gcc.gnu.org> PR fortran/104313 * trans-decl.cc (gfc_generate_return): Do not generate conflicting fake results for functions with no result variable under -ff2c. 2022-07-14 Harald Anlauf <anlauf@gmx.de> Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/106209 * decl.cc (add_init_expr_to_sym): Handle bad initializers for implied-shape arrays. 2022-07-12 Harald Anlauf <anlauf@gmx.de> PR fortran/106049 * simplify.cc (is_constant_array_expr): A non-zero-sized constant array shall have a non-empty constructor. When the constructor is empty or missing, treat as non-constant. 2022-07-04 Tobias Burnus <tobias@codesourcery.com> Jakub Jelinek <jakub@redhat.com> * gfortran.h (gfc_omp_namelist): Update by creating 'linear' struct, move 'linear_op' as 'op' to id and add 'old_modifier' to it. * dump-parse-tree.cc (show_omp_namelist): Update accordingly. * module.cc (mio_omp_declare_simd): Likewise. * trans-openmp.cc (gfc_trans_omp_clauses): Likewise. * openmp.cc (resolve_omp_clauses): Likewise; accept new-style 'val' modifier with do/simd. (gfc_match_omp_clauses): Handle OpenMP 5.2 linear clause syntax. 2022-07-04 Tobias Burnus <tobias@codesourcery.com> Chung-Lin Tang <cltang@codesourcery.com> Thomas Schwinge <thomas@codesourcery.com> * openmp.cc (gfc_match_omp_requires): Remove sorry. * parse.cc (decode_omp_directive): Don't regard 'declare target' as target usage for 'omp requires'; add more flags to omp_requires_mask. 2022-07-01 Tobias Burnus <tobias@codesourcery.com> * dump-parse-tree.cc (show_omp_namelist): For the map-type, also handle the always modifer and release/delete. * openmp.cc (resolve_omp_clauses): Accept tofrom map-type modifier for target enter/exit data, but use 'to' / 'from' internally. 2022-06-30 Harald Anlauf <anlauf@gmx.de> Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/103137 PR fortran/103138 PR fortran/103693 PR fortran/105243 * decl.cc (gfc_match_data_decl): Reject CLASS entity declaration when it is given the PARAMETER attribute. 2022-06-29 Harald Anlauf <anlauf@gmx.de> Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/106121 * simplify.cc (gfc_simplify_extends_type_of): Do not attempt to simplify when one of the arguments is a CLASS variable that was not properly declared. 2022-06-28 Jakub Jelinek <jakub@redhat.com> * gfortran.h (gfc_real_info): Add use_iec_60559 bitfield. * trans-types.h (gfc_real16_use_iec_60559): Declare. * trans-types.cc (gfc_real16_use_iec_60559): Define. (gfc_init_kinds): When building powerpc64le-linux libgfortran on glibc 2.26 to 2.31, set gfc_real16_use_iec_60559 and use_iec_60559. (gfc_build_real_type): Set gfc_real16_use_iec_60559 and use_iec_60559 on glibc 2.26 or later. * trans-intrinsic.cc (gfc_build_intrinsic_lib_fndecls): Adjust comment. Handle gfc_real16_use_iec_60559. (gfc_get_intrinsic_lib_fndecl): Handle use_iec_60559. 2022-06-26 Harald Anlauf <anlauf@gmx.de> PR fortran/105691 * simplify.cc (gfc_simplify_index): Replace old simplification code by the equivalent of the runtime library implementation. Use HOST_WIDE_INT instead of int for string index, length variables. 2022-06-26 Harald Anlauf <anlauf@gmx.de> PR fortran/105954 * decl.cc (variable_decl): Adjust upper bounds for explicit-shape specs with constant bound expressions to ensure non-negative extents. 2022-06-24 Harald Anlauf <anlauf@gmx.de> PR fortran/105813 * check.cc (gfc_check_unpack): Try to simplify MASK argument to UNPACK so that checking of the VECTOR argument can work when MASK is a variable. 2022-06-18 Harald Anlauf <anlauf@gmx.de> PR fortran/105986 * simplify.cc (gfc_simplify_btest): Add check for POS argument. (gfc_simplify_ibclr): Add check for POS argument. (gfc_simplify_ibits): Add check for POS and LEN arguments. (gfc_simplify_ibset): Add check for POS argument. 2022-06-08 Tobias Burnus <tobias@codesourcery.com> * openmp.cc (gfc_match_omp_clauses): Check also parent namespace for 'requires reverse_offload'. 2022-06-07 Jakub Jelinek <jakub@redhat.com> * trans-openmp.cc (gfc_trans_omp_clauses): Set OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER on OMP_CLAUSE_LINEAR clauses unconditionally for now. 2022-06-03 Tobias Burnus <tobias@codesourcery.com> * openmp.cc (OMP_SCOPE_CLAUSES): Add firstprivate and allocate. 2022-06-02 David Malcolm <dmalcolm@redhat.com> * f95-lang.cc (gfc_get_sarif_source_language): New. (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine. 2022-05-31 Jason Merrill <jason@redhat.com> * Make-lang.in (fortran.tags): Look at *.cc. 2022-05-30 Harald Anlauf <anlauf@gmx.de> PR fortran/91300 * libgfortran.h: Define new error code LIBERROR_NO_MEMORY. * trans-stmt.cc (gfc_trans_allocate): Generate code for setting ERRMSG depending on result of STAT result of ALLOCATE. * trans.cc (gfc_allocate_using_malloc): Use STAT value of LIBERROR_NO_MEMORY in case of failed malloc. 2022-05-28 Tobias Burnus <tobias@codesourcery.com> * dump-parse-tree.cc (show_omp_clauses): Handle OMP_LIST_ENTER. * gfortran.h: Add OMP_LIST_ENTER. * openmp.cc (enum omp_mask2, OMP_DECLARE_TARGET_CLAUSES): Add OMP_CLAUSE_ENTER. (gfc_match_omp_clauses, gfc_match_omp_declare_target, resolve_omp_clauses): Handle 'enter' clause. 2022-05-27 Tobias Burnus <tobias@codesourcery.com> Chung-Lin Tang <cltang@codesourcery.com> * openmp.cc (gfc_check_omp_requires): Fix clause name in error. 2022-05-24 Tobias Burnus <tobias@codesourcery.com> PR c/105378 * openmp.cc (gfc_match_omp_taskwait): Accept nowait. 2022-05-23 Tobias Burnus <tobias@codesourcery.com> PR fortran/104949 * f95-lang.cc (LANG_HOOKS_OMP_ARRAY_SIZE): Redefine. * trans-openmp.cc (gfc_omp_array_size): New. (gfc_trans_omp_variable_list): Never turn has_device_addr to firstprivate. * trans.h (gfc_omp_array_size): New. 2022-05-18 Tobias Burnus <tobias@codesourcery.com> * gfortran.h (enum gfc_omp_depend_op): Add OMP_DEPEND_INOUTSET. (gfc_omp_clauses): Enlarge ENUM_BITFIELD. * dump-parse-tree.cc (show_omp_namelist, show_omp_clauses): Handle 'inoutset' depend modifier. * openmp.cc (gfc_match_omp_clauses, gfc_match_omp_depobj): Likewise. * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj): Likewise. 2022-05-17 Tobias Burnus <tobias@codesourcery.com> * dump-parse-tree.cc (show_omp_namelist): Handle omp_all_memory. * openmp.cc (gfc_match_omp_variable_list, gfc_match_omp_depend_sink, gfc_match_omp_clauses, resolve_omp_clauses): Likewise. * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj): Likewise. * resolve.cc (resolve_symbol): Reject it as symbol. 2022-05-16 Martin Liska <mliska@suse.cz> * frontend-passes.cc (gfc_code_walker): Use ARRAY_SIZE. * openmp.cc (gfc_match_omp_context_selector_specification): Likewise. * trans-intrinsic.cc (conv_intrinsic_ieee_builtin): Likewise. * trans-types.cc (gfc_get_array_descr_info): Likewise. 2022-05-13 Tobias Burnus <tobias@codesourcery.com> * trans-openmp.cc (gfc_trans_omp_clauses): When mapping nondescriptor array sections, use GOMP_MAP_FIRSTPRIVATE_POINTER instead of GOMP_MAP_POINTER for the pointer attachment. 2022-05-11 Harald Anlauf <anlauf@gmx.de> Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/105230 * expr.cc (find_array_section): Correct logic to avoid NULL pointer dereference on invalid array section. 2022-05-10 Harald Anlauf <anlauf@gmx.de> PR fortran/105526 * resolve.cc (check_team): New. (gfc_resolve_code): Add checks for arguments to coarray intrinsics FORM TEAM, CHANGE TEAM, and SYNC TEAM. 2022-05-09 Harald Anlauf <anlauf@gmx.de> PR fortran/105501 * match.cc (gfc_match_if): Adjust patterns used for matching. (gfc_match_select_rank): Likewise. * parse.cc (decode_statement): Likewise. 2022-05-05 Sandra Loosemore <sandra@codesourcery.com> * gfortran.h (struct gfc_omp_clauses): Add non_rectangular bit. * openmp.cc (is_outer_iteration_variable): New function. (expr_is_invariant): New function. (bound_expr_is_canonical): New function. (resolve_omp_do): Replace existing non-rectangularity error with check for canonical form and setting non_rectangular bit. * trans-openmp.cc (gfc_trans_omp_do): Transfer non_rectangular flag to generated tree structure. 2022-05-02 Sandra Loosemore <sandra@codesourcery.com> * trans-openmp.cc (gfc_trans_omp_critical): Set location on OMP tree node. (gfc_trans_omp_do): Likewise. (gfc_trans_omp_masked): Likewise. (gfc_trans_omp_do_simd): Likewise. (gfc_trans_omp_scope): Likewise. (gfc_trans_omp_taskgroup): Likewise. (gfc_trans_omp_taskwait): Likewise. (gfc_trans_omp_distribute): Likewise. (gfc_trans_omp_taskloop): Likewise. (gfc_trans_omp_master_masked_taskloop): Likewise. 2022-04-29 Thomas Koenig <tkoenig@gcc.gnu.org> * gfortran.texi: Fix exchanged period and letter. 2022-04-28 Thomas Koenig <tkoenig@gcc.gnu.org> * gfortran.texi: Mention r16_ieee and r16_ibm. * invoke.texi: Likewise. 2022-04-27 Mikael Morin <mikael@gcc.gnu.org> PR fortran/103662 PR fortran/105379 * array.cc (compare_bounds): Use bool as return type. Support non-constant expressions. (gfc_compare_array_spec): Update call to compare_bounds. 2022-04-27 Mikael Morin <mikael@gcc.gnu.org> PR fortran/102043 PR fortran/105381 * trans-array.cc (non_negative_strides_array_p): Inline variable orig_decl and merge nested if conditions. Add condition to not recurse if the next argument is the same as the current. 2022-04-25 Jakub Jelinek <jakub@redhat.com> Thomas Schwinge <thomas@codesourcery.com> PR fortran/104717 * trans-openmp.cc (gfc_trans_oacc_construct): Wrap construct body in an extra BIND_EXPR. 2022-04-24 Mikael Morin <mikael@gcc.gnu.org> Jakub Jelinek <jakub@redhat.com> PR fortran/103662 * interface.cc (gfc_compare_derived_types): Support comparing unlimited polymorphic fake symbols. Recursively compare class descriptor types and virtual table types. * resolve.cc (resolve_fl_derived): Add type to the types list on unlimited polymorphic short-circuit return. 2022-04-22 Mikael Morin <mikael@gcc.gnu.org> Richard Biener <rguenther@suse.de> PR fortran/102043 * trans.h (gfc_build_array_ref): Add non_negative_offset argument. * trans.cc (gfc_build_array_ref): Ditto. Use pointer arithmetic if non_negative_offset is false. * trans-expr.cc (gfc_conv_substring): Set flag in the call to gfc_build_array_ref. * trans-array.cc (gfc_get_cfi_dim_item, gfc_conv_descriptor_dimension): Same. (build_array_ref): Decide on whether to set the flag and update the call. (gfc_conv_scalarized_array_ref): Same. New argument tmp_array. (gfc_conv_tmp_array_ref): Update call to gfc_conv_scalarized_ref. (non_negative_strides_array_p): New function. 2022-04-22 Mikael Morin <mikael@gcc.gnu.org> PR fortran/102043 * trans-array.cc (gfc_conv_expr_descriptor): Use gfc_conv_tmp_array_ref. 2022-04-22 Mikael Morin <mikael@gcc.gnu.org> PR fortran/102043 * trans-io.cc: Add handling for the case where the array is referenced using pointer arithmetic. 2022-04-22 Mikael Morin <mikael@gcc.gnu.org> PR fortran/102043 * trans-expr.cc: Pre-evaluate src and dest to variables before using them. 2022-04-21 Fritz Reese <foreese@gcc.gnu.org> PR fortran/105310 * trans-expr.cc (gfc_conv_union_initializer): Pass vec* by reference. 2022-04-13 Tobias Burnus <tobias@codesourcery.com> PR fortran/105242 * match.cc (match_exit_cycle): Handle missing OMP LOOP, DO and SIMD directives in the EXIT/CYCLE diagnostic. 2022-04-10 Harald Anlauf <anlauf@gmx.de> PR fortran/105184 * array.cc (match_subscript): Reject assumed size coarray specification with missing lower bound. * resolve.cc (resolve_allocate_expr): Fix logic for checking allocate-coshape-spec in ALLOCATE statement. 2022-04-05 Sandra Loosemore <sandra@codesourcery.com> * trans-openmp.cc (gfc_split_omp_clauses): Fix mask for EXEC_OMP_MASKED_TASKLOOP. 2022-04-05 Harald Anlauf <anlauf@gmx.de> PR fortran/104210 * arith.cc (eval_intrinsic): Avoid NULL pointer dereference. (gfc_zero_size_array): Likewise. 2022-04-05 Harald Anlauf <anlauf@gmx.de> Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/105138 * intrinsic.cc (gfc_is_intrinsic): When a symbol refers to a RECURSIVE procedure, it cannot be an INTRINSIC. 2022-03-30 Harald Anlauf <anlauf@gmx.de> PR fortran/100892 * check.cc (gfc_check_associated): Avoid NULL pointer dereference. 2022-03-29 Harald Anlauf <anlauf@gmx.de> Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/104571 * resolve.cc (resolve_elemental_actual): Avoid NULL pointer dereference. 2022-03-29 Harald Anlauf <anlauf@gmx.de> PR fortran/50549 * resolve.cc (resolve_structure_cons): Reject pointer assignments of character with different lengths in structure constructor. 2022-03-25 Jakub Jelinek <jakub@redhat.com> PR fortran/103691 * trans-array.cc (gfc_conv_array_initializer): If TYPE_MAX_VALUE is smaller than TYPE_MIN_VALUE (i.e. empty array), ignore the initializer; if TYPE_MIN_VALUE is equal to TYPE_MAX_VALUE, use just the TYPE_MIN_VALUE as index instead of RANGE_EXPR. 2022-03-23 Tobias Burnus <tobias@codesourcery.com> PR fortran/103560 * scanner.cc (add_path_to_list): Don't append '/' to the save include path. (open_included_file): Use '/' in concatenating path + file name. * module.cc (gzopen_included_file_1): Likewise. 2022-03-22 Harald Anlauf <anlauf@gmx.de> PR fortran/104999 * simplify.cc (gfc_simplify_cshift): Ensure temporary holding source array stride is initialized. 2022-03-19 Mikael Morin <mikael@gcc.gnu.org> PR fortran/104228 PR fortran/104570 * parse.cc (parse_associate): Use a new distinct gfc_charlen if the copied type has one whose length is not known to be constant. * resolve.cc (resolve_assoc_var): Reset charlen if it’s shared with the associate target regardless of the expression type. Don’t reinitialize charlen if it’s deferred. 2022-03-18 Tobias Burnus <tobias@codesourcery.com> PR fortran/103039 * trans-openmp.cc (gfc_omp_clause_copy_ctor, gfc_omp_clause_dtor): Only privatize pointer for associate names. 2022-03-18 Tobias Burnus <tobias@codesourcery.com> PR fortran/103039 * openmp.cc (resolve_omp_clauses): Improve associate-name diagnostic for select type/rank. 2022-03-11 Tobias Burnus <tobias@codesourcery.com> * trans-openmp.cc (gfc_trans_omp_clauses, gfc_omp_finish_clause): Obtain size for mapping only if allocatable array is allocated. 2022-03-09 Harald Anlauf <anlauf@gmx.de> PR fortran/104849 * expr.cc (find_array_section): Avoid NULL pointer dereference on invalid array section. 2022-03-09 Tobias Burnus <tobias@codesourcery.com> * trans-intrinsic.cc (gfc_conv_intrinsic_sizeof): Fix CLASS handling. 2022-03-08 Tobias Burnus <tobias@codesourcery.com> PR fortran/104126 * trans-expr.cc (gfc_conv_gfc_desc_to_cfi_desc): Handle NULL without MOLD. 2022-03-08 Harald Anlauf <anlauf@gmx.de> PR fortran/104811 * frontend-passes.cc (optimize_minmaxloc): Do not attempt frontend-optimization of MINLOC/MAXLOC for character arrays, as there is no suitable code yet for inline expansion. 2022-03-07 Tobias Burnus <tobias@codesourcery.com> PR fortran/99585 PR fortran/104430 * trans-expr.cc (conv_parent_component_references): Fix comment; simplify comparison. (gfc_maybe_dereference_var): Avoid d referencing a nonpointer. 2022-03-07 Tobias Burnus <tobias@codesourcery.com> * array.cc (gfc_ref_dimen_size): Fix comment typo. * dump-parse-tree.cc (gfc_dump_c_prototypes): Likewise. * frontend-passes.cc (cfe_code): Likewise. * gfortran.texi: Likewise. * resolve.cc (generate_component_assignments): Likewise. * simplify.cc (gfc_simplify_this_image): Likewise. * trans-expr.cc (trans_scalar_class_assign, gfc_maybe_dereference_var): Likewise. * intrinsic.texi: Remove word duplication. * invoke.texi: Likewise. 2022-03-07 Jakub Jelinek <jakub@redhat.com> * trans-expr.cc: Fix up duplicated word issue in a comment. * gfortran.h: Likewise. * scanner.cc: Likewise. 2022-03-07 Martin Liska <mliska@suse.cz> * intrinsic.cc (gfc_is_intrinsic): Remove asterisk from error message. 2022-03-07 Martin Liska <mliska@suse.cz> PR translation/90148 * intrinsic.cc (gfc_is_intrinsic): Put quote to a proper place. 2022-03-03 Kwok Cheung Yeung <kcy@codesourcery.com> PR fortran/104131 * openmp.cc (gfc_match_omp_detach): Move check for type of event handle to... (resolve_omp_clauses) ...here. Also check that the event handle is not an array, or an array access or structure element access. 2022-03-02 Harald Anlauf <anlauf@gmx.de> PR fortran/104573 * resolve.cc (resolve_structure_cons): Avoid NULL pointer dereference when there is no valid component. 2022-02-24 Harald Anlauf <anlauf@gmx.de> PR fortran/84519 * dump-parse-tree.cc (show_code_node): Dump QUIET specifier when present. * match.cc (gfc_match_stopcode): Implement parsing of F2018 QUIET specifier. F2018 stopcodes may have non-default integer kind. * resolve.cc (gfc_resolve_code): Add checks for QUIET argument. * trans-stmt.cc (gfc_trans_stop): Pass QUIET specifier to call of library function. 2022-02-22 Harald Anlauf <anlauf@gmx.de> PR fortran/104619 * resolve.cc (resolve_structure_cons): Skip shape check if shape of constructor cannot be determined at compile time. 2022-02-20 Harald Anlauf <anlauf@gmx.de> PR fortran/77693 * data.cc (gfc_assign_data_value): If a variable in a data statement has the POINTER attribute, check for allowed initial data target that is compatible with pointer assignment. * gfortran.h (IS_POINTER): New macro. 2022-02-15 Tobias Burnus <tobias@codesourcery.com> * trans-openmp.cc (gfc_trans_omp_depobj): Fix to alloc/ptr dummy and for c_ptr. 2022-02-15 Tobias Burnus <tobias@codesourcery.com> * trans-openmp.cc (gfc_trans_omp_clauses, gfc_trans_omp_depobj): Depend on the proper addr, for ptr/alloc depend on pointee. 2022-02-14 Harald Anlauf <anlauf@gmx.de> PR fortran/104211 * expr.cc (find_array_section): Replace assertion by error recovery when encountering bad array constructor. 2022-02-13 Mikael Morin <mikael@gcc.gnu.org> PR fortran/104228 * resolve.cc (resolve_assoc_var): Also create a new character length for non-dummy associate targets. * trans-stmt.cc (trans_associate_var): Initialize character length even if no temporary is used for the associate variable. 2022-02-10 Roger Sayle <roger@nextmovesoftware.com> Tobias Burnus <tobias@codesourcery.com> * trans-common.cc (GFC_EQUIV_FMT): New macro respecting the target's NO_DOT_IN_LABEL and NO_DOLLAR_IN_LABEL preferences. (build_equiv_decl): Use GFC_EQUIV_FMT here. 2022-02-10 Tobias Burnus <tobias@codesourcery.com> PR fortran/104329 * openmp.cc (resolve_omp_atomic): Defer extra-code assert after other diagnostics. 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com> * dump-parse-tree.cc (show_omp_clauses): Added OMP_LIST_HAS_DEVICE_ADDR case. * gfortran.h: Added OMP_LIST_HAS_DEVICE_ADDR. * openmp.cc (enum omp_mask2): Added OMP_CLAUSE_HAS_DEVICE_ADDR. (gfc_match_omp_clauses): Parse HAS_DEVICE_ADDR clause. (resolve_omp_clauses): Same. * trans-openmp.cc (gfc_trans_omp_variable_list): Added OMP_LIST_HAS_DEVICE_ADDR case. (gfc_trans_omp_clauses): Firstprivatize of array descriptors. 2022-02-09 Harald Anlauf <anlauf@gmx.de> PR fortran/66193 * arith.cc (reduce_binary_ac): When reducing binary expressions, try simplification. Handle case of empty constructor. (reduce_binary_ca): Likewise. 2022-02-03 Harald Anlauf <anlauf@gmx.de> PR fortran/104311 * check.cc (gfc_calculate_transfer_sizes): Checks for case when storage size of SOURCE is greater than zero while the storage size of MOLD is zero and MOLD is an array shall not depend on SIZE. 2022-02-03 Jakub Jelinek <jakub@redhat.com> PR fortran/104328 * openmp.cc (is_scalar_intrinsic_expr): If must_be_var && conv_ok and expr is conversion, verify it is a conversion from EXPR_VARIABLE with non-NULL symtree. Check ->block->next before dereferencing it. 2022-02-01 Harald Anlauf <anlauf@gmx.de> PR fortran/104331 * simplify.cc (gfc_simplify_eoshift): Avoid NULL pointer dereference when shape is not set. 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/103790 * trans-array.cc (structure_alloc_comps): Prevent descriptor stacking for non-array data; do not broadcast caf-tokens. * trans-intrinsic.cc (conv_co_collective): Prevent generation of unused descriptor. 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> Revert: 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/103790 * trans-array.cc (structure_alloc_comps): Prevent descriptor stacking for non-array data; do not broadcast caf-tokens. * trans-intrinsic.cc (conv_co_collective): Prevent generation of unused descriptor. 2022-01-28 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/103790 * trans-array.cc (structure_alloc_comps): Prevent descriptor stacking for non-array data; do not broadcast caf-tokens. * trans-intrinsic.cc (conv_co_collective): Prevent generation of unused descriptor. 2022-01-27 Harald Anlauf <anlauf@gmx.de> PR fortran/104128 * expr.cc (gfc_copy_expr): Convert internal representation of string to wide char in value only for default character kind. * target-memory.cc (interpret_array): Pass flag for conversion of wide chars. (gfc_target_interpret_expr): Likewise. 2022-01-27 Harald Anlauf <anlauf@gmx.de> PR fortran/84784 * trans-intrinsic.cc (conv_intrinsic_image_status): Convert result to resulting (default) integer type. (conv_intrinsic_team_number): Likewise. (gfc_conv_intrinsic_popcnt_poppar): Likewise. 2022-01-25 Harald Anlauf <anlauf@gmx.de> PR fortran/104227 * check.cc (gfc_calculate_transfer_sizes): Fix checking of arrays passed as MOLD argument to the TRANSFER intrinsic for having storage size zero. 2022-01-25 Harald Anlauf <anlauf@gmx.de> PR fortran/104212 * check.cc (gfc_check_norm2): Check that optional argument DIM is scalar. (gfc_check_parity): Likewise. 2022-01-24 Jakub Jelinek <jakub@redhat.com> * lang.opt (fconvert=): Add EnumSet property and mention also r16_ieee and r16_ibm arguments. (big-endian, little-endian, native, swap): Add Set(1) property. (r16_ieee, r16_ibm): New EnumValue entries with Set(2) property. * trans-types.cc (gfc_init_kinds): Emit gfc_fatal_error for -fconvert=r16_ieee or -fconvert=r16_ibm when R16_IEEE <=> R16_IBM conversions aren't supported. 2022-01-22 Harald Anlauf <anlauf@gmx.de> PR fortran/104127 * simplify.cc (gfc_simplify_transfer): Ensure that the result typespec is set up for TRANSFER with MOLD of type CHARACTER including character length even if the result is a zero-sized array. 2022-01-20 Sandra Loosemore <sandra@codesourcery.com> PR fortran/103695 PR fortran/102621 * gfortran.h (struct gfc_namespace) Add omp_affinity_iterator field. * dump-parse-tree.cc (show_iterator): Use it. * openmp.cc (gfc_match_iterator): Likewise. (resolve_omp_clauses): Likewise. * trans-decl.cc (gfc_finish_var_decl): Likewise. * trans-openmp.cc (handle_iterator): Likewise. 2022-01-18 Harald Anlauf <anlauf@gmx.de> PR fortran/103692 * array.cc (gfc_expand_constructor): Handle zero-sized array constructors. 2022-01-17 Martin Liska <mliska@suse.cz> * check.cc (gfc_check_all_any): Rename .c names to .cc. * class.cc (find_intrinsic_vtab): Likewise. * config-lang.in: Likewise. * cpp.cc (cpp_define_builtins): Likewise. * data.cc (get_array_index): Likewise. * decl.cc (match_clist_expr): Likewise. (get_proc_name): Likewise. (gfc_verify_c_interop_param): Likewise. (gfc_get_pdt_instance): Likewise. (gfc_match_formal_arglist): Likewise. (gfc_get_type_attr_spec): Likewise. * dependency.cc: Likewise. * error.cc (gfc_format_decoder): Likewise. * expr.cc (check_restricted): Likewise. (gfc_build_default_init_expr): Likewise. * f95-lang.cc: Likewise. * gfc-internals.texi: Likewise. * gfortran.h (enum match): Likewise. (enum procedure_type): Likewise. (enum oacc_routine_lop): Likewise. (gfc_get_pdt_instance): Likewise. (gfc_end_source_files): Likewise. (gfc_mpz_set_hwi): Likewise. (gfc_get_option_string): Likewise. (gfc_find_sym_in_expr): Likewise. (gfc_errors_to_warnings): Likewise. (gfc_real_4_kind): Likewise. (gfc_free_finalizer): Likewise. (gfc_sym_get_dummy_args): Likewise. (gfc_check_intrinsic_standard): Likewise. (gfc_free_case_list): Likewise. (gfc_resolve_oacc_routines): Likewise. (gfc_check_vardef_context): Likewise. (gfc_free_association_list): Likewise. (gfc_implicit_pure_function): Likewise. (gfc_ref_dimen_size): Likewise. (gfc_compare_actual_formal): Likewise. (gfc_resolve_wait): Likewise. (gfc_dt_upper_string): Likewise. (gfc_generate_module_code): Likewise. (gfc_delete_bbt): Likewise. (debug): Likewise. (gfc_build_block_ns): Likewise. (gfc_dep_difference): Likewise. (gfc_invalid_null_arg): Likewise. (gfc_is_finalizable): Likewise. (gfc_fix_implicit_pure): Likewise. (gfc_is_size_zero_array): Likewise. (gfc_is_reallocatable_lhs): Likewise. * gfortranspec.cc: Likewise. * interface.cc (compare_actual_expr): Likewise. * intrinsic.cc (add_functions): Likewise. * iresolve.cc (gfc_resolve_matmul): Likewise. (gfc_resolve_alarm_sub): Likewise. * iso-c-binding.def: Likewise. * lang-specs.h: Likewise. * libgfortran.h (GFC_STDERR_UNIT_NUMBER): Likewise. * match.cc (gfc_match_label): Likewise. (gfc_match_symbol): Likewise. (match_derived_type_spec): Likewise. (copy_ts_from_selector_to_associate): Likewise. * match.h (gfc_match_call): Likewise. (gfc_get_common): Likewise. (gfc_match_omp_end_single): Likewise. (gfc_match_volatile): Likewise. (gfc_match_bind_c): Likewise. (gfc_match_literal_constant): Likewise. (gfc_match_init_expr): Likewise. (gfc_match_array_constructor): Likewise. (gfc_match_end_interface): Likewise. (gfc_match_print): Likewise. (gfc_match_expr): Likewise. * matchexp.cc (next_operator): Likewise. * mathbuiltins.def: Likewise. * module.cc (free_true_name): Likewise. * openmp.cc (gfc_resolve_omp_parallel_blocks): Likewise. (gfc_omp_save_and_clear_state): Likewise. * parse.cc (parse_union): Likewise. (set_syms_host_assoc): Likewise. * resolve.cc (resolve_actual_arglist): Likewise. (resolve_elemental_actual): Likewise. (check_host_association): Likewise. (resolve_typebound_function): Likewise. (resolve_typebound_subroutine): Likewise. (gfc_resolve_expr): Likewise. (resolve_assoc_var): Likewise. (resolve_typebound_procedures): Likewise. (resolve_equivalence_derived): Likewise. * simplify.cc (simplify_bound): Likewise. * symbol.cc (gfc_set_default_type): Likewise. (gfc_add_ext_attribute): Likewise. * target-memory.cc (gfc_target_interpret_expr): Likewise. * target-memory.h (gfc_target_interpret_expr): Likewise. * trans-array.cc (gfc_get_cfi_dim_sm): Likewise. (gfc_conv_shift_descriptor_lbound): Likewise. (gfc_could_be_alias): Likewise. (gfc_get_dataptr_offset): Likewise. * trans-const.cc: Likewise. * trans-decl.cc (trans_function_start): Likewise. (gfc_trans_deferred_vars): Likewise. (generate_local_decl): Likewise. (gfc_generate_function_code): Likewise. * trans-expr.cc (gfc_vptr_size_get): Likewise. (gfc_trans_class_array_init_assign): Likewise. (POWI_TABLE_SIZE): Likewise. (gfc_conv_procedure_call): Likewise. (gfc_trans_arrayfunc_assign): Likewise. * trans-intrinsic.cc (gfc_conv_intrinsic_len): Likewise. (gfc_conv_intrinsic_loc): Likewise. (conv_intrinsic_event_query): Likewise. * trans-io.cc (gfc_build_st_parameter): Likewise. * trans-openmp.cc (gfc_omp_check_optional_argument): Likewise. (gfc_omp_unshare_expr_r): Likewise. (gfc_trans_omp_array_section): Likewise. (gfc_trans_omp_clauses): Likewise. * trans-stmt.cc (trans_associate_var): Likewise. (gfc_trans_deallocate): Likewise. * trans-stmt.h (gfc_trans_class_init_assign): Likewise. (gfc_trans_deallocate): Likewise. (gfc_trans_oacc_declare): Likewise. * trans-types.cc: Likewise. * trans-types.h (enum gfc_packed): Likewise. * trans.cc (N_): Likewise. (trans_code): Likewise. * trans.h (gfc_build_compare_string): Likewise. (gfc_conv_expr_type): Likewise. (gfc_trans_deferred_vars): Likewise. (getdecls): Likewise. (gfc_get_array_descr_info): Likewise. (gfc_omp_firstprivatize_type_sizes): Likewise. (GTY): Likewise. 2022-01-17 Martin Liska <mliska@suse.cz> * arith.c: Moved to... * arith.cc: ...here. * array.c: Moved to... * array.cc: ...here. * bbt.c: Moved to... * bbt.cc: ...here. * check.c: Moved to... * check.cc: ...here. * class.c: Moved to... * class.cc: ...here. * constructor.c: Moved to... * constructor.cc: ...here. * convert.c: Moved to... * convert.cc: ...here. * cpp.c: Moved to... * cpp.cc: ...here. * data.c: Moved to... * data.cc: ...here. * decl.c: Moved to... * decl.cc: ...here. * dependency.c: Moved to... * dependency.cc: ...here. * dump-parse-tree.c: Moved to... * dump-parse-tree.cc: ...here. * error.c: Moved to... * error.cc: ...here. * expr.c: Moved to... * expr.cc: ...here. * f95-lang.c: Moved to... * f95-lang.cc: ...here. * frontend-passes.c: Moved to... * frontend-passes.cc: ...here. * gfortranspec.c: Moved to... * gfortranspec.cc: ...here. * interface.c: Moved to... * interface.cc: ...here. * intrinsic.c: Moved to... * intrinsic.cc: ...here. * io.c: Moved to... * io.cc: ...here. * iresolve.c: Moved to... * iresolve.cc: ...here. * match.c: Moved to... * match.cc: ...here. * matchexp.c: Moved to... * matchexp.cc: ...here. * misc.c: Moved to... * misc.cc: ...here. * module.c: Moved to... * module.cc: ...here. * openmp.c: Moved to... * openmp.cc: ...here. * options.c: Moved to... * options.cc: ...here. * parse.c: Moved to... * parse.cc: ...here. * primary.c: Moved to... * primary.cc: ...here. * resolve.c: Moved to... * resolve.cc: ...here. * scanner.c: Moved to... * scanner.cc: ...here. * simplify.c: Moved to... * simplify.cc: ...here. * st.c: Moved to... * st.cc: ...here. * symbol.c: Moved to... * symbol.cc: ...here. * target-memory.c: Moved to... * target-memory.cc: ...here. * trans-array.c: Moved to... * trans-array.cc: ...here. * trans-common.c: Moved to... * trans-common.cc: ...here. * trans-const.c: Moved to... * trans-const.cc: ...here. * trans-decl.c: Moved to... * trans-decl.cc: ...here. * trans-expr.c: Moved to... * trans-expr.cc: ...here. * trans-intrinsic.c: Moved to... * trans-intrinsic.cc: ...here. * trans-io.c: Moved to... * trans-io.cc: ...here. * trans-openmp.c: Moved to... * trans-openmp.cc: ...here. * trans-stmt.c: Moved to... * trans-stmt.cc: ...here. * trans-types.c: Moved to... * trans-types.cc: ...here. * trans.c: Moved to... * trans.cc: ...here. 2022-01-17 Andrew Stubbs <ams@codesourcery.com> * openmp.c (gfc_match_omp_requires): Don't "sorry" dynamic_allocators. 2022-01-15 Harald Anlauf <anlauf@gmx.de> PR fortran/83079 * target-memory.c (gfc_interpret_character): Result length is in bytes and thus depends on the character kind. * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Compute correct string length for the result of the TRANSFER intrinsic and for temporaries for the different character kinds. 2022-01-14 Harald Anlauf <anlauf@gmx.de> PR fortran/99256 * intrinsic.c: Do not check formal argument type when checking arguments of intrinsics for alternate return specifiers. 2022-01-14 Harald Anlauf <anlauf@gmx.de> PR fortran/103782 * expr.c (gfc_simplify_expr): Adjust logic for when to scalarize a call of an intrinsic which may have been overloaded. 2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com> * dump-parse-tree.c (show_omp_clauses): Handle OMP_LIST_ALLOCATE. * gfortran.h (OMP_LIST_ALLOCATE): New enum value. * openmp.c (enum omp_mask1): Add OMP_CLAUSE_ALLOCATE. (gfc_match_omp_clauses): Handle OMP_CLAUSE_ALLOCATE (OMP_PARALLEL_CLAUSES, OMP_DO_CLAUSES, OMP_SECTIONS_CLAUSES) (OMP_TASK_CLAUSES, OMP_TASKLOOP_CLAUSES, OMP_TARGET_CLAUSES) (OMP_TEAMS_CLAUSES, OMP_DISTRIBUTE_CLAUSES) (OMP_SINGLE_CLAUSES): Add OMP_CLAUSE_ALLOCATE. (OMP_TASKGROUP_CLAUSES): New. (gfc_match_omp_taskgroup): Use OMP_TASKGROUP_CLAUSES instead of OMP_CLAUSE_TASK_REDUCTION. (resolve_omp_clauses): Handle OMP_LIST_ALLOCATE. (resolve_omp_do): Avoid warning when loop iteration variable is in allocate clause. * trans-openmp.c (gfc_trans_omp_clauses): Handle translation of allocate clause. (gfc_split_omp_clauses): Update for OMP_LIST_ALLOCATE. 2022-01-13 Harald Anlauf <anlauf@gmx.de> PR fortran/67804 * primary.c (gfc_match_structure_constructor): Recover from errors that occurred while checking for a valid structure constructor in a DATA statement. 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> * libgfortran.h (unit_convert): Add flags. 2022-01-11 Jakub Jelinek <jakub@redhat.com> * trans-types.c (gfc_init_kinds): When setting abi_kind to 17, if not targetting glibc 2.32 or later and -fbuilding-libgfortran, set gfc_real16_is_float128 and c_float128 in gfc_real_kinds. (gfc_build_real_type): Don't set c_long_double if c_float128 is already set. * trans-intrinsic.c (builtin_decl_for_precision): Don't use long_double_built_in if gfc_real16_is_float128 and long_double_type_node == gfc_float128_type_node. * lang.opt (fbuilding-libgfortran): New undocumented option. 2022-01-11 Jakub Jelinek <jakub@redhat.com> * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Use gfc_type_abi_kind. 2022-01-11 Jakub Jelinek <jakub@redhat.com> * trans-io.c (transfer_array_desc): Pass abi kind instead of kind to libgfortran. 2022-01-11 Jakub Jelinek <jakub@redhat.com> * trans-io.c (transfer_namelist_element): Use gfc_type_abi_kind, formatting fixes. (transfer_expr): Use gfc_type_abi_kind, use *REAL128* APIs even for abi_kind == 17. 2022-01-11 Jakub Jelinek <jakub@redhat.com> * gfortran.h (gfc_real_info): Add abi_kind member. (gfc_type_abi_kind): Declare. * trans-types.c (gfc_init_kinds): Initialize abi_kind. * intrinsic.c (gfc_type_abi_kind): New function. (conv_name): Use it. * iresolve.c (resolve_transformational, gfc_resolve_abs, gfc_resolve_char_achar, gfc_resolve_acos, gfc_resolve_acosh, gfc_resolve_aimag, gfc_resolve_and, gfc_resolve_aint, gfc_resolve_all, gfc_resolve_anint, gfc_resolve_any, gfc_resolve_asin, gfc_resolve_asinh, gfc_resolve_atan, gfc_resolve_atanh, gfc_resolve_atan2, gfc_resolve_bessel_n2, gfc_resolve_ceiling, gfc_resolve_cmplx, gfc_resolve_complex, gfc_resolve_cos, gfc_resolve_cosh, gfc_resolve_count, gfc_resolve_dble, gfc_resolve_dim, gfc_resolve_dot_product, gfc_resolve_dprod, gfc_resolve_exp, gfc_resolve_floor, gfc_resolve_hypot, gfc_resolve_int, gfc_resolve_int2, gfc_resolve_int8, gfc_resolve_long, gfc_resolve_log, gfc_resolve_log10, gfc_resolve_logical, gfc_resolve_matmul, gfc_resolve_minmax, gfc_resolve_maxloc, gfc_resolve_findloc, gfc_resolve_maxval, gfc_resolve_merge, gfc_resolve_minloc, gfc_resolve_minval, gfc_resolve_mod, gfc_resolve_modulo, gfc_resolve_nearest, gfc_resolve_or, gfc_resolve_real, gfc_resolve_realpart, gfc_resolve_reshape, gfc_resolve_sign, gfc_resolve_sin, gfc_resolve_sinh, gfc_resolve_sqrt, gfc_resolve_tan, gfc_resolve_tanh, gfc_resolve_transpose, gfc_resolve_trigd, gfc_resolve_xor, gfc_resolve_random_number): Likewise. * trans-decl.c (gfc_build_intrinsic_function_decls): Likewise. 2022-01-10 Paul Thomas <pault@gcc.gnu.org> PR fortran/103366 * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Allow unlimited polymorphic actual argument passed to assumed type formal. 2022-01-09 Harald Anlauf <anlauf@gmx.de> PR fortran/103777 * simplify.c (gfc_simplify_maskr): Check validity of argument 'I' before simplifying. (gfc_simplify_maskl): Likewise. 2022-01-09 Harald Anlauf <anlauf@gmx.de> PR fortran/101762 * expr.c (gfc_check_pointer_assign): For pointer initialization targets, check that subscripts and substring indices in specifications are constant expressions. 2022-01-09 Mikael Morin <mikael@gcc.gnu.org> PR fortran/103789 * trans-array.c (arg_evaluated_for_scalarization): Add MASKL, MASKR, SCAN and VERIFY to the list of intrinsics whose KIND argument is to be ignored. 2022-01-07 Sandra Loosemore <sandra@codesourcery.com> PR fortran/103898 * trans-intrinsic.c (gfc_conv_intrinsic_size): Make size_var actually be a variable and fix surrounding code. 2022-01-06 Steve Kargl <kargl@gcc.gnu.org> Sandra Loosemore <sandra@codesourcery.com> PR fortran/103287 * interface.c (argument_rank_mismatch): Replace incorrect assertion with return. 2022-01-05 Sandra Loosemore <sandra@codesourcery.com> PR fortran/103258 * decl.c (gfc_match_char_spec): Suppress errors around call to gfc_reduce_init_expr. * error.c (gfc_query_suppress_errors): New. * gfortran.h (gfc_query_suppress_errors): Declare. * symbol.c (gfc_set_default_type): Check gfc_query_suppress_errors. 2022-01-03 Sandra Loosemore <sandra@codesourcery.com> PR fortran/103390 * expr.c (gfc_is_simply_contiguous): Make it smarter about function calls. * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Do not generate copy loops for array expressions that are not "variables" (lvalues). 2022-01-03 Jakub Jelinek <jakub@redhat.com> * gfortranspec.c (lang_specific_driver): Update copyright notice dates. * gfc-internals.texi: Bump @copying's copyright year. * gfortran.texi: Ditto. * intrinsic.texi: Ditto. * invoke.texi: Ditto. Copyright (C) 2022 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.