From eeaafae2bdf07efbe757579c966da3c422496053 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Fri, 18 Feb 2011 19:10:48 +0000 Subject: gdb/ * cp-support.c (make_symbol_overload_list_namespace): Do not call make_symbol_overload_list_block with NULL BLOCK. * valarith.c (unop_user_defined_p): Resolve also TYPE_CODE_TYPEDEF. gdb/testsuite/ * gdb.cp/typedef-operator.exp: New file. * gdb.cp/typedef-operator.cc: New file. --- gdb/valarith.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'gdb/valarith.c') diff --git a/gdb/valarith.c b/gdb/valarith.c index 787fc69..68f649f 100644 --- a/gdb/valarith.c +++ b/gdb/valarith.c @@ -315,15 +315,9 @@ unop_user_defined_p (enum exp_opcode op, struct value *arg1) if (op == UNOP_ADDR) return 0; type1 = check_typedef (value_type (arg1)); - for (;;) - { - if (TYPE_CODE (type1) == TYPE_CODE_STRUCT) - return 1; - else if (TYPE_CODE (type1) == TYPE_CODE_REF) - type1 = TYPE_TARGET_TYPE (type1); - else - return 0; - } + if (TYPE_CODE (type1) == TYPE_CODE_REF) + type1 = check_typedef (TYPE_TARGET_TYPE (type1)); + return TYPE_CODE (type1) == TYPE_CODE_STRUCT; } /* Try to find an operator named OPERATOR which takes NARGS arguments -- cgit v1.1