Fix fortran/66100 bound simplification ICE
PR fortran/66100 gcc/fortran/ * simplify.c (simplify_bound): Fix assert to accept subobject * arrays. gcc/testsuite/ * gfortran.dg/bound_simplification_6.f90: New. From-SVN: r223019
This commit is contained in:
parent
caadc44d7b
commit
21cd397ea3
|
@ -1,3 +1,8 @@
|
|||
2015-05-11 Mikael Morin <mikael@gcc.gnu.org>
|
||||
|
||||
PR fortran/66100
|
||||
* simplify.c (simplify_bound): Fix assert to accept subobject arrays.
|
||||
|
||||
2015-05-10 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||
|
||||
PR fortran/66041
|
||||
|
|
|
@ -3463,8 +3463,8 @@ simplify_bound (gfc_expr *array, gfc_expr *dim, gfc_expr *kind, int upper)
|
|||
gcc_assert (!as
|
||||
|| (as->type != AS_DEFERRED
|
||||
&& array->expr_type == EXPR_VARIABLE
|
||||
&& !array->symtree->n.sym->attr.allocatable
|
||||
&& !array->symtree->n.sym->attr.pointer));
|
||||
&& !gfc_expr_attr (array).allocatable
|
||||
&& !gfc_expr_attr (array).pointer));
|
||||
|
||||
if (dim == NULL)
|
||||
{
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2015-05-11 Mikael Morin <mikael@gcc.gnu.org>
|
||||
|
||||
PR fortran/66100
|
||||
* gfortran.dg/bound_simplification_6.f90: New.
|
||||
|
||||
2015-05-11 Steve Ellcey <sellcey@mips.com>
|
||||
|
||||
* gcc.target/mips/branch-1.c: Pass argument to bar().
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
! { dg-do compile }
|
||||
! { dg-additional-options "-fdump-tree-original" }
|
||||
!
|
||||
! PR fortran/66100
|
||||
! ICE on lbound simplification
|
||||
!
|
||||
! Original test case by Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
|
||||
! Reduced by Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||
!
|
||||
MODULE qs_integrate_potential_low
|
||||
INTEGER, PARAMETER :: dp = 8
|
||||
TYPE cell_type
|
||||
REAL(KIND=8) :: h_inv(3,3)
|
||||
END TYPE
|
||||
TYPE(cell_type), POINTER :: cell
|
||||
REAL(KIND=dp), DIMENSION(3) :: rp
|
||||
CONTAINS
|
||||
SUBROUTINE integrate_general_opt()
|
||||
REAL(KIND=dp) :: gp(3)
|
||||
INTEGER :: ng
|
||||
if (any(lbound(cell%h_inv) /= 1)) call abort
|
||||
if (any(ubound(cell%h_inv) /= 3)) call abort
|
||||
END SUBROUTINE integrate_general_opt
|
||||
END MODULE qs_integrate_potential_low
|
||||
! { dg-final { scan-tree-dump-not "bound" "original" } }
|
||||
! { dg-final { scan-tree-dump-not "abort" "original" } }
|
||||
! { dg-final { cleanup-tree-dump "original" } }
|
Loading…
Reference in New Issue