Fix Infinite Stack Recursion Regression.
commitdb3bf8f6efc63e0a88baa4d566885af6079fcf93
authorfjahanian <fjahanian@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 15 Aug 2005 20:38:23 +0000 (15 20:38 +0000)
committerfjahanian <fjahanian@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 15 Aug 2005 20:38:23 +0000 (15 20:38 +0000)
tree9eb1bd6359f4248ee64777e3f0ec9b93df966070
parenteb0bc208de919037e4da09054c89b24642ed1622
Fix Infinite Stack Recursion Regression.
        * cp-tree.h (can_convert_arg, fn_type_unification): New argument.
        * call.c (add_template_candidate_real): Pass down 'flags' to
        fn_type_unification.
        (can_convert_arg): New 'flags' argument. Pass it to call to
        implicit_conversion instead of LOOKUP_NORMAL.
        (can_convert): Add LOOKUP_NORMAL to call to can_convert_arg.
        * class.c (resolve_address_of_overloaded_function): Ditto.
        (resolve_address_of_overloaded_function): Ditto.
        * decl.c (reshape_init, check_default_argument): Ditto.
        * typeck.c (build_ptrmemfunc): Ditto.
        * pt.c (type_unification_real): Add 'flags' argument.
        (fn_type_unification): Pass 'flags' to type_unification_real.
        (type_unification_real): Pass new 'flags' argument to call to
        can_convert_arg.

Oked by Geoff Keating.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103120 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/class.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/pt.c
gcc/cp/typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/template/local6.C [new file with mode: 0644]