https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91705
--- Comment #7 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Stuff like (int *) 4 is invalid in constexpr, but that's what OFFSET can be. Comes from 6442 inc = cp_convert (argtype, inc, complain); in cp_build_unary_op. E.g., int array[4]; constexpr int *foo (int *p) { return ++p; } constexpr int *p = foo(array);