https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107266
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> --- Better example: character(kind=4) function f(x) bind(C) character(kind=4), value :: x end Has the dump: __attribute__((fn spec (". w "))) character(kind=1) f (character(kind=1) x) { (void) 0; } Note the change to kind=1