While there are many unimplemented features, this one is special because it prevents compiling a SPEC2000 benchmark (facerec). % cat foo.f90 PROGRAM INTEGER :: X = 123 INTEGER :: Y EQUIVALENCE (X,Y) PRINT *, X END PROGRAM % gfortran foo.f90 foo.f90: In function `MAIN__': foo.f90:6: fatal error: gfc_todo: Not Implemented: initial values for COMMON or EQUIVALENCE compilation terminated.
Already known, confirmed.
Patch here: <http://gcc.gnu.org/ml/gcc-patches/2004-05/msg00219.html>.
Subject: Bug 13742 CVSROOT: /cvs/gcc Module name: gcc Changes by: tobi@gcc.gnu.org 2004-05-15 20:29:07 Modified files: gcc/fortran : ChangeLog decl.c match.c Log message: PR fortran/13742 * decl.c (add_init_expr_to_sym): Verify that COMMON variable is not initialized in a disallowed fashion. * match.c (gfc_match_common): Likewise. (var_element): Verify that variable is not in the blank COMMON, if it is in a common. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/ChangeLog.diff?cvsroot=gcc&r1=1.21&r2=1.22 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/decl.c.diff?cvsroot=gcc&r1=1.5&r2=1.6 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/match.c.diff?cvsroot=gcc&r1=1.7&r2=1.8
Fixed, although some more complicated cases are still not implemented.