* c-exp.y: Add new rule for resolving method overloads.
authorKeith Seitz <keiths@redhat.com>
Tue, 10 Nov 2009 22:17:58 +0000 (22:17 +0000)
committerKeith Seitz <keiths@redhat.com>
Tue, 10 Nov 2009 22:17:58 +0000 (22:17 +0000)
commit072bba3b0f3e2ee8d2cfc94e256d0f0ebc627afc
tree85866ec9e0e9094885d8fd85f03e0bb96bbab06c
parent85feb311d32bf996c4da799a89be375b31d1b3e7
* c-exp.y: Add new rule for resolving method overloads.
* eval.c (make_params): New function.
(free_param_types): New function.
(evaluate_subexp_standard): Pass expect_type to value_aggregate_elt.
Handle case TYPE_INSTANCE.
(evaluate_subexp_for_address): Pass expect_type to value_aggregate_elt.
* expression.h (enum exp_opcode): Add TYPE_INSTANCE.
(compare_parameters): Add declaration.
* parse.c (operator_length_standard): Add TYPE_INSTANCE.
* valops.c (value_aggregate_elt): Add new expect_type parameter.
Pass expect_type to value_struct_elt_for_reference.
(value_struct_elt_for_reference): Add expect_type parameter and use
compare_parameters.
Check for overload matches with and without artificial parameters.
Skip artificial methods.
(compare_parameters): New function.
* value.h (value_aggregate_elt): Add new expect_type parameter.
gdb/ChangeLog
gdb/c-exp.y
gdb/eval.c
gdb/expression.h
gdb/parse.c
gdb/valops.c
gdb/value.h