diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2018-07-04 18:08:16 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2018-07-04 18:08:16 +0000 |
commit | fa9371cae02b7ddee8f67e6ce8f1cddc3d8fc0e2 (patch) | |
tree | 12c792ccfabff415ab6cab0bc526087bf9d7587b /gcc | |
parent | 89bc4ab198a0be9e5b2d493f9b25f7ea3df336ef (diff) | |
download | gcc-fa9371cae02b7ddee8f67e6ce8f1cddc3d8fc0e2.zip gcc-fa9371cae02b7ddee8f67e6ce8f1cddc3d8fc0e2.tar.gz gcc-fa9371cae02b7ddee8f67e6ce8f1cddc3d8fc0e2.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/trans-decl.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/block_16.f08 | 26 |
4 files changed, 38 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index ac4a237..b43c083 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -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 diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index 254768c..08c1ebd 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -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); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6c5efa4..12e49b6 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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 diff --git a/gcc/testsuite/gfortran.dg/block_16.f08 b/gcc/testsuite/gfortran.dg/block_16.f08 new file mode 100644 index 0000000..165c719 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/block_16.f08 @@ -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 |