Test and support all cpp operator types.
authorSami Wagiaalla <swagiaal@redhat.com>
Mon, 7 Jun 2010 16:11:35 +0000 (16:11 +0000)
committerSami Wagiaalla <swagiaal@redhat.com>
Mon, 7 Jun 2010 16:11:35 +0000 (16:11 +0000)
commit4c3376c84943b8102da4237141dab7f1595912ca
treefc4936a3a61d60b2a60379e534e7081099969bb2
parent0f32ea4ce3309801590068305e7c8d7aeb495f2f
Test and support all cpp operator types.

2010-06-07  Sami Wagiaalla  <swagiaal@redhat.com>

* value.h: Created oload_search_type enum.
(find_overload_match): Use oload_search_type enum.
* valops.c (find_overload_match): Support combined member and
non-member search.
* eval.c (evaluate_subexp_standard): Calls to
find_overload_match now use oload_search_type enum.
(oload_method_static): Verify index is a proper value.
* valarith.c (value_user_defined_cpp_op): Search for and handle
both member and non-member operators.
(value_user_defined_cpp_op): New function.
(value_user_defined_op): New function.
(value_x_unop): Use value_user_defined_op.
(value_x_binop): Ditto.
* cp-support.c (make_symbol_overload_list_using): Added block
iteration.
Add check for namespace aliases and imported declarations.

2010-06-07  Sami Wagiaalla  <swagiaal@redhat.com>

* gdb.cp/koenig.exp: Test for ADL operators.
* gdb.cp/koenig.cc: Added ADL operators.
* gdb.cp/operator.exp: New test.
* gdb.cp/operator.cc: New test.
gdb/ChangeLog
gdb/cp-support.c
gdb/eval.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.cp/koenig.cc
gdb/testsuite/gdb.cp/koenig.exp
gdb/testsuite/gdb.cp/operator.cc [new file with mode: 0644]
gdb/testsuite/gdb.cp/operator.exp [new file with mode: 0644]
gdb/valarith.c
gdb/valops.c
gdb/value.h