* config/bfin-parse.y (value_match): Use int instead of long.

From  Michael Frysinger  <michael.frysinger@analog.com>
	* config/bfin-defs.h (Expr_Node_Value): Declare the i_value
	member as long long.
This commit is contained in:
Jie Zhang 2009-09-02 08:57:38 +00:00
parent 05d510a950
commit 958cff2f9b
3 changed files with 13 additions and 5 deletions

View File

@ -1,3 +1,11 @@
2009-09-02 Jie Zhang <jie.zhang@analog.com>
* config/bfin-parse.y (value_match): Use int instead of long.
From Michael Frysinger <michael.frysinger@analog.com>
* config/bfin-defs.h (Expr_Node_Value): Declare the i_value
member as long long.
2009-09-02 Jie Zhang <jie.zhang@analog.com>
From Bernd Schmidt <bernd.schmidt@analog.com>

View File

@ -287,7 +287,7 @@ typedef enum
typedef union
{
const char *s_value; /* if relocation symbol, the text. */
int i_value; /* if constant, the value. */
long long i_value; /* if constant, the value. */
Expr_Op_Type op_value; /* if operator, the value. */
} Expr_Node_Value;

View File

@ -4376,11 +4376,11 @@ mkexpr (int x, SYMBOL_T s)
static int
value_match (Expr_Node *expr, int sz, int sign, int mul, int issigned)
{
long umax = (1L << sz) - 1;
long min = -1L << (sz - 1);
long max = (1L << (sz - 1)) - 1;
int umax = (1 << sz) - 1;
int min = -1 << (sz - 1);
int max = (1 << (sz - 1)) - 1;
long v = EXPR_VALUE (expr);
int v = (EXPR_VALUE (expr)) & 0xffffffff;
if ((v % mul) != 0)
{