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.

Reply via email to