Monday, April 09, 2007

gfortran compiler and BLOCK DATA

The gfortran compiler appears to have a known issue with intializing common variables in a BLOCK DATA. This leads to problems in xparse with the XPRSBD block and causes msetup to fail. The workaround is to create a dummy routine which calls XPRSBD and insert a call in any xparse routine that uses variables in the BLOCK DATA. This fixes the problem and xspec v11 builds and runs the session/xspec.xcm script successfully. However, there are other BLOCK DATA in HEAsoft so we need to make similar fixes for them. Note that in Fortran 90 and later code BLOCK DATA is supposed to be replaced by MODULE.

No comments: