summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Pluzhnikov <ppluzhnikov@google.com>2008-06-06 18:29:00 +0000
committerPaul Pluzhnikov <ppluzhnikov@google.com>2008-06-06 18:29:00 +0000
commitfed276330df0721afc7f3df134e958ce4633aa4d (patch)
tree3015bd9b7bac9faaf044001fc084868534514fd4
parentfbc5282e75fa56221db28526a0403577c03951c8 (diff)
downloadbinutils-gdb-fed276330df0721afc7f3df134e958ce4633aa4d.tar.gz
2008-06-06 Paul Pluzhnikov <ppluzhnikov@google.com>
PR gdb/1147 * gdb/valopts.c (find_overload_match): Handle references to pointers.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/valops.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f17ed4007b9..897ee48a1d0 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2008-06-06 Paul Pluzhnikov <ppluzhnikov@google.com>
+
+ PR gdb/1147
+ * gdb/valopts.c (find_overload_match): Handle references
+ to pointers.
+
2008-06-06 Paul N. Hilfinger <hilfinger@adacore.com>
* ada-lang.c (ada_value_assign): Correct big-endian case to take into
diff --git a/gdb/valops.c b/gdb/valops.c
index 3ddee90ee6d..f720ea92db2 100644
--- a/gdb/valops.c
+++ b/gdb/valops.c
@@ -2101,7 +2101,8 @@ find_overload_match (struct type **arg_types, int nargs,
if (objp)
{
if (TYPE_CODE (value_type (temp)) != TYPE_CODE_PTR
- && TYPE_CODE (value_type (*objp)) == TYPE_CODE_PTR)
+ && (TYPE_CODE (value_type (*objp)) == TYPE_CODE_PTR
+ || TYPE_CODE (value_type (*objp)) == TYPE_CODE_REF))
{
temp = value_addr (temp);
}