mirror of git://gcc.gnu.org/git/gcc.git
[multiple changes]
2016-11-09 Mikael Morin <mikael@gcc.gnu.org> Janus Weil <janus@gcc.gnu.org> PR fortran/46459 * interface.c (compare_actual_formal): Add safety checks to avoid ICE. 2016-11-09 Janus Weil <janus@gcc.gnu.org> PR fortran/46459 * gfortran.dg/volatile14.f90: New test. From-SVN: r242020
This commit is contained in:
parent
e922b25690
commit
271dd55c78
|
|
@ -1,10 +1,16 @@
|
||||||
|
2016-11-09 Mikael Morin <mikael@gcc.gnu.org>
|
||||||
|
Janus Weil <janus@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/46459
|
||||||
|
* interface.c (compare_actual_formal): Add safety checks to avoid ICE.
|
||||||
|
|
||||||
2016-11-09 Fritz O. Reese <fritzoreese@gmail.com>
|
2016-11-09 Fritz O. Reese <fritzoreese@gmail.com>
|
||||||
|
|
||||||
PR fortran/78259
|
PR fortran/78259
|
||||||
* trans-expr.c (gfc_trans_subcomponent_assign): Guard against NULL
|
* trans-expr.c (gfc_trans_subcomponent_assign): Guard against NULL
|
||||||
values.
|
values.
|
||||||
|
|
||||||
2016-11-09 Steve Kargl <kargl@gcc.gnu.org>
|
2016-11-09 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||||
Janus Weil <janus@gcc.gnu.org>
|
Janus Weil <janus@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/60777
|
PR fortran/60777
|
||||||
|
|
|
||||||
|
|
@ -3190,6 +3190,7 @@ compare_actual_formal (gfc_actual_arglist **ap, gfc_formal_arglist *formal,
|
||||||
shape array, if the dummy argument has the VOLATILE attribute. */
|
shape array, if the dummy argument has the VOLATILE attribute. */
|
||||||
|
|
||||||
if (f->sym->attr.volatile_
|
if (f->sym->attr.volatile_
|
||||||
|
&& a->expr->expr_type == EXPR_VARIABLE
|
||||||
&& a->expr->symtree->n.sym->as
|
&& a->expr->symtree->n.sym->as
|
||||||
&& a->expr->symtree->n.sym->as->type == AS_ASSUMED_SHAPE
|
&& a->expr->symtree->n.sym->as->type == AS_ASSUMED_SHAPE
|
||||||
&& !(f->sym->as && f->sym->as->type == AS_ASSUMED_SHAPE))
|
&& !(f->sym->as && f->sym->as->type == AS_ASSUMED_SHAPE))
|
||||||
|
|
@ -3219,6 +3220,7 @@ compare_actual_formal (gfc_actual_arglist **ap, gfc_formal_arglist *formal,
|
||||||
dummy argument has the VOLATILE attribute. */
|
dummy argument has the VOLATILE attribute. */
|
||||||
|
|
||||||
if (f->sym->attr.volatile_
|
if (f->sym->attr.volatile_
|
||||||
|
&& a->expr->expr_type == EXPR_VARIABLE
|
||||||
&& a->expr->symtree->n.sym->attr.pointer
|
&& a->expr->symtree->n.sym->attr.pointer
|
||||||
&& a->expr->symtree->n.sym->as
|
&& a->expr->symtree->n.sym->as
|
||||||
&& !(f->sym->as
|
&& !(f->sym->as
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
2016-11-09 Janus Weil <janus@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/46459
|
||||||
|
* gfortran.dg/volatile14.f90: New test.
|
||||||
|
|
||||||
2016-11-09 Uros Bizjak <ubizjak@gmail.com>
|
2016-11-09 Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
PR target/78262
|
PR target/78262
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
! { dg-do compile }
|
||||||
|
!
|
||||||
|
! PR 46459: ICE (segfault): Invalid read in compare_actual_formal [error recovery]
|
||||||
|
!
|
||||||
|
! Contributed by Harald Anlauf <anlauf@gmx.de>
|
||||||
|
|
||||||
|
call sub (1)
|
||||||
|
contains
|
||||||
|
subroutine sub (j)
|
||||||
|
integer, volatile :: j
|
||||||
|
end subroutine
|
||||||
|
end
|
||||||
|
|
||||||
|
subroutine sub1 ()
|
||||||
|
call sub2 (1) ! { dg-error "Explicit interface required" }
|
||||||
|
end subroutine
|
||||||
|
|
||||||
|
subroutine sub2 (j)
|
||||||
|
integer, volatile :: j
|
||||||
|
end subroutine
|
||||||
|
|
||||||
|
subroutine sub3 ()
|
||||||
|
interface
|
||||||
|
subroutine sub2 (j)
|
||||||
|
integer, volatile :: j
|
||||||
|
end subroutine
|
||||||
|
end interface
|
||||||
|
call sub2 (1)
|
||||||
|
end subroutine
|
||||||
Loading…
Reference in New Issue