Commit ef436967 by Adam Butcher Committed by Adam Butcher

Fix 58500.

gcc/cp/
	PR c++/58500
	* type-utils.h (find_type_usage): Only traverse one type level into
	member function pointers.

gcc/testsuite/
	PR c++/58500
	* g++.dg/cpp1y/pr58500.C: New testcase.

From-SVN: r202851
parent 7a9a6e24
2013-09-23 Adam Butcher <adam@jessamine.co.uk>
PR c++/58500
* type-utils.h (find_type_usage): Only traverse one type level into
member function pointers.
2013-09-23 Adam Butcher <adam@jessamine.co.uk>
* parser.c (cp_parser_init_declarator): Defer calling
finish_fully_implicit_template for forward declarations until after
other decl processing is complete. Cleanup for clarity: Extract 'else'
......
......@@ -47,7 +47,7 @@ find_type_usage (tree t, bool (*pred) (const_tree))
if (TYPE_PTRMEMFUNC_P (t))
return find_type_usage
(TREE_TYPE (TREE_TYPE (TYPE_PTRMEMFUNC_FN_TYPE (t))), pred);
(TREE_TYPE (TYPE_PTRMEMFUNC_FN_TYPE (t)), pred);
return NULL_TREE;
}
......
2013-09-23 Adam Butcher <adam@jessamine.co.uk>
PR c++/58500
* g++.dg/cpp1y/pr58500.C: New testcase.
2013-09-23 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/opt28.ad[sb]: New test.
......
// { dg-do compile }
// { dg-options "-std=gnu++1y" }
// PR c++/58500
struct A {};
void foo(auto (A::*)());
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment