aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2006-12-13 18:26:30 +0000
committerH.J. Lu <hjl.tools@gmail.com>2006-12-13 18:26:30 +0000
commita5c311ca767b8e291e5f9a62c6a13e964bbd56ed (patch)
tree939f014d98d93faee8cace0a92268386246f5c6f
parentf48ff2ae3d74966f635449f9a69e374ed8da3da2 (diff)
downloadgdb-a5c311ca767b8e291e5f9a62c6a13e964bbd56ed.zip
gdb-a5c311ca767b8e291e5f9a62c6a13e964bbd56ed.tar.gz
gdb-a5c311ca767b8e291e5f9a62c6a13e964bbd56ed.tar.bz2
2006-12-13 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (match_template): Use a for loop to set operand_types array.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-i386.c15
2 files changed, 11 insertions, 9 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 94357ae..49e2e4e 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,10 @@
2006-12-13 H.J. Lu <hongjiu.lu@intel.com>
+ * config/tc-i386.c (match_template): Use a for loop to set
+ operand_types array.
+
+2006-12-13 H.J. Lu <hongjiu.lu@intel.com>
+
PR gas/3712
* config/tc-i386.c (match_template): Use MAX_OPERANDS for the
number of operands. Issue an error if MAX_OPERANDS != 4. Add
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 01f56b0..fc1f707 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -2573,6 +2573,7 @@ match_template ()
int suffix_check;
unsigned int operand_types [MAX_OPERANDS];
int addr_prefix_disp;
+ unsigned int j;
#if MAX_OPERANDS != 4
# error "MAX_OPERANDS must be 4."
@@ -2596,10 +2597,8 @@ match_template ()
overlap2 = 0;
overlap3 = 0;
found_reverse_match = 0;
- operand_types [0] = 0;
- operand_types [1] = 0;
- operand_types [2] = 0;
- operand_types [3] = 0;
+ for (j = 0; j < MAX_OPERANDS; j++)
+ operand_types [j] = 0;
addr_prefix_disp = -1;
suffix_check = (i.suffix == BYTE_MNEM_SUFFIX
? No_bSuf
@@ -2628,10 +2627,8 @@ match_template ()
&& (t->opcode_modifier & IgnoreSize)))
continue;
- operand_types [0] = t->operand_types [0];
- operand_types [1] = t->operand_types [1];
- operand_types [2] = t->operand_types [2];
- operand_types [3] = t->operand_types [3];
+ for (j = 0; j < MAX_OPERANDS; j++)
+ operand_types [j] = t->operand_types [j];
/* In general, don't allow 64-bit operands in 32-bit mode. */
if (i.suffix == QWORD_MNEM_SUFFIX
@@ -2659,7 +2656,7 @@ match_template ()
into Disp32/Disp16/Disp32 operand. */
if (i.prefix[ADDR_PREFIX] != 0)
{
- unsigned int j, DispOn = 0, DispOff = 0;
+ unsigned int DispOn = 0, DispOff = 0;
switch (flag_code)
{