]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR tree-optimization/50769 (ICE: in phi_alternatives_equal, at tree-cfgcleanup...
authorTom de Vries <tom@codesourcery.com>
Wed, 2 Nov 2011 20:15:55 +0000 (20:15 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Wed, 2 Nov 2011 20:15:55 +0000 (20:15 +0000)
2011-11-02  Tom de Vries  <tom@codesourcery.com>

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

From-SVN: r180793

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pr50769.f90 [new file with mode: 0644]

index 92b5bef129b3599f08aa89764926495dc5ba0dd6..56e9480854975c1f67122c12f06025fa0e9cfe84 100644 (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.
diff --git a/gcc/testsuite/gfortran.dg/pr50769.f90 b/gcc/testsuite/gfortran.dg/pr50769.f90
new file mode 100644 (file)
index 0000000..3a98543
--- /dev/null
@@ -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
+