Implement class scope using-declarations for functions.
authorJason Merrill <jason@casey.cygnus.com>
Sun, 27 Feb 2000 06:54:04 +0000 (06:54 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Sun, 27 Feb 2000 06:54:04 +0000 (01:54 -0500)
commitaa52c1ffad50ffe721a19a816f474c56958b1d3a
treec1ebb4b0526c7af728ba50f410f9d903a12a083e
parent0172e2bc87664db2dead8bd8e4157a3343bce72e
Implement class scope using-declarations for functions.

        * class.c (handle_using_decl): Call add_method for used functions.
        Use IDENTIFIER_CLASS_VALUE to check for conflicts.
        (add_method): Used functions are hidden by local functions.
        (check_bases_and_members): Handle using-decls before finalizing
        CLASSTYPE_METHOD_VEC.
        * call.c (add_function_candidate): Add ctype parm; if non-zero,
        override the type of 'this' accordingly.
        (add_template_candidate, add_template_candidate_real): Add ctype parm.
        (convert_class_to_reference, build_user_type_conversion_1,
        build_new_function_call, build_object_call, build_new_op,
        build_new_method_call): Pass ctype parm.

        * search.c (lookup_member): Put rval_binfo, not basetype_path, in
        the baselink.
        * call.c (convert_class_to_reference, build_user_type_conversion_1,
        build_new_function_call, build_object_call, build_new_op,
        build_new_method_call, build_op_delete_call): Don't get basetype_path
        from a baselink.
        * typeck.c (build_component_ref): Likewise.
        * init.c (build_offset_ref): Likewise.
        (resolve_offset_ref): Don't call enforce_access.
        Call build_scoped_ref.
        * typeck2.c (build_scoped_ref): Simplify.  Do nothing if it
        would cause an error or if -pedantic.
        * class.c (alter_access): Lose binfo parm.

From-SVN: r32212
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/class.c
gcc/cp/cvt.c
gcc/cp/init.c
gcc/cp/search.c
gcc/cp/typeck.c
gcc/cp/typeck2.c