diff gcc/testsuite/gfortran.dg/interface_abstract_4.f90 @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900 (2017-10-27)
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/gfortran.dg/interface_abstract_4.f90	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,35 @@
+! { dg-do compile }
+!
+! PR 41873: Bogus Error: ABSTRACT INTERFACE must not be referenced...
+!
+! Contributed by Harald Anlauf <anlauf@gmx.de>
+
+  implicit none
+
+  type, abstract :: abstype
+  contains
+    procedure(f), nopass, deferred :: f_bound
+    procedure(s), nopass, deferred :: s_bound
+  end type
+
+  abstract interface
+    real function f ()
+    end function
+  end interface
+
+  abstract interface
+    subroutine s
+    end subroutine
+  end interface
+
+contains
+
+  subroutine cg (c)
+    class(abstype) :: c
+    print *, f()             ! { dg-error "must not be referenced" }
+    call s                   ! { dg-error "must not be referenced" }
+    print *, c%f_bound ()
+    call c%s_bound ()
+  end subroutine
+
+end