diff options
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/pt.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/ptrmem4.C | 20 |
4 files changed, 32 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 4589a91..5c947c3 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2003-01-31 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + PR c++/8849 + * pt.c (resolve_overloaded_unification): Handle FUNCTION_DECL. + 2003-01-31 Nathan Sidwell <nathan@codesourcery.com> * cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index dc2a9e2..e3e0211 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -8910,7 +8910,8 @@ resolve_overloaded_unification (tparms, targs, parm, arg, strict, } } } - else if (TREE_CODE (arg) == OVERLOAD) + else if (TREE_CODE (arg) == OVERLOAD + || TREE_CODE (arg) == FUNCTION_DECL) { for (; arg; arg = OVL_NEXT (arg)) { diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8704a8d..87a814f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2003-01-31 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> + + PR c++/8849 + * g++.dg/template/ptrmem4.C: New test. + 2003-01-29 Mark Mitchell <mark@codesourcery.com> * g++.dg/parser/constant1.C: New test. diff --git a/gcc/testsuite/g++.dg/template/ptrmem4.C b/gcc/testsuite/g++.dg/template/ptrmem4.C new file mode 100644 index 0000000..2310728 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/ptrmem4.C @@ -0,0 +1,20 @@ +// { dg-do compile } + +// Origin: Scott Snyder <snyder@fnal.gov> + +// PR c++/8849 +// Pointer to member function template argument deduction ICE. + + +template <class CONT> void queryAliases(CONT& fill_me); // { dg-error "argument" } + +struct SpyExample +{ + void ready(); + void inputs(); +}; + +void SpyExample::ready() +{ + queryAliases(inputs); // { dg-error "convert" } +} |