1! { dg-do compile }
2! { dg-options "-O3 -fwhole-file -fdump-tree-optimized" }
3! { dg-add-options bind_pic_locally }
4!
5! Check that inlining of functions declared AFTER usage works.
6! If yes, then the dump does not contain a call to F().
7!
8
9PROGRAM main
10  INTEGER :: a(3), f
11  a = f()
12  print *, a
13END PROGRAM
14
15INTEGER FUNCTION f()
16  f = 42
17END FUNCTION
18
19! { dg-final { scan-tree-dump-times "= f \\(\\)" 0 "optimized" } }
20! { dg-final { cleanup-tree-dump "optimized" } }
21