This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 3/4 v16] Add support for lookup, overload resolution and invocation of xmethods of C++ classes


The attached patch addresses Doug's comments from his last round of
review and changes the var names to xmethod (from debug_method).

On Mon, May 19, 2014 at 5:25 PM, Doug Evans <dje@google.com> wrote:
> Heh.  I'll bet the arch/language arguments are in call_internal_function
> because of python (since that's what is passed to ensure_python_env).
> So now I'm wondering where the python invoke_xmethod support gets its
> gdbarch from.  Have to check the python patch.

In the python patch, I have passed get_current_arch () and
current_language to ensure_python_env. Is this not good enough?

ChangeLog
2014-05-20  Siva Chandra Reddy  <sivachandra@google.com>

        * eval.c (evaluate_subexp_standard): Call the xmethod if the
        best match method returned by find_overload_match is an xmethod.
        * valarith.c (value_x_binop, value_x_unop): Call the xmethod if
        the best matching operator returned by find_overload_match is an
        xmethod.
        * valops.c: #include "extension.h".
        (find_method_list): Add "fn_list" and "xm_worker_vec" arguments.
        Return void.  The list of matching source methods is returned in
        "fn_list" and a vector of matching debug method workers is
        returned in "xm_worker_vec".  Update all callers.
        (value_find_oload_method_list): Likewise.
        (find_oload_champ): Add "xm_worker_vec" parameter.  If it is
        non-NULL, then the index of the best matching method in this
        vector is returned.  Update all callers.
        (find_overload_match): Include xmethods while performing overload
        resolution.
        (value_has_indirect_dynamic_type, cast_args_to_param_types,
        equal_param_types_p, derived_hides_base_method): New functions.

Attachment: xmethod_cpp_support_v16.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]