re PR fortran/82009 ([F08] ICE with block construct)

2018-07-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/82009
	* trans-decl.c (gfc_process_block_locals): Delete assert and set
	saved_local_decls = NULL_TREE.

	* gfortran.dg/block_16.f08. New test.

From-SVN: r262416
This commit is contained in:
Jerry DeLisle 2018-07-04 18:08:16 +00:00
parent 89bc4ab198
commit fa9371cae0
4 changed files with 38 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2018-07-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/82009
* trans-decl.c (gfc_process_block_locals): Delete assert and set
saved_local_decls = NULL_TREE.
2018-07-02 Richard Biener <rguenther@suse.de>
PR lto/86321

View File

@ -6751,7 +6751,7 @@ gfc_process_block_locals (gfc_namespace* ns)
{
tree decl;
gcc_assert (saved_local_decls == NULL_TREE);
saved_local_decls = NULL_TREE;
has_coarray_vars = false;
generate_local_vars (ns);

View File

@ -1,3 +1,8 @@
2018-07-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/82009
* gfortran.dg/block_16.f08. New test.
2018-07-04 Aldy Hernandez <aldyh@redhat.com>
* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust test because aarch64

View File

@ -0,0 +1,26 @@
! { dg-do compile )
! PR82009 [F08] ICE with block construct
MODULE sparse_matrix_csx_benchmark_utils
IMPLICIT NONE
CONTAINS
SUBROUTINE sparse_matrix_csr_benchmark ( )
WRITE(*,*) 'At*x: t'
block
integer, dimension(1), parameter :: idxs=[1]
integer :: i, idx
do i = 1, size(idxs)
idx = idxs(i)
enddo
end block
END SUBROUTINE sparse_matrix_csr_benchmark
SUBROUTINE sparse_matrix_csc_benchmark ( )
WRITE(*,*) 'An*x: t'
block
integer, dimension(1), parameter :: idxs=[1]
integer :: i, idx
do i = 1, size(idxs)
idx = idxs(i)
enddo
end block
END SUBROUTINE sparse_matrix_csc_benchmark
END MODULE sparse_matrix_csx_benchmark_utils