diff options
author | Jie Zhang <jie.zhang@analog.com> | 2009-09-02 08:57:38 +0000 |
---|---|---|
committer | Jie Zhang <jie.zhang@analog.com> | 2009-09-02 08:57:38 +0000 |
commit | 958cff2f9b7d0caaf1d02325c3464546dd2b4c11 (patch) | |
tree | ceef8df996004d27074d01aa4daca0a97586eb25 | |
parent | 05d510a95080f13c5a4f5ee3e3ef4a1390b68c0c (diff) | |
download | gdb-958cff2f9b7d0caaf1d02325c3464546dd2b4c11.zip gdb-958cff2f9b7d0caaf1d02325c3464546dd2b4c11.tar.gz gdb-958cff2f9b7d0caaf1d02325c3464546dd2b4c11.tar.bz2 |
* 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.
-rw-r--r-- | gas/ChangeLog | 8 | ||||
-rw-r--r-- | gas/config/bfin-defs.h | 2 | ||||
-rw-r--r-- | gas/config/bfin-parse.y | 8 |
3 files changed, 13 insertions, 5 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index dd22576..51384a9 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,13 @@ 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> * config/gas/bfin-parse.y (asm_1): Clean up and unify error handling for load and store insns. diff --git a/gas/config/bfin-defs.h b/gas/config/bfin-defs.h index cc6569d..8923b73 100644 --- a/gas/config/bfin-defs.h +++ b/gas/config/bfin-defs.h @@ -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; diff --git a/gas/config/bfin-parse.y b/gas/config/bfin-parse.y index 4a2fa6a..72db6d9 100644 --- a/gas/config/bfin-parse.y +++ b/gas/config/bfin-parse.y @@ -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) { |