1! { dg-do compile }
2! Fix for PR21730 - declarations used to produce the error:
3!   target        :: x                ! these 2 lines interchanged
4!                    1
5! Error: Cannot change attributes of symbol at (1) after it has been used.
6!
7! Contributed by Harald Anlauf <anlauf@gmx.de>
8!
9subroutine gfcbug27 (x)
10  real, intent(inout) :: x(:)
11
12  real          :: tmp(size (x,1))  ! gfc produces an error unless
13  target        :: x                ! these 2 lines interchanged
14  real, pointer :: p(:)
15
16  p => x(:)
17end subroutine gfcbug27
18