Gives an ICE down to at least 4.8 : $ cat z1.f90 module m real :: a(2), b(2) real :: c(2), d(2) equivalence (a, b) equivalence (c, d) common /xcom/ a end block data use m end block data $ gfortran-7-20161106 -c z1.f90 z1.f90:10:0: end block data internal compiler error: Segmentation fault 0xc3a64f crash_signal ../../gcc/toplev.c:338 0x747490 finish_equivalences ../../gcc/fortran/trans-common.c:1246 0x747490 gfc_trans_common(gfc_namespace*) ../../gcc/fortran/trans-common.c:1289 0x74d1b0 gfc_generate_block_data(gfc_namespace*) ../../gcc/fortran/trans-decl.c:6524 0x6e2133 gfc_parse_file() ../../gcc/fortran/parse.c:6102 0x725822 gfc_be_parse_file ../../gcc/fortran/f95-lang.c:198
Compiles with both items in common block. $ cat z2.f90 module m real :: a(2), b(2) real :: c(2), d(2) equivalence (a, b) equivalence (c, d) common /xcom/ a, c end block data use m end block data
Confirmed from 4.8 up to trunk (7.0).
Author: kargl Date: Wed Nov 23 21:44:05 2016 New Revision: 242802 URL: https://gcc.gnu.org/viewcvs?rev=242802&root=gcc&view=rev Log: 2016-11-23 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/78297 * trans-common.c (finish_equivalences): Do not dereference a NULL pointer. 2016-11-23 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/78297 * gfortran.dg/pr78297.f90: New test. Added: trunk/gcc/testsuite/gfortran.dg/pr78297.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/trans-common.c trunk/gcc/testsuite/ChangeLog
Author: kargl Date: Wed Nov 23 22:16:53 2016 New Revision: 242806 URL: https://gcc.gnu.org/viewcvs?rev=242806&root=gcc&view=rev Log: 2016-11-23 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/78297 * trans-common.c (finish_equivalences): Do not dereference a NULL pointer. 2016-11-23 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/78297 * gfortran.dg/pr78297.f90: New test. Added: branches/gcc-6-branch/gcc/testsuite/gfortran.dg/pr78297.f90 Modified: branches/gcc-6-branch/gcc/fortran/ChangeLog branches/gcc-6-branch/gcc/fortran/trans-common.c branches/gcc-6-branch/gcc/testsuite/ChangeLog
Author: kargl Date: Wed Nov 23 22:48:54 2016 New Revision: 242811 URL: https://gcc.gnu.org/viewcvs?rev=242811&root=gcc&view=rev Log: 2016-11-23 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/78297 * trans-common.c (finish_equivalences): Do not dereference a NULL pointer. 2016-11-23 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/78297 * gfortran.dg/pr78297.f90: New test. Added: branches/gcc-5-branch/gcc/testsuite/gfortran.dg/pr78297.f90 Modified: branches/gcc-5-branch/gcc/fortran/ChangeLog branches/gcc-5-branch/gcc/fortran/trans-common.c branches/gcc-5-branch/gcc/testsuite/ChangeLog
Fixed on 5-branch, 6-branch, and trunk.