* valops.c (value_cast): Handle casts to and from TYPE_CODE_CHAR.
* ch-exp.c (match_integer_literal): Fix long long support. * gdbtypes.c (get_discrete_bounds): Make TYPE_LENGTH (type) == sizeof (LONGEST) case work OK.
This commit is contained in:
parent
406477a696
commit
f6d165855e
3 changed files with 16 additions and 5 deletions
|
@ -597,7 +597,7 @@ parse_primval ()
|
|||
case CHARACTER_LITERAL:
|
||||
write_exp_elt_opcode (OP_LONG);
|
||||
write_exp_elt_type (PEEK_LVAL ().typed_val.type);
|
||||
write_exp_elt_longcst ((LONGEST) (PEEK_LVAL ().typed_val.val));
|
||||
write_exp_elt_longcst (PEEK_LVAL ().typed_val.val);
|
||||
write_exp_elt_opcode (OP_LONG);
|
||||
FORWARD_TOKEN ();
|
||||
break;
|
||||
|
@ -1544,8 +1544,8 @@ match_integer_literal ()
|
|||
else
|
||||
{
|
||||
yylval.typed_val.val = ival;
|
||||
#ifdef CC_HAS_LONG_LONG
|
||||
if (ival > 2147483647 || ival < -2147483648)
|
||||
#if defined(CC_HAS_LONG_LONG) && defined(__STDC__)
|
||||
if (ival > (LONGEST)2147483647U || ival < -(LONGEST)2147483648U)
|
||||
yylval.typed_val.type = builtin_type_long_long;
|
||||
else
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue