Hello all,
If this doesn't help, then you may have to change the source file, e.g. breaking it into several pieces that are "easier" on the compiler. You may also have to break large function in these pieces into several smaller functions, allowing you to generate even more pieces.
This would be a good thing to do in any case. Those routines in GRHydro instantiate many C++ templates for the different cases. Overall compilation speed probably improves if one makes one tiny C++ file per instantiation. The instantiation happens in these lines:
INSTANTIATE_RECONSTRUCTION_OPERATOR(GRHydro_WENOReconstruct1d_cxx00) INSTANTIATE_RECONSTRUCTION_OPERATOR(GRHydro_WENOReconstruct1d_cxx01) INSTANTIATE_RECONSTRUCTION_OPERATOR(GRHydro_WENOReconstruct1d_cxx10) INSTANTIATE_RECONSTRUCTION_OPERATOR(GRHydro_WENOReconstruct1d_cxx11)
*each* of which (in the macro INSTANTIATE_RECONSTRUCTION_OPERATOR) instantiates 12 copies of the given routine. The macro is defined in GRHydro_Reconstruct_drv_cxx.hh .
Yours, Roland