aboutsummaryrefslogtreecommitdiff
path: root/gdb/value.h
diff options
context:
space:
mode:
authorSami Wagiaalla <swagiaal@redhat.com>2010-06-07 16:11:35 +0000
committerSami Wagiaalla <swagiaal@redhat.com>2010-06-07 16:11:35 +0000
commit4c3376c84943b8102da4237141dab7f1595912ca (patch)
treefc4936a3a61d60b2a60379e534e7081099969bb2 /gdb/value.h
parent0f32ea4ce3309801590068305e7c8d7aeb495f2f (diff)
downloadgdb-4c3376c84943b8102da4237141dab7f1595912ca.zip
gdb-4c3376c84943b8102da4237141dab7f1595912ca.tar.gz
gdb-4c3376c84943b8102da4237141dab7f1595912ca.tar.bz2
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.
Diffstat (limited to 'gdb/value.h')
-rw-r--r--gdb/value.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/gdb/value.h b/gdb/value.h
index 57b4dd7..7f71dc4 100644
--- a/gdb/value.h
+++ b/gdb/value.h
@@ -447,8 +447,11 @@ extern struct fn_field *value_find_oload_method_list (struct value **,
int, int *,
struct type **, int *);
+enum oload_search_type { NON_METHOD, METHOD, BOTH };
+
extern int find_overload_match (struct type **arg_types, int nargs,
- const char *name, int method, int lax,
+ const char *name,
+ enum oload_search_type method, int lax,
struct value **objp, struct symbol *fsym,
struct value **valp, struct symbol **symp,
int *staticp, const int no_adl);