From e66d44466912ecf581f6b67ff299d064c7bf4f1a Mon Sep 17 00:00:00 2001 From: Siva Chandra Date: Wed, 9 Jul 2014 10:25:48 -0700 Subject: Add new argument NOSIDE to find_overload_match. This is a fix for PR c++/17132. If this new argument is set to EVAL_AVOID_SIDE_EFFECTS, then the object's memory will not be read while picking the best overload match. gdb/ * eval.c: Update all calls to find_overload_match. * valarith.c: Likewise. (value_user_defined_cpp_op, value_user_defined_op): New argument NOSIDE. Update all callers. * valops.c (find_overload_match): New argument NOSIDE. * value.h (find_overload_match): Update signature. gdb/testsuite * gdb.cp/pr17132.cc: New file. * gdb.cp/pr17132.exp: New file. --- gdb/value.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gdb/value.h') diff --git a/gdb/value.h b/gdb/value.h index 4654042..843478b 100644 --- a/gdb/value.h +++ b/gdb/value.h @@ -693,7 +693,8 @@ extern int find_overload_match (struct value **args, int nargs, enum oload_search_type method, struct value **objp, struct symbol *fsym, struct value **valp, struct symbol **symp, - int *staticp, const int no_adl); + int *staticp, const int no_adl, + enum noside noside); extern struct value *value_field (struct value *arg1, int fieldno); -- cgit v1.1