Fix PR c++/70610 (wrong overload resolution during template processing)
authorPatrick Palka <ppalka@gcc.gnu.org>
Wed, 13 Apr 2016 00:06:51 +0000 (00:06 +0000)
committerPatrick Palka <ppalka@gcc.gnu.org>
Wed, 13 Apr 2016 00:06:51 +0000 (00:06 +0000)
commit92886d3e86cb7b2f83cfc9724cb527ab8032aed8
tree2c6544cbcec2e437adb45867ccd31332d79effc8
parentd90936ff88545c9312a0137725a9b1ab0919ad48
Fix PR c++/70610 (wrong overload resolution during template processing)

gcc/cp/ChangeLog:

PR c++/70610
* tree.c (lvalue_kind) [NON_DEPENDENT_EXPR]: Unconditionally
recurse into it.
* typeck.c (build_x_conditional_expr): Unconditionally remember
that the result is an lvalue or xvalue.

gcc/testsuite/ChangeLog:

PR c++/70610
* g++.dg/template/pr70610.C: New test.
* g++.dg/template/pr70610-2.C: New test.
* g++.dg/template/pr70610-3.C: New test.
* g++.dg/template/pr70610-4.C: New test.

From-SVN: r234926
gcc/cp/ChangeLog
gcc/cp/tree.c
gcc/cp/typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/template/pr70610-2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/pr70610-3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/pr70610-4.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/pr70610.C [new file with mode: 0644]