https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88871
--- Comment #2 from Jürgen Reuter <juergen.reuter at desy dot de> --- Here is a more minimal example: SUBROUTINE MNREAD(IFLGIN,IFLGUT) IMPLICIT DOUBLE PRECISION (A-H,O-Z) PARAMETER (MNE=100 , MNI=50) PARAMETER (MNIHL=MNI*(MNI+1)/2) CHARACTER*10 CPNAM COMMON 1/MN7NAM/ CPNAM(MNE) 2/MN7EXT/ U(MNE) CHARACTER CRDBUF*80, CUPBUF*10 CUPBUF(1:10) = CRDBUF(1:10) RETURN END or also to completely implicit typing SUBROUTINE MNREAD(IFLGIN,IFLGUT) PARAMETER (MNE=100 , MNI=50) PARAMETER (MNIHL=MNI*(MNI+1)/2) CHARACTER*10 CPNAM COMMON 1/MN7NAM/ CPNAM(MNE) 2/MN7EXT/ U(MNE) CHARACTER CRDBUF*80, CUPBUF*10 CUPBUF(1:10) = CRDBUF(1:10) RETURN END