re PR fortran/91443 (-Wargument-mismatch does not catch mismatch for global procedure)
authorThomas Koenig <tkoenig@gcc.gnu.org>
Thu, 15 Aug 2019 22:52:40 +0000 (22:52 +0000)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Thu, 15 Aug 2019 22:52:40 +0000 (22:52 +0000)
commitfb078366c749168c86a97df8423eb0b8f2c948b2
treea1402a54686f1b73e81b7548effd9221a7061b04
parent7148dede8a84e17cc0b00190d76fabbc1a717654
re PR fortran/91443 (-Wargument-mismatch does not catch mismatch for global procedure)

2019-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/91443
* frontend-passes.c (check_externals_expr): New function.
(check_externals_code): New function.
(gfc_check_externals): New function.
* gfortran.h (debug): Add prototypes for gfc_symbol * and
gfc_expr *.
(gfc_check_externals): Add prototype.
* interface.c (compare_actual_formal): Do not complain about
alternate returns if the formal argument is optional.
(gfc_procedure_use): Handle cases when an error has been issued
previously.  Break long line.
* parse.c (gfc_parse_file): Call gfc_check_externals for all
external procedures.
* resolve.c (resolve_global_procedure): Remove checking of
argument list.

2019-08-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/91443
* gfortran.dg/argument_checking_19.f90: New test.
* gfortran.dg/altreturn_10.f90: Change dg-warning to dg-error.
* gfortran.dg/dec_union_11.f90: Add -std=legacy.
* gfortran.dg/hollerith8.f90: Likewise. Remove warning for
Hollerith constant.
* gfortran.dg/integer_exponentiation_2.f90: New subroutine gee_i8;
use it to avoid type mismatches.
* gfortran.dg/pr41011.f: Add -std=legacy.
* gfortran.dg/whole_file_1.f90: Change warnings to errors.
* gfortran.dg/whole_file_2.f90: Likewise.

From-SVN: r274551
15 files changed:
gcc/fortran/ChangeLog
gcc/fortran/frontend-passes.c
gcc/fortran/gfortran.h
gcc/fortran/interface.c
gcc/fortran/parse.c
gcc/fortran/resolve.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/altreturn_10.f90
gcc/testsuite/gfortran.dg/argument_checking_19.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/dec_union_11.f90
gcc/testsuite/gfortran.dg/hollerith8.f90
gcc/testsuite/gfortran.dg/integer_exponentiation_2.f90
gcc/testsuite/gfortran.dg/pr41011.f
gcc/testsuite/gfortran.dg/whole_file_1.f90
gcc/testsuite/gfortran.dg/whole_file_2.f90