mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-12-03 17:51:57 +00:00
Wrong function used to perform address addition/subtraction.
* ada-lang.c (ada_type_match): Stop making TYPE_CODE_VOID a wildcard matching any type. For types that we don't already handle specifically, make sure that both types have the same code.
This commit is contained in:
parent
a10967fa49
commit
5b3d5b7dfc
@ -1,3 +1,10 @@
|
||||
2009-11-19 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
Wrong function used to perform address addition/subtraction.
|
||||
* ada-lang.c (ada_type_match): Stop making TYPE_CODE_VOID
|
||||
a wildcard matching any type. For types that we don't already
|
||||
handle specifically, make sure that both types have the same code.
|
||||
|
||||
2009-11-19 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* ada-lang.c (ada_decode): Add handling of "TB" suffixes for
|
||||
|
@ -2977,10 +2977,9 @@ resolve_subexp (struct expression **expp, int *pos, int deprocedure_p,
|
||||
|
||||
/* Return non-zero if formal type FTYPE matches actual type ATYPE. If
|
||||
MAY_DEREF is non-zero, the formal may be a pointer and the actual
|
||||
a non-pointer. A type of 'void' (which is never a valid expression type)
|
||||
by convention matches anything. */
|
||||
a non-pointer. */
|
||||
/* The term "match" here is rather loose. The match is heuristic and
|
||||
liberal. FIXME: TOO liberal, in fact. */
|
||||
liberal. */
|
||||
|
||||
static int
|
||||
ada_type_match (struct type *ftype, struct type *atype, int may_deref)
|
||||
@ -2993,14 +2992,10 @@ ada_type_match (struct type *ftype, struct type *atype, int may_deref)
|
||||
if (TYPE_CODE (atype) == TYPE_CODE_REF)
|
||||
atype = TYPE_TARGET_TYPE (atype);
|
||||
|
||||
if (TYPE_CODE (ftype) == TYPE_CODE_VOID
|
||||
|| TYPE_CODE (atype) == TYPE_CODE_VOID)
|
||||
return 1;
|
||||
|
||||
switch (TYPE_CODE (ftype))
|
||||
{
|
||||
default:
|
||||
return 1;
|
||||
return TYPE_CODE (ftype) == TYPE_CODE (atype);
|
||||
case TYPE_CODE_PTR:
|
||||
if (TYPE_CODE (atype) == TYPE_CODE_PTR)
|
||||
return ada_type_match (TYPE_TARGET_TYPE (ftype),
|
||||
|
Loading…
Reference in New Issue
Block a user