re PR fortran/87395 (ICE in in lookup_field_for_decl with whizard)

2018-09-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/87395
	* gfc_conv_procedure_call: Reformat comments slightly. Do not add
	clobber on INTENT(OUT) for saved variables.

2018-09-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/87395
	* gfortran.dg/intent_out_10.f90: New test.

From-SVN: r264512
This commit is contained in:
Thomas Koenig 2018-09-23 10:52:27 +00:00
parent 5cdf09b069
commit ee7fb0588c
4 changed files with 29 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2018-09-23 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/87395
* gfc_conv_procedure_call: Reformat comments slightly. Do not add
clobber on INTENT(OUT) for saved variables.
2018-09-22 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/41453

View file

@ -5281,7 +5281,10 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
add_clobber = fsym && fsym->attr.intent == INTENT_OUT
&& !fsym->attr.allocatable && !fsym->attr.pointer
&& !e->symtree->n.sym->attr.pointer
&& !e->symtree->n.sym->attr.dummy /* See PR 41453. */
/* See PR 41453. */
&& !e->symtree->n.sym->attr.dummy
/* FIXME - PR 87395 and PR 41453 */
&& e->symtree->n.sym->attr.save == SAVE_NONE
&& e->ts.type != BT_CHARACTER && e->ts.type != BT_DERIVED
&& e->ts.type != BT_CLASS && !sym->attr.elemental;

View file

@ -1,3 +1,8 @@
2018-09-23 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/87395
* gfortran.dg/intent_out_10.f90: New test.
2018-09-22 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/41453

View file

@ -0,0 +1,14 @@
! { dg-do compile }
! PR 87395 - this used to ICE
module mo
integer, save :: x
contains
subroutine foo
x = 42
call bar(x)
contains
subroutine bar(y)
integer, intent(out) :: y
end subroutine bar
end subroutine foo
end module mo