https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63529
--- Comment #9 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- > Not sure what correct etiquette is for checking on bug status, but this has > been sitting for close to two months now, so I thought I would poke my head > in again. Nasty answer: what did you do to fix it? I RTFM and saw at https://gcc.gnu.org/onlinedocs/gfortran/Cray-pointers.html#Cray-pointers > The pointer is an integer that is intended to hold a memory address. > The pointee may be an array or scalar. A pointee can be an assumed size > array—that is, the last dimension may be left unspecified by using a * > in place of a value—but a pointee cannot be an assumed shape array. > No space is allocated for the pointee. So the test in comment 0 seems valid according the above. So either the POINTER statement is not recorded in the module, or it is recorded, but not used when the module is read. Note that using f77 extensions with f90+ standard features is a *VERY BAD* idea: if one wants to "modernize" a "legacy" f77 code, I think the first step should be to replace all the non-standard extensions with the suitable standard f90+ constructs, then refactor the code to use modules, ... . For this PR, I see three possibilities: (1) Document that cray pointers should not be used in modules for assumed size arrays. That's the easiest. (2) Reject cray pointers used in modules for assumed size arrays. This requires that you find the location to do it, but should not be too difficult. (3) Accept cray pointers used in modules for assumed size arrays, i.e., check that cray pointers are recorded in the module and that the information is properly used when reading the module. This is probably a lot of work, especially if you know very little about the generation and use of *.mod files (it is also quite tricky to change this part of the code). So pick your choice and do the work. Good luck!