annotate gcc/testsuite/gfortran.dg/dtio_35.f90 @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
152
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
1 ! { dg-compile }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
2 !
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
3 ! Reported by Vladimir Nikishkin
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
4 ! at https://stackoverflow.com/questions/60972134/whats-wrong-with-the-following-fortran-code-gfortran-dtio-dummy-argument-at#
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
5 !
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
6
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
7 module scheme
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
8
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
9 type, abstract :: scheme_object
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
10 contains
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
11 procedure, pass :: generic_scheme_print => print_scheme_object
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
12 generic, public :: write (formatted) => generic_scheme_print
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
13 end type scheme_object
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
14
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
15 abstract interface
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
16 subroutine packageable_procedure( )
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
17 import scheme_object
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
18 end subroutine packageable_procedure
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
19 end interface
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
20 contains
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
21
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
22 subroutine print_scheme_object(this, unit, iotype, v_list, iostat, iomsg)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
23 class(scheme_object), intent(in) :: this
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
24 integer, intent(in) :: unit
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
25 character(*), intent(in) :: iotype
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
26 integer, intent(in) :: v_list (:)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
27 integer, intent(out) :: iostat
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
28 character(*), intent(inout) :: iomsg
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
29 iostat = 1
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
30 end subroutine print_scheme_object
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
31
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
32 subroutine packaged_cons( )
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
33 end subroutine packaged_cons
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
34
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
35 function make_primitive_procedure_object( proc1 ) result( retval )
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
36 class(scheme_object), pointer :: retval
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
37 procedure(packageable_procedure), pointer :: proc1
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
38 end function make_primitive_procedure_object
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
39
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
40 subroutine ll_setup_global_environment()
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
41 procedure(packageable_procedure), pointer :: proc1
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
42 class(scheme_object), pointer :: proc_obj_to_pack
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
43 proc1 => packaged_cons
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
44 proc_obj_to_pack => make_primitive_procedure_object( proc1 )
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
45 end subroutine ll_setup_global_environment
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
46
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
47 end module scheme
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
48
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
49 program main
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
50 end program main