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;
}