https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113165
--- Comment #2 from kargl at gcc dot gnu.org --- With the attached example code and the patch at the end of this message, gfortran can be changes to identify both lines of code. Fixing the run-on errors when -fimplicit-none is used is left as an exercise for a new contributor or will be ignored until such time as someone closes this bug report. % gfcx -c e.f90 e.f90:3:30: 3 | double precision a,b,c,d,f,g | 1 4 | integer i,j,k,l 5 | double precision d,q,r ! 'd' was already declared as double prec. | 2 Error: Symbol ādā declared at (1) already has basic type of REAL and cannot appear in the declaration at (2) diff --git a/gcc/fortran/symbol.cc b/gcc/fortran/symbol.cc index a6078bc608a..7fa1839323b 100644 --- a/gcc/fortran/symbol.cc +++ b/gcc/fortran/symbol.cc @@ -2015,8 +2015,9 @@ gfc_add_type (gfc_symbol *sym, gfc_typespec *ts, locus *where) gfc_error ("Symbol %qs at %L already has basic type of %s", sym->ns->proc_name->name, where, gfc_basic_typename (type)); else - gfc_error ("Symbol %qs at %L already has basic type of %s", sym->name, - where, gfc_basic_typename (type)); + gfc_error ("Symbol %qs declared at %L already has basic type of %s " + "and cannot appear in the declaration at %L", sym->name, + &sym->declared_at, gfc_basic_typename (type), where); return false; }