re PR tree-optimization/50769 (ICE: in phi_alternatives_equal, at tree-cfgcleanup.c:355 with -O2 -fno-delete-null-pointer-checks -fno-guess-branch-probability -fipa-pta)

2011-11-02  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/50769
	* gfortran.dg/pr50769.f90: New test.

From-SVN: r180793
This commit is contained in:
Tom de Vries 2011-11-02 20:15:55 +00:00 committed by Tom de Vries
parent 19e5fa42c6
commit 24748eb48e
2 changed files with 35 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2011-11-02 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/50769
* gfortran.dg/pr50769.f90: New test.
2011-11-02 Eric Botcazou <ebotcazou@adacore.com>
* gcc.target/sparc/20111102-1.c: New test.

View file

@ -0,0 +1,30 @@
! { dg-do compile }
! { dg-options "-O2 -ftree-tail-merge -fno-delete-null-pointer-checks -fno-guess-branch-probability" }
!
! based on testsuite/gfortran.dg/alloc_comp_optional_1.f90,
! which was contributed by David Kinniburgh <davidkinniburgh@yahoo.co.uk>
!
program test_iso
type ivs
character(LEN=1), dimension(:), allocatable :: chars
end type ivs
type(ivs) :: v_str
integer :: i
call foo(v_str, i)
if (v_str%chars(1) .ne. "a") call abort
if (i .ne. 0) call abort
call foo(flag = i)
if (i .ne. 1) call abort
contains
subroutine foo (arg, flag)
type(ivs), optional, intent(out) :: arg
integer :: flag
if (present(arg)) then
arg = ivs([(char(i+96), i = 1,10)])
flag = 0
else
flag = 1
end if
end subroutine
end