https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91483
--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> --- The error comes from verify_constant, which doesn't explain anything. verify_constant uses reduced_constant_expression_p which just says yes/no but doesn't explain anything. reduced_constant_expression_p uses the middle-end initializer_constant_valid_p but that's not going to say anything, either. Either we need a version of reduced_constant_expression_p that actually says what's wrong, or add a function that, when given an expression that isn't reduced_constant_expression_p, will look for known problematical cases, like the one above.