This work by @Arjen might be of help:
Also, if you work with gfortran, you can play by switching on/off this option -std=legacy
. When using it you will be able to compile your old codes, when turning it off, you’ll have a bunch of compile-time errors, It does help to catch certain things.
As @alirezagh76 suggested, Isolating a copy with fpm to play around is certainly a very good idea!! I did that once to modernize a library and it did help. The test base is definitely the most important part.