]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR middle-end/58290 (error: virtual definition of statement not up-to-date)
authorJakub Jelinek <jakub@redhat.com>
Tue, 17 Dec 2013 17:35:59 +0000 (18:35 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 17 Dec 2013 17:35:59 +0000 (18:35 +0100)
PR ipa/58290
* gfortran.dg/pr58290.f90: New test.

From-SVN: r206062

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

index 5b8a37d5093bf3db4968bdc09e9d8ba8bb7267ef..b76e1fc6dbd23388736228690ec1b2cb2b65c6ce 100644 (file)
@@ -1,3 +1,8 @@
+2013-12-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR ipa/58290
+       * gfortran.dg/pr58290.f90: New test.
+
 2013-12-17  Thomas Schwinge  <thomas@codesourcery.com>
 
        * gcc.dg/dfp/wtr-conversion-1.c (testfunc1): Fix typo.
diff --git a/gcc/testsuite/gfortran.dg/pr58290.f90 b/gcc/testsuite/gfortran.dg/pr58290.f90
new file mode 100644 (file)
index 0000000..b19cdde
--- /dev/null
@@ -0,0 +1,33 @@
+! PR ipa/58290
+! { dg-do compile }
+! { dg-options "-O1 -fipa-pta" }
+
+MODULE pr58290
+  TYPE b
+    CHARACTER(10) :: s = ''
+  END TYPE b
+  TYPE c
+    TYPE(b) :: d
+  END TYPE c
+  TYPE h
+    INTEGER, DIMENSION(:), POINTER :: b
+  END TYPE h
+CONTAINS
+  SUBROUTINE foo(x, y)
+    LOGICAL, INTENT(IN) :: x
+    TYPE(c), INTENT(INOUT) :: y
+  END SUBROUTINE 
+  FUNCTION bar (g) RESULT (z)
+    TYPE(h), INTENT(IN) :: g
+    TYPE(c) :: y
+    CALL foo (.TRUE., y)
+    z = SIZE (g%b)
+  END FUNCTION bar
+  SUBROUTINE baz (g)
+    TYPE(h), INTENT(INOUT) :: g
+    INTEGER :: i, j
+    j = bar(g)
+    DO i = 1, j
+    ENDDO
+  END SUBROUTINE baz
+END MODULE