re PR middle-end/36726 (ICE in move_stmt_r, at tree-cfg.c:5699 with -fopenmp)

PR middle-end/36726
	* f95-lang.c (poplevel): Don't ever add subblocks to
	global_binding_level.

	* gfortran.dg/gomp/pr36726.f90: New test.

From-SVN: r137572
This commit is contained in:
Jakub Jelinek 2008-07-07 17:26:35 +02:00 committed by Jakub Jelinek
parent 115340c79f
commit 77092cda69
4 changed files with 35 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2008-07-07 Jakub Jelinek <jakub@redhat.com>
PR middle-end/36726
* f95-lang.c (poplevel): Don't ever add subblocks to
global_binding_level.
2008-07-02 Janus Weil <janus@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
Paul Thomas <pault@gcc.gnu.org>

View File

@ -435,6 +435,10 @@ poplevel (int keep, int reverse, int functionbody)
DECL_INITIAL (current_function_decl) = block_node;
BLOCK_VARS (block_node) = 0;
}
else if (current_binding_level == global_binding_level)
/* When using gfc_start_block/gfc_finish_block from middle-end hooks,
don't add newly created BLOCKs as sublocks of global_binding_level. */
;
else if (block_node)
{
current_binding_level->blocks

View File

@ -1,3 +1,8 @@
2008-07-07 Jakub Jelinek <jakub@redhat.com>
PR middle-end/36726
* gfortran.dg/gomp/pr36726.f90: New test.
2008-07-06 Richard Sandiford <rdsandiford@googlemail.com>
* gcc.target/mips/gcc-have-sync-compare-and-swap-1.c: Expect the

View File

@ -0,0 +1,20 @@
! PR middle-end/36726
! { dg-do compile }
! { dg-options "-fopenmp" }
subroutine foo
integer, allocatable :: vs(:)
!$omp parallel private (vs)
allocate (vs(10))
vs = 2
deallocate (vs)
!$omp end parallel
end subroutine foo
subroutine bar
integer, allocatable :: vs(:)
!$omp parallel private (vs)
allocate (vs(10))
vs = 2
deallocate (vs)
!$omp end parallel
end subroutine bar