re PR fortran/56261 ([OOP] seg fault call procedure pointer on polymorphic array)
authorJanus Weil <janus@gcc.gnu.org>
Fri, 12 Apr 2013 14:21:39 +0000 (16:21 +0200)
committerJanus Weil <janus@gcc.gnu.org>
Fri, 12 Apr 2013 14:21:39 +0000 (16:21 +0200)
commit96486998bca8f0d28e2b2dad664dfef10253ef4b
treeecbd9ece5aa64024cdfe55e5e8194d24f92be96f
parent41b83758ed976b4dc502dfd9dd0133602b718c4b
re PR fortran/56261 ([OOP] seg fault call procedure pointer on polymorphic array)

2013-04-12  Janus Weil  <janus@gcc.gnu.org>

PR fortran/56261
* gfortran.h (gfc_explicit_interface_required): New prototype.
* expr.c (gfc_check_pointer_assign): Check if an explicit interface is
required in a proc-ptr assignment.
* interface.c (check_result_characteristics): Extra check.
* resolve.c (gfc_explicit_interface_required): New function.
(resolve_global_procedure): Use new function
'gfc_explicit_interface_required'. Do a full interface check.

2013-04-12  Janus Weil  <janus@gcc.gnu.org>

PR fortran/56261
* gfortran.dg/auto_char_len_4.f90: Add -pedantic. Changed error.
* gfortran.dg/assumed_rank_4.f90: Modified error wording.
* gfortran.dg/block_11.f90: Fix invalid test case.
* gfortran.dg/function_types_3.f90: Add new error message.
* gfortran.dg/global_references_1.f90: Ditto.
* gfortran.dg/import2.f90: Remove unneeded parts.
* gfortran.dg/import6.f90: Fix invalid test case.
* gfortran.dg/proc_decl_2.f90: Ditto.
* gfortran.dg/proc_decl_9.f90: Ditto.
* gfortran.dg/proc_decl_18.f90: Ditto.
* gfortran.dg/proc_ptr_40.f90: New.
* gfortran.dg/whole_file_7.f90: Modified error wording.
* gfortran.dg/whole_file_16.f90: Ditto.
* gfortran.dg/whole_file_17.f90: Add -pedantic.
* gfortran.dg/whole_file_18.f90: Modified error wording.
* gfortran.dg/whole_file_20.f03: Ditto.
* gfortran.fortran-torture/execute/intrinsic_associated.f90: Fix
invalid test case.

From-SVN: r197922
23 files changed:
gcc/fortran/ChangeLog
gcc/fortran/expr.c
gcc/fortran/gfortran.h
gcc/fortran/interface.c
gcc/fortran/resolve.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/assumed_rank_4.f90
gcc/testsuite/gfortran.dg/auto_char_len_4.f90
gcc/testsuite/gfortran.dg/block_11.f90
gcc/testsuite/gfortran.dg/function_types_3.f90
gcc/testsuite/gfortran.dg/global_references_1.f90
gcc/testsuite/gfortran.dg/import2.f90
gcc/testsuite/gfortran.dg/import6.f90
gcc/testsuite/gfortran.dg/proc_decl_18.f90
gcc/testsuite/gfortran.dg/proc_decl_2.f90
gcc/testsuite/gfortran.dg/proc_decl_9.f90
gcc/testsuite/gfortran.dg/proc_ptr_40.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/whole_file_16.f90
gcc/testsuite/gfortran.dg/whole_file_17.f90
gcc/testsuite/gfortran.dg/whole_file_18.f90
gcc/testsuite/gfortran.dg/whole_file_20.f03
gcc/testsuite/gfortran.dg/whole_file_7.f90
gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_associated.f90