https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92831
--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jason Merrill <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:7192b1ec12484f5ca8b20930d8dc4d28ab4a533a commit r10-5987-g7192b1ec12484f5ca8b20930d8dc4d28ab4a533a Author: Jason Merrill <ja...@redhat.com> Date: Wed Jan 15 09:31:11 2020 -0500 PR c++/92871 - bad code with xvalue and GNU ?: extension. I steered Jakub wrong on the desired behavior for temp-extend1.C in the context of bug 92831; it doesn't make sense to try to extend the lifetime of a temporary that we've already materialized to evaluate the test. So this patch munges the stabilized expression so that it won't be subject to lifetime extension. * call.c (prevent_lifetime_extension): New. (build_conditional_expr_1): Use it.