Overhaul pointer-to-member conversion and template argument handling.
authorJason Merrill <jason@redhat.com>
Sat, 10 Jun 2017 00:40:44 +0000 (20:40 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Sat, 10 Jun 2017 00:40:44 +0000 (20:40 -0400)
commit8b8b203a26bdac3dede77e76d06e4e7084f79acc
tree17fc780673ab6af72b41232e6ed5191e0b849c1d
parent52486891929862f8272e1c602957f5cb3b5d6e2a
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.

From-SVN: r249088
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