https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100734

--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #6)
> (In reply to Richard Biener from comment #3)
> > Possibly a dup of PR100727?
> 
> I think it is unrelated.
> 
> The problem is the fix for PR 100619, sets the attributes to be "+" but the
> code in attribs.c, skip over the '+' but does not check if it is the end of
> the string:

This patch might fix the ICE (sorry for the tab to spaces):
diff --git a/gcc/attribs.c b/gcc/attribs.c
index ebc0783c439..4adbe9fed5e 100644
--- a/gcc/attribs.c
+++ b/gcc/attribs.c
@@ -2140,7 +2140,10 @@ init_attr_rdwr_indices (rdwr_map *rwm, tree attrs)

          /* Skip the internal-only plus sign.  */
          if (*m == '+')
-           ++m;
+           {
+             ++m;
+             continue;
+           }

          acc.str = m;
          acc.mode = acc.from_mode_char (*m);

Reply via email to