1! { dg-do compile }
2! Tests the fix for PRs 18578, 18579 and their repeats 20857 and 20885.
3! Contributed by Paul Thomas  <pault@gcc@gnu.org>
4  real, parameter :: a =42.0
5  real :: b
6  call foo(b + 2.0)    ! { dg-error "variable definition context" }
7  call foo(a)          ! { dg-error "variable definition context" }
8  call bar(b + 2.0)    ! { dg-error "variable definition context" }
9  call bar(a)          ! { dg-error "variable definition context" }
10contains
11  subroutine foo(a)
12    real, intent(out) :: a
13    a = 0.0
14  end subroutine foo
15  subroutine bar(a)
16    real, intent(INout) :: a
17    a = 0.0
18  end subroutine bar
19end
20