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