1! { dg-do run }
2! Tests the fix for PR27269 and PR27xxx.
3! The former caused a segfault in trying to process
4! module b, with an unused equivalence in a. The latter
5! produced an assembler error due to multiple declarations
6! for a module equivalence, when one of the variables was
7! initialized, as M in module a.
8!
9module a
10  integer, parameter :: dp = selected_real_kind (10)
11  real(dp) :: reM, M = 1.77d0
12  equivalence (M, reM)
13end module a
14
15module b
16  use a, only : dp
17end module b
18
19  use a
20  use b
21  if (reM .ne. 1.77d0) call abort ()
22  reM = 0.57d1
23  if (M .ne. 0.57d1) call abort ()
24end
25