annotate gcc/testsuite/gfortran.dg/analyzer/pr88304-2.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 ! Copy of gfortran.fortran-torture/compile/pr88304-2.f90
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
2 ! as a regression test for ICE with -fanalyzer (PR analyzer/93779)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
3
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
4 module pr88304
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
5 implicit none
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
6 integer :: p
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
7 contains
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
8 function foo (x, y, z, w)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
9 integer, intent(in) :: x, y
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
10 character(*), optional, intent(out) :: z
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
11 integer, optional, intent(out) :: w
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
12 integer :: foo
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
13 foo = 1
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
14 end function foo
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
15 subroutine bar ()
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
16 integer :: s
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
17 s = baz (1)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
18 contains
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
19 function baz (u)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
20 integer, intent(in) :: u
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
21 integer :: baz
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
22 integer :: q
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
23 integer :: r (10)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
24 r = 0
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
25 baz = 1
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
26 q = foo (p, r(u), w = baz)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
27 end function baz
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
28 end subroutine bar
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
29 end module pr88304