[multiple changes]

2016-11-29  Tobias Burnus  <burnus@net-b.de>

	PR fortran/58175
	* resolve.c (gfc_resolve_finalizers): Properly detect scalar finalizers.

2016-11-29  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58175
	* gfortran.dg/finalize_30.f90: New test case.

From-SVN: r242960
This commit is contained in:
Janus Weil 2016-11-29 15:15:29 +01:00
parent 00738904f3
commit c0fe5a2109
4 changed files with 35 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2016-11-29 Tobias Burnus <burnus@net-b.de>
PR fortran/58175
* resolve.c (gfc_resolve_finalizers): Properly detect scalar finalizers.
2016-11-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/78474

View File

@ -12395,6 +12395,9 @@ gfc_resolve_finalizers (gfc_symbol* derived, bool *finalizable)
/* Skip this finalizer if we already resolved it. */
if (list->proc_tree)
{
if (list->proc_tree->n.sym->formal->sym->as == NULL
|| list->proc_tree->n.sym->formal->sym->as->rank == 0)
seen_scalar = true;
prev_link = &(list->next);
continue;
}
@ -12489,7 +12492,7 @@ gfc_resolve_finalizers (gfc_symbol* derived, bool *finalizable)
}
/* Is this the/a scalar finalizer procedure? */
if (!arg->as || arg->as->rank == 0)
if (my_rank == 0)
seen_scalar = true;
/* Find the symtree for this procedure. */

View File

@ -1,3 +1,8 @@
2016-11-29 Janus Weil <janus@gcc.gnu.org>
PR fortran/58175
* gfortran.dg/finalize_30.f90: New test case.
2016-11-29 Martin Liska <mliska@suse.cz>
PR gcov-profile/78582

View File

@ -0,0 +1,21 @@
! { dg-do compile }
! { dg-options "-Wsurprising" }
!
! PR 58175: [OOP] Incorrect warning message on scalar finalizer
!
! Contributed by Andrew Benson <abensonca@gmail.com>
module ct
type :: a
contains
final :: aD
end type
contains
subroutine aD(self)
type(a), intent(inout) :: self
end subroutine
end module
program test
use ct
end