In a follow-up patch, I have created a GTYed subclass which does not
have any garbage collectible fields, just integers (a "sibling"
subclass does). This leads to gengtype outputting code like this to
gtype-desc.cc:
2722 case CIIK_SIMPLE:
2723 {
2724 cgraph_simple_indirect_info *sub = static_cast <cgraph_simple_indirect_info *> (x);
2725 }
2726 break;
And because in stage2 of our bootstrap we compile the file with -Wall
-Werror, this leads to a bootstrap failure because of
-Werror=unused-variable.
I have briefly looked into building that particular file with
-Wno-error but did not found a simple way to do that, at least not
yet.
So instead this patch generates statement "(void) sub;" after each
such static_assert to avoid the warning in the first place.
gcc/ChangeLog:
2025-10-17 Martin Jambor <mjambor@suse.cz>
* gengtype.cc (walk_subclasses): Avoid generating code with unused
variables.
d->indent += 2;
oprintf (d->of, "%*s%s *sub = static_cast <%s *> (x);\n",
d->indent, "", sub->u.s.tag, sub->u.s.tag);
+ oprintf (d->of, "%*s(void) sub;\n", d->indent, "");
const char *old_val = d->val;
d->val = "(*sub)";
walk_type (sub, d);