* 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.
This commit is contained in:
Jan Kratochvil
2011-02-18 19:10:48 +00:00
parent ae97b9228d
commit eeaafae2bd
6 changed files with 83 additions and 11 deletions

View File

@@ -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