re PR fortran/91557 (Bogus warning about unused dummy argument _formal_*)
authorThomas Koenig <tkoenig@gcc.gnu.org>
Sat, 14 Sep 2019 20:40:55 +0000 (20:40 +0000)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Sat, 14 Sep 2019 20:40:55 +0000 (20:40 +0000)
commite0b9e5f9e3c90a55e643ea850cf828e3e6480fb5
treec4fc497adf886895316602a7aceb79dea87dd956
parentdf19f4717db02943c2ddee1e9f632581537f6c78
re PR fortran/91557 (Bogus warning about unused dummy argument _formal_*)

2019-09-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/91557
PR fortran/91556
* frontend-passes.c (check_externals_procedure): Reformat argument
list. Use gfc_compare_actual_formal instead of gfc_procedure_use.
* gfortran.h (gfc_symbol): Add flag error.
* interface.c (gfc_compare_interfaces): Reformat.
(argument_rank_mismatch): Add where_formal argument. If it is
present, note that the error is between different calls.
(compare_parameter): Change warnings that previously dependended
on -Wargument-mismatch to unconditional.  Issue an error / warning
on type mismatch only once.  Pass where_formal to
argument_rank_mismatch for artificial variables.
(compare_actual_formal): Change warnings that previously
dependeded on -Wargument-mismatch to unconditional.
(gfc_check_typebound_override): Likewise.
(gfc_get_formal_from_actual_arglist): Set declared_at for
artificial symbol.
* invoke.texi: Extend description of -fallow-argument-mismatch.
Delete -Wargument-mismatch.
* lang.opt: Change -Wargument-mismatch to do-nothing option.
* resolve.c (resolve_structure_cons): Change warnings that
previously depended on -Wargument-mismatch to unconditional.
* trans-decl.c (generate_local_decl): Do not warn if the symbol is
artificial.

2019-09-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/91557
PR fortran/91556
* gfortran.dg/argument_checking_20.f90: New test.
* gfortran.dg/argument_checking_21.f90: New test.
* gfortran.dg/argument_checking_22.f90: New test.
* gfortran.dg/argument_checking_23.f90: New test.
* gfortran.dg/warn_unused_dummy_argument_5.f90: New test.
* gfortran.dg/bessel_3.f90: Add pattern for type mismatch.
* gfortran.dg/g77/20010519-1.f: Adjust dg-warning messages to new
handling.
* gfortran.dg/pr24823.f: Likewise.
* gfortran.dg/pr39937.f: Likewise.

From-SVN: r275719
18 files changed:
gcc/fortran/ChangeLog
gcc/fortran/frontend-passes.c
gcc/fortran/gfortran.h
gcc/fortran/interface.c
gcc/fortran/invoke.texi
gcc/fortran/lang.opt
gcc/fortran/resolve.c
gcc/fortran/trans-decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/argument_checking_20.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/argument_checking_21.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/argument_checking_22.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/argument_checking_23.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/bessel_3.f90
gcc/testsuite/gfortran.dg/g77/20010519-1.f
gcc/testsuite/gfortran.dg/pr24823.f
gcc/testsuite/gfortran.dg/pr39937.f
gcc/testsuite/gfortran.dg/warn_unused_dummy_argument_5.f90 [new file with mode: 0644]