https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128067
Harald Anlauf <anlauf at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |anlauf at gcc dot gnu.org
--- Comment #2 from Harald Anlauf <anlauf at gcc dot gnu.org> ---
(In reply to Harald Anlauf from comment #1)
> Confirmed.
>
> Untested fix:
Better fix (original logic in if seems slightly wrong):
diff --git a/gcc/fortran/module.cc b/gcc/fortran/module.cc
index 70d231dcf6a..634af39659c 100644
--- a/gcc/fortran/module.cc
+++ b/gcc/fortran/module.cc
@@ -5685,7 +5685,9 @@ load_needed (pointer_info *p)
but not used warnings; don't mark internal symbols such as __vtab,
__def_init etc. Only mark them if they have been explicitly loaded. */
- if (only_flag && sym->name[0] != '_' && sym->name[1] != '_')
+ if (only_flag
+ && sym->name[0] != '\0'
+ && !(sym->name[0] == '_' && sym->name[1] == '_'))
{
gfc_use_rename *u;
Regtests OK here.