[Bug fortran/104626] ICE in gfc_format_decoder, at fortran/error.cc:1071
kargl at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Feb 21 23:17:41 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104626
kargl at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P4
Status|UNCONFIRMED |NEW
CC| |kargl at gcc dot gnu.org
Last reconfirmed| |2022-02-21
Ever confirmed|0 |1
--- Comment #1 from kargl at gcc dot gnu.org ---
NULL pointer deference. While here, fix formatting.
diff --git a/gcc/fortran/symbol.cc b/gcc/fortran/symbol.cc
index 7a80dfd063b..a1580708f89 100644
--- a/gcc/fortran/symbol.cc
+++ b/gcc/fortran/symbol.cc
@@ -1299,9 +1299,8 @@ gfc_add_save (symbol_attribute *attr, save_state s, const
char *name,
if (s == SAVE_EXPLICIT && gfc_pure (NULL))
{
- gfc_error
- ("SAVE attribute at %L cannot be specified in a PURE procedure",
- where);
+ gfc_error ("SAVE attribute at %L cannot be specified in a PURE "
+ "procedure", where);
return false;
}
@@ -1311,10 +1310,15 @@ gfc_add_save (symbol_attribute *attr, save_state s,
const char *name,
if (s == SAVE_EXPLICIT && attr->save == SAVE_EXPLICIT
&& (flag_automatic || pedantic))
{
- if (!gfc_notify_std (GFC_STD_LEGACY,
- "Duplicate SAVE attribute specified at %L",
- where))
+ if (!where)
+ {
+ gfc_error ("Duplicate SAVE attribute specified near %C");
return false;
+ }
+
+ if (!gfc_notify_std (GFC_STD_LEGACY, "Duplicate SAVE attribute "
+ "specified at %L", where))
+ return false;
}
attr->save = s;
More information about the Gcc-bugs
mailing list