https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93733
--- Comment #9 from Thomas Henlich <thenlich at gcc dot gnu.org> --- I think this standard conformity check is only performed at compile-time, and can only work if the format is defined in a constant. So, changing the definition to: character(4), parameter :: fmt="(g0)" character(6), parameter :: fmt2="(g0.2)" when compiled with -std=f95 gives 6 times: Error: Fortran 2008: 'G0' in format at (1)