Please ignore my last posting! I misread the Fortran as: SUBROUTINE a( b ) COMMON/com1/n REAL b( n ) Which IS legal but still causes trouble with many compilers (and degrades optimisation). The example given in the first posting is strongly illegal. Nick Maclaren University of Cambridge Computing Service