1! { dg-do run } 2 3! This test is here to prevent a regression in gfc_conv_intrinsic_loc. 4! Taking the loc of something in a common block was a special case 5! that caused in internal compiler error in gcc/expr.c, in 6! expand_expr_addr_expr_1(). 7program test 8 common /targ/targ 9 integer targ(10) 10 call fn 11end program test 12 13subroutine fn 14 common /targ/targ 15 integer targ(10) 16 call foo (loc (targ)) ! Line that caused ICE 17end subroutine fn 18 19subroutine foo (ii) 20 use iso_c_binding, only: c_intptr_t 21 common /targ/targ 22 integer targ(10) 23 integer(c_intptr_t) ii 24 targ(2) = ii 25end subroutine foo 26 27