On 07/21/2010 07:32 PM, Jack Howarth wrote:
FAIL: gfortran.dg/gomp/appendix-a/a.22.6.f90 -O (test for excess errors)
Excess errors:
.../testsuite/gfortran.dg/gomp/appendix-a/a.22.6.f90:4:0: sorry,
unimplemented: thread-local COMMON data not implemented
I managed to reproduce this problem reliably. It has to do with the Fortran
front end (indirectly) invoking varpool_finalize_decl much later than the C
front ends do. Without the decls being finalized, the IPA pass doesn't get
to see them and they don't get lowered.
I talked to Richi about this ordering problem on IRC, and changing the
generic ordering of decls vs compilation unit finalization appears to run
into problems with C++ and Java and their aliases. An acceptable solution
appears to be to hack the Fortran front end to do it by hand.