https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68560
--- Comment #5 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- > I think the problem is that it's actually working. The optional arguments are > removed... When they are not present, the procedure declaration also loses > them. Well, it is not how I read static integer(kind=4) C.3452 = 4; ... D.3451 = &x; D.3453 = &C.3452; _gfortran_shape_4 (&parm.2, D.3451, D.3453); There is a third argument D.3453 and its value is 4 (if it's not the KIND, what is it?).