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

--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> ---
IIRC an enum was used for C++98 compat because it doesn't have constexpr and
using an enumerator avoids needing to provide a global definition of that
constant.

It should never _need_ linkage though, because it's only ever used as a
constant expression or via lvalue-to-rvalue conversion. So this seems like a
harmless problem (if it's a problem at all ... shouldn't the enum belong to the
class scope and so be identically defined in every TU?)

We could give the enum a name, but then of course we'd get similar ODR
violations between GCC 16 and earlier versions!

Reply via email to