https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116682
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ppalka at gcc dot gnu.org
--- Comment #11 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Seems there's another bug, unrelated to local enums. If we replace the
problematic local enum:
@@ -67341,7 +67341,7 @@ public:
ZuUnroll::all<WrRefs::N>([this, &o, &ok](auto I) {
if (!ok) return;
using Field = ZuType<I, Fields>;
- enum { NDP = GetNDP<Field>{} };
+ static constexpr int NDP = GetNDP<Field>{};
if constexpr (Field::Code == Float)
ok = ok && m_wrRefs.template p<I>()->write(Field::get(o));
else if constexpr (Field::Code == Fixed)
then we instead ICE from expand_expr_real_1.