-
- Downloads
Fortran: fix treatment of character, value, optional dummy arguments [PR107444]
Fix handling of character dummy arguments that have the optional+value attribute. Change name of internal symbols that carry the hidden presence status of optional arguments to distinguish them from the internal hidden character length. Update documentation to clarify the gfortran ABI. gcc/fortran/ChangeLog: 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. gcc/testsuite/ChangeLog: PR fortran/107444 * gfortran.dg/optional_absent_7.f90: Adjust regex. * gfortran.dg/optional_absent_8.f90: New test.
Showing
- gcc/fortran/doc/gfortran/naming-and-argument-passing-conventions.rst 1 addition, 2 deletions.../doc/gfortran/naming-and-argument-passing-conventions.rst
- gcc/fortran/trans-decl.cc 5 additions, 5 deletionsgcc/fortran/trans-decl.cc
- gcc/fortran/trans-expr.cc 17 additions, 8 deletionsgcc/fortran/trans-expr.cc
- gcc/fortran/trans-types.cc 7 additions, 7 deletionsgcc/fortran/trans-types.cc
- gcc/testsuite/gfortran.dg/optional_absent_7.f90 1 addition, 1 deletiongcc/testsuite/gfortran.dg/optional_absent_7.f90
- gcc/testsuite/gfortran.dg/optional_absent_8.f90 53 additions, 0 deletionsgcc/testsuite/gfortran.dg/optional_absent_8.f90
Loading
Please register or sign in to comment