* valops.c (value_cast): Allow cast from INT, ENUM or RANGE to
POINTER.
This commit is contained in:
parent
0ba2a60ea9
commit
634acd5f8a
|
@ -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>
|
2000-07-11 Scott Bambrough <scottb@netwinder.org>
|
||||||
|
|
||||||
* command.c (do_setshow_command): Fix typo in var_auto_boolean
|
* 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 ?
|
return value_from_longest (type, convert_to_boolean ?
|
||||||
(LONGEST) (longest ? 1 : 0) : longest);
|
(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))
|
else if (TYPE_LENGTH (type) == TYPE_LENGTH (type2))
|
||||||
{
|
{
|
||||||
if (code1 == TYPE_CODE_PTR && code2 == TYPE_CODE_PTR)
|
if (code1 == TYPE_CODE_PTR && code2 == TYPE_CODE_PTR)
|
||||||
|
|
Loading…
Reference in New Issue