2018-06-22 Paul Thomas <pault@gcc.gnu.org>
[official-gcc.git] / gcc / testsuite / gfortran.dg / assumed_charlen_function_7.f90
blob1fb57a0b7ae79c95b6a392825500d32c042feaa6
1 ! { dg-do compile }
2 ! { dg-options "-std=legacy" }
4 ! Test the fix for PR49630, comment #11.
6 ! Contributed by Vittorio Zecca <zeccav@gmail.com>
8 module abc
9 implicit none
10 type,abstract::abc_abstract
11 contains
12 procedure(abc_interface),deferred::abc_function
13 end type abc_abstract
14 type,extends(abc_abstract)::abc_type
15 contains
16 procedure::abc_function
17 end type abc_type
18 abstract interface
19 function abc_interface(this) ! { dg-error "assumed character length result" }
20 import abc_abstract
21 class(abc_abstract),intent(in)::this
22 character(len=*)::abc_interface
23 end function abc_interface
24 end interface
25 contains
26 function abc_function(this)
27 class(abc_type),intent(in)::this
28 character(len=5)::abc_function
29 abc_function="hello"
30 end function abc_function
31 subroutine do_something(this)
32 class(abc_abstract),intent(in)::this
33 print *,this%abc_function()
34 end subroutine do_something
35 end module abc