r274550 - in /trunk/gcc: cp/ChangeLog cp/tree.c...

jason@gcc.gnu.org jason@gcc.gnu.org
Thu Aug 15 21:55:00 GMT 2019


Author: jason
Date: Thu Aug 15 21:55:19 2019
New Revision: 274550

URL: https://gcc.gnu.org/viewcvs?rev=274550&root=gcc&view=rev
Log:
	PR c++/90393 - ICE with thow in ?:

My previous patch for 64372 was incomplete: it only stopped making the
non-throw argument into an rvalue, lvalue_kind still considered the ?:
expression to be an rvalue, leaving us worse than before.

	PR c++/64372, DR 1560 - Gratuitous lvalue-to-rvalue conversion in ?:
	* tree.c (lvalue_kind): Handle throw in one arm.
	* typeck.c (rationalize_conditional_expr): Likewise.
	(cp_build_modify_expr): Likewise.

Added:
    trunk/gcc/testsuite/g++.dg/expr/cond15.C
    trunk/gcc/testsuite/g++.dg/expr/cond16.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/tree.c
    trunk/gcc/cp/typeck.c
    trunk/gcc/testsuite/g++.dg/abi/mangle53.C
    trunk/gcc/testsuite/g++.old-deja/g++.eh/cond1.C
    trunk/gcc/testsuite/g++.old-deja/g++.other/cond5.C



More information about the Gcc-cvs mailing list