Fix PR c++/70610 (wrong overload resolution during template processing)
commit9231d5c2e59de6dee624da919cef6c570e02b798
authorppalka <ppalka@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 13 Apr 2016 00:06:51 +0000 (13 00:06 +0000)
committerppalka <ppalka@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 13 Apr 2016 00:06:51 +0000 (13 00:06 +0000)
tree2c6544cbcec2e437adb45867ccd31332d79effc8
parent77f97946db2be37864798dc0fec5172dd0409272
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234926 138bc75d-0d04-0410-961f-82ee72b054a4
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]