The macros in xml_routines.f90 use the stringification feature #x of the preprocessor which is not available in the "traditional" cpp mode that the GNU toolchain uses to preprocess code.
This leads to several compilation failures like the following as the # is emitted verbatim into the resulting source file:
xml_routines.f90:96:31:
96 | _NE(general_info)
| 1
Error: Syntax error in argument list at (1)
Manual expansion of the macros that use # (splitting the longer ones into multiple lines due to line lengths) compiles properly.
This is building via EasyBuild and its foss/2021b and intel/2021b toolchains, Intel seems unaffected.