https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88103
--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> --- Possibly unrelated, but PR 67795 is another example where ?: has the wrong value category depending on where it is used (cast vs return). >From my comment in https://gcc.gnu.org/ml/gcc-patches/2013-07/msg00234.html , we were still not implementing the full standard rules after my patch, I don't know if that happened since. Still, I am surprised if my patch caused those errors.