summaryrefslogtreecommitdiff
path: root/gdb/valops.c
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2013-08-01 23:59:47 +0000
committerDoug Evans <dje@google.com>2013-08-01 23:59:47 +0000
commitcbb25189b69e501ddca64917d810b54bb1466c93 (patch)
treec3fc3706c8a398a087389fd13910a32b949a2f78 /gdb/valops.c
parent7f350588e9fa12457cc33814ec32f79e33f193bb (diff)
downloadgdb-cbb25189b69e501ddca64917d810b54bb1466c93.tar.gz
PR symtab/15695
* valops.c (value_struct_elt): Add missing call to check_typedef. (value_find_oload_method_list): Ditto. testsuite/ * gdb.base/func-ptr.exp: New file. * gdb.base/func-ptr.c: New file.
Diffstat (limited to 'gdb/valops.c')
-rw-r--r--gdb/valops.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gdb/valops.c b/gdb/valops.c
index a3ab24f2ecd..f527550f37f 100644
--- a/gdb/valops.c
+++ b/gdb/valops.c
@@ -2188,7 +2188,7 @@ value_struct_elt (struct value **argp, struct value **args,
{
*argp = value_ind (*argp);
/* Don't coerce fn pointer to fn and then back again! */
- if (TYPE_CODE (value_type (*argp)) != TYPE_CODE_FUNC)
+ if (TYPE_CODE (check_typedef (value_type (*argp))) != TYPE_CODE_FUNC)
*argp = coerce_array (*argp);
t = check_typedef (value_type (*argp));
}
@@ -2352,7 +2352,7 @@ value_find_oload_method_list (struct value **argp, const char *method,
{
*argp = value_ind (*argp);
/* Don't coerce fn pointer to fn and then back again! */
- if (TYPE_CODE (value_type (*argp)) != TYPE_CODE_FUNC)
+ if (TYPE_CODE (check_typedef (value_type (*argp))) != TYPE_CODE_FUNC)
*argp = coerce_array (*argp);
t = check_typedef (value_type (*argp));
}