mirror of git://gcc.gnu.org/git/gcc.git
PR c++/85545 - ICE with noexcept PMF conversion.
* cvt.c (cp_fold_convert): Handle PMF CONSTRUCTORs directly. From-SVN: r259689
This commit is contained in:
parent
e94497fbc0
commit
128d29a52f
|
|
@ -1,3 +1,8 @@
|
|||
2018-04-26 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/85545 - ICE with noexcept PMF conversion.
|
||||
* cvt.c (cp_fold_convert): Handle PMF CONSTRUCTORs directly.
|
||||
|
||||
2018-04-25 Nathan Sidwell <nathan@acm.org>
|
||||
|
||||
PR c++/85437
|
||||
|
|
|
|||
|
|
@ -601,7 +601,9 @@ cp_fold_convert (tree type, tree expr)
|
|||
tree conv;
|
||||
if (TREE_TYPE (expr) == type)
|
||||
conv = expr;
|
||||
else if (TREE_CODE (expr) == PTRMEM_CST)
|
||||
else if (TREE_CODE (expr) == PTRMEM_CST
|
||||
|| (TREE_CODE (expr) == CONSTRUCTOR
|
||||
&& TYPE_PTRMEMFUNC_P (type)))
|
||||
{
|
||||
/* Avoid wrapping a PTRMEM_CST in NOP_EXPR. */
|
||||
conv = copy_node (expr);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
// PR c++/85545
|
||||
// { dg-do compile { target c++11 } }
|
||||
|
||||
struct A
|
||||
{
|
||||
void foo() noexcept;
|
||||
};
|
||||
|
||||
template<typename T> void bar(T);
|
||||
|
||||
void baz()
|
||||
{
|
||||
bar(static_cast<void(A::*)()>(&A::foo));
|
||||
}
|
||||
Loading…
Reference in New Issue