This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: BUG in operator precedence in as
- To: Mikulas Patocka <mikulas at artax dot karlin dot mff dot cuni dot cz>
- Subject: Re: BUG in operator precedence in as
- From: Alan Modra <alan at linuxcare dot com dot au>
- Date: Wed, 29 Nov 2000 00:24:42 +1100 (EST)
- cc: binutils at sources dot redhat dot com, bug-gnu-utils at gnu dot org
On Tue, 28 Nov 2000, Mikulas Patocka wrote:
> There is bug in operator precedence in as in newer binutils (2.9.5.0.46
> and 2.10.1.0.2), 2.9.1 is correct but has other bugs. '|' and '+' have the
> same precedence.
Here's a fix.
gas/ChangeLog
* expr.c (STANDARD_MUL_PRECEDENCE): Correct value.
(MRI_MUL_PRECEDENCE): Likewise.
(op_rank): Fix a comment.
Alan Modra
--
Linuxcare. Support for the Revolution.
Index: expr.c
===================================================================
RCS file: /cvs/src/src/gas/expr.c,v
retrieving revision 1.26
diff -u -p -r1.26 expr.c
--- expr.c 2000/10/30 21:59:01 1.26
+++ expr.c 2000/11/28 13:21:25
@@ -1469,7 +1469,7 @@ static operator_rankT op_rank[] = {
0, /* O_symbol */
0, /* O_symbol_rva */
0, /* O_register */
- 0, /* O_bit */
+ 0, /* O_big */
9, /* O_uminus */
9, /* O_bit_not */
9, /* O_logical_not */
@@ -1517,8 +1517,8 @@ static operator_rankT op_rank[] = {
mode. Also, MRI uses a different bit_not operator, and this fixes
that as well. */
-#define STANDARD_MUL_PRECEDENCE (7)
-#define MRI_MUL_PRECEDENCE (5)
+#define STANDARD_MUL_PRECEDENCE 8
+#define MRI_MUL_PRECEDENCE 6
void
expr_set_precedence ()