https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69960
--- Comment #8 from Marek Polacek <mpolacek at gcc dot gnu.org> --- I don't think it is forbidden. The C standard allows some latitude for constant expressions in initializers, so I think we could accept code as in Comment 5, i.e. evaluate it to an arithmetic constant expression.