1function test1(n)
2  integer  :: n
3  character(n) :: test1
4  character(n) :: bar1
5  test1 = ""
6  return
7entry bar1()
8  bar1 = ""
9end function test1
10
11function test2()
12  character(1) :: test2
13  character(1) :: bar2
14  test2 = ""
15  return
16entry bar2()
17  bar2 = ""
18end function test2
19
20function test3() ! { dg-warning "Obsolescent feature" }
21  character(*) :: test3
22  character(*) :: bar3 ! { dg-warning "Obsolescent feature" }
23  test3 = ""
24  return
25entry bar3()
26  bar3 = ""
27end function test3
28
29function test4(n) ! { dg-warning "returning variables of different string lengths" }
30  integer  :: n
31  character(n) :: test4
32  character(*) :: bar4 ! { dg-warning "Obsolescent feature" }
33  test4 = ""
34  return
35entry bar4()
36  bar4 = ""
37end function test4
38
39function test5() ! { dg-warning "returning variables of different string lengths" }
40  character(1) :: test5
41  character(2) :: bar5
42  test5 = ""
43  return
44entry bar5()
45  bar5 = ""
46end function test5
47
48function test6() ! { dg-warning "Obsolescent feature|returning variables of different string lengths" }
49  character(*) :: test6
50  character(2) :: bar6
51  test6 = ""
52  return
53entry bar6()
54  bar6 = ""
55end function test6
56