aboutsummaryrefslogtreecommitdiff
path: root/gdb/cp-support.h
diff options
context:
space:
mode:
authorSami Wagiaalla <swagiaal@redhat.com>2010-05-07 14:46:28 +0000
committerSami Wagiaalla <swagiaal@redhat.com>2010-05-07 14:46:28 +0000
commit7322dca9c16dfce7e9019240ac21037f2a4d6cb7 (patch)
tree15ef1ee23eb0d09d802c4f8fc1424b430d2a76f8 /gdb/cp-support.h
parent3f1f688424574eaba15256ec436b564a8e2e8c20 (diff)
downloadgdb-7322dca9c16dfce7e9019240ac21037f2a4d6cb7.zip
gdb-7322dca9c16dfce7e9019240ac21037f2a4d6cb7.tar.gz
gdb-7322dca9c16dfce7e9019240ac21037f2a4d6cb7.tar.bz2
Add ADL support
2010-05-07 Sami Wagiaalla <swagiaal@redhat.com> PR C++/7943: * valops.c (find_overload_match): Handle fsym == NULL case. Add int no_adl argument. (find_oload_champ_namespace_loop): Call make_symbol_overload_list_adl when appropriate. Add int no_adl argument. (find_oload_champ_namespace): Add int no_adl argument. * parse.c (operator_length_standard): Return length for OP_ADL_FUNC expression. * expprint.c (op_name_standard): Added string for OP_ADL_FUNC case. * eval.c (evaluate_subexp_standard): Added OP_ADL_FUNC case. Evaluate arguments and use them to perform ADL lookup. Pass no_adl argument to find_overload_match. Disable adl lookup when evaluating a fully qualified OP_FUNCALL. * cp-support.h: Added prototype for make_symbol_overload_list_namespace. * cp-support.c (make_symbol_overload_list_namespace): New function. (make_symbol_overload_list_adl_namespace): New function. (make_symbol_overload_list_adl): New function. (make_symbol_overload_list_using): Moved code to add function to overload set to make_symbol_overload_list_namespace. * c-exp.y: create UNKNOWN_CPP_NAME token. Add parse rule for ADL functions. (classify_name): Recognize an UNKNOWN_CPP_NAME. 2010-05-07 Sami Wagiaalla <swagiaal@redhat.com> * gdb.cp/koenig.exp: New test. * gdb.cp/koenig.cc: New test program.
Diffstat (limited to 'gdb/cp-support.h')
-rw-r--r--gdb/cp-support.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/cp-support.h b/gdb/cp-support.h
index dd4df84..ddc4c93 100644
--- a/gdb/cp-support.h
+++ b/gdb/cp-support.h
@@ -110,6 +110,10 @@ extern char *cp_remove_params (const char *demangled_name);
extern struct symbol **make_symbol_overload_list (const char *,
const char *);
+extern struct symbol **make_symbol_overload_list_adl (struct type **arg_types,
+ int nargs,
+ const char *func_name);
+
extern struct type *cp_lookup_rtti_type (const char *name,
struct block *block);