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 v12 3/4] Add support for lookup, overload resolution and invocation of C++ debug methods


This part uses the debug method extension language API to lookup,
perform overload resolution, and invoke debug methods of C++ classes.

Doug had a comment about a call to invoke_debug_method:

Siva> +    ret_val = invoke_debug_method (dm_worker, arg2, argvec + 2,
Siva> +                                                     nargs - 1);

Doug> Can invoke_debug_method throw an error?
Doug> [One could use a cleanup to free dm_worker, regardless.]

Yes, invoke_debug_method can throw an error.  You are probably
pointing out a memory leak here when an error is thrown.  While I did
not address this possibility, how would a cleanup help here?

2014-04-01  Siva Chandra Reddy  <sivachandra@google.com>

        * eval.c (evaluate_subexp_standard): Lookup and invoke methods
        defined in extension languages.
        * valarith.c (value_x_binop, value_x_unop): Lookup and invoke
        overloaded operator methods defined in extension languages.
        * valops.c (find_oload_method_list, find_method_list,
        find_overload_match, find_oload_champ): Lookup methods defined
        in extension languages.
        (value_has_indirect_dynamic_type): New function to determine
        the indirect dynamic type of a value.
        * value.h (find_overload_match): Update signature.

Attachment: dm_cpp_v12.txt
Description: Text document


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