* valops.c (value_cast): Allow cast from INT, ENUM or RANGE to
POINTER.
This commit is contained in:
parent
0ba2a60ea9
commit
634acd5f8a
2 changed files with 19 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
Tue Jul 11 19:45:42 2000 Andrew Cagney <cagney@b1.cygnus.com>
|
||||
|
||||
* valops.c (value_cast): Allow cast from INT, ENUM or RANGE to
|
||||
POINTER.
|
||||
|
||||
2000-07-11 Scott Bambrough <scottb@netwinder.org>
|
||||
|
||||
* command.c (do_setshow_command): Fix typo in var_auto_boolean
|
||||
|
|
14
gdb/valops.c
14
gdb/valops.c
|
@ -290,6 +290,20 @@ value_cast (type, arg2)
|
|||
return value_from_longest (type, convert_to_boolean ?
|
||||
(LONGEST) (longest ? 1 : 0) : longest);
|
||||
}
|
||||
else if (code1 == TYPE_CODE_PTR && (code2 == TYPE_CODE_INT ||
|
||||
code2 == TYPE_CODE_ENUM ||
|
||||
code2 == TYPE_CODE_RANGE))
|
||||
{
|
||||
int ptr_bit = HOST_CHAR_BIT * TYPE_LENGTH (type);
|
||||
LONGEST longest = value_as_long (arg2);
|
||||
if (ptr_bit < sizeof (LONGEST) * HOST_CHAR_BIT)
|
||||
{
|
||||
if (longest >= ((LONGEST) 1 << ptr_bit)
|
||||
|| longest <= -((LONGEST) 1 << ptr_bit))
|
||||
warning ("value truncated");
|
||||
}
|
||||
return value_from_longest (type, longest);
|
||||
}
|
||||
else if (TYPE_LENGTH (type) == TYPE_LENGTH (type2))
|
||||
{
|
||||
if (code1 == TYPE_CODE_PTR && code2 == TYPE_CODE_PTR)
|
||||
|
|
Loading…
Reference in a new issue