Overhaul pointer-to-member conversion and template argument handling.
commit0a8a210857859faae21357bedd45e5f8cd9fe438
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 10 Jun 2017 00:40:44 +0000 (10 00:40 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 10 Jun 2017 00:40:44 +0000 (10 00:40 +0000)
tree17fc780673ab6af72b41232e6ed5191e0b849c1d
parente347fa2d731514a62249f7b4befc6c8003acd095
Overhaul pointer-to-member conversion and template argument handling.

* call.c (standard_conversion): Avoid creating ck_pmem when the
class type is the same.
* cvt.c (can_convert_qual): Split from
perform_qualification_conversions.
* constexpr.c (cxx_eval_constant_expression): Check it.
* typeck.c (convert_ptrmem): Only cplus_expand_constant if
adjustment is necessary.
* pt.c (check_valid_ptrmem_cst_expr): Compare class types.
(convert_nontype_argument): Avoid redundant error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249088 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/constexpr.c
gcc/cp/cp-tree.h
gcc/cp/cvt.c
gcc/cp/pt.c
gcc/cp/typeck.c