1! Tests -fget-definition returning source position of symbol definition. 2module m1 3 private :: f 4contains 5 pure subroutine s (x, yyy) bind(c) 6 intent(in) :: x 7 intent(inout) :: yyy 8 contains 9 pure subroutine ss 10 end subroutine 11 end subroutine 12 recursive pure function f() result(x) 13 real, allocatable :: x 14 x = 1.0 15 end function 16end module 17 18! RUN and CHECK lines at the bottom as this test is sensitive to line numbers 19! RUN: %f18 -fget-definition 6 17 18 -fparse-only %s | FileCheck --check-prefix=CHECK1 %s 20! RUN: %f18 -fget-definition 7 20 23 -fparse-only %s | FileCheck --check-prefix=CHECK2 %s 21! RUN: %f18 -fget-definition 14 3 4 -fparse-only %s | FileCheck --check-prefix=CHECK3 %s 22! CHECK1: x:{{.*}}getdefinition01.f90, 5, 21-22 23! CHECK2: yyy:{{.*}}getdefinition01.f90, 5, 24-27 24! CHECK3: x:{{.*}}getdefinition01.f90, 13, 24-25 25 26! RUN: not %f18 -fget-definition -fparse-only %s 2>&1 | FileCheck --check-prefix=CHECK-ERROR %s 27! CHECK-ERROR: Invalid argument to -fget-definitions 28