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

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900 (2017-10-27)
parents
children 84e7813d76e9
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/gfortran.dg/result_in_spec_2.f90	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,30 @@
+! { dg-do run }
+! Tests the fix for PR32047, in which the null agument
+! function for the character length would cause an ICE.
+!
+! Contributed by Tobias Burnus <burnus@gcc.gnu.org >
+!
+module test1
+  implicit none
+contains
+  character(f()) function test2() result(r)
+    interface
+      pure function f()
+        integer f
+      end function f
+    end interface
+    r = '123'
+  end function test2
+end module test1
+
+pure function f()
+  integer :: f
+  f = 3
+end function f
+
+program test
+  use test1
+  implicit none
+  if(len (test2()) /= 3) call abort ()
+  if(test2() /= '123') call abort ()
+end program test