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

--- Comment #16 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
So, the powerpc gengtype issue during --disable-checking build with those 2
patches is about whether
  gcc_assert (union_or_struct_p (kind));
in gengtype.cc (new_structure) is present or commented out, if it is present
and expands to [[assume (EXPR)]] then it doesn't work correctly, if it is e.g.
commented out, then it does.  And it doesn't matter which exact compiler is
used to compile that gengtype.o, can be stage1 from --enable-checking=release
or --disable-checking, both behave the same.
union_or_struct_p shouldn't have side-effects, it is
inline bool
union_or_struct_p (enum typekind kind)
{
  return (kind == TYPE_UNION
          || kind == TYPE_STRUCT
          || kind == TYPE_LANG_STRUCT
          || kind == TYPE_USER_STRUCT);
}
The new_structure function is only called with TYPE_UNION (several times) and
once with TYPE_STRUCT, so I suspect some assume related miscompilation.

Reply via email to