It does seem to be a problem for fortran code that “format” is a built in m4 macro.
There are ways around this with m4. The documentation for GNU m4 has a section on it. (url: [https://www.gnu.org/software/m4/manual/m4.html#Inhibiting-Invocation])
For instance, the “format” macro can be redefined. Also, there is a command line option (–prefix-builtins, or -P) that gives all built in macros a prefix of “m4_”. That turns the “format” macro into the “m4_format” macro, and leaves the fortran FORMAT tokens alone.