* config/tc-hppa.c (pa_ip): Check for invalid 64-bit conditions.

This commit is contained in:
Dave Anglin 2003-09-27 18:19:29 +00:00
parent 54e74f722d
commit de1e508daf
2 changed files with 9 additions and 7 deletions

View File

@ -1,3 +1,7 @@
2003-09-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* config/tc-hppa.c (pa_ip): Check for invalid 64-bit conditions.
2003-09-26 Matt Thomas <matt@3am-software.com> 2003-09-26 Matt Thomas <matt@3am-software.com>
* config/tc-vax.c (md_shortopts): Fix a typo. Remove 'K'. * config/tc-vax.c (md_shortopts): Fix a typo. Remove 'K'.

View File

@ -2357,7 +2357,6 @@ pa_ip (str)
} }
else if (*s == '*') else if (*s == '*')
break; break;
name = s;
name = s; name = s;
while (*s != ',' && *s != ' ' && *s != '\t') while (*s != ',' && *s != ' ' && *s != '\t')
@ -2419,7 +2418,7 @@ pa_ip (str)
flag = 1; flag = 1;
} }
/* ",*" is a valid condition. */ /* ",*" is a valid condition. */
else if (*args == 'a') else if (*args == 'a' || *name)
as_bad (_("Invalid Add Condition: %s"), name); as_bad (_("Invalid Add Condition: %s"), name);
*s = c; *s = c;
} }
@ -2525,7 +2524,6 @@ pa_ip (str)
} }
else if (*s == '*') else if (*s == '*')
break; break;
name = s;
name = s; name = s;
while (*s != ',' && *s != ' ' && *s != '\t') while (*s != ',' && *s != ' ' && *s != '\t')
@ -2587,7 +2585,7 @@ pa_ip (str)
flag = 1; flag = 1;
} }
/* ",*" is a valid condition. */ /* ",*" is a valid condition. */
else if (*args != 'S') else if (*args != 'S' || *name)
as_bad (_("Invalid Compare/Subtract Condition: %s"), as_bad (_("Invalid Compare/Subtract Condition: %s"),
name); name);
*s = c; *s = c;
@ -2710,7 +2708,7 @@ pa_ip (str)
flag = 1; flag = 1;
} }
/* ",*" is a valid condition. */ /* ",*" is a valid condition. */
else if (*args != 'L') else if (*args != 'L' || *name)
as_bad (_("Invalid Logical Instruction Condition.")); as_bad (_("Invalid Logical Instruction Condition."));
*s = c; *s = c;
} }
@ -2765,7 +2763,7 @@ pa_ip (str)
continue; continue;
} }
/* ",*" is a valid condition. */ /* ",*" is a valid condition. */
else if (*args != 'X') else if (*args != 'X' || *name)
as_bad (_("Invalid Shift/Extract/Deposit Condition.")); as_bad (_("Invalid Shift/Extract/Deposit Condition."));
*s = c; *s = c;
} }
@ -2877,7 +2875,7 @@ pa_ip (str)
s += 3; s += 3;
} }
/* ",*" is a valid condition. */ /* ",*" is a valid condition. */
else if (*args != 'U') else if (*args != 'U' || (*s != ' ' && *s != '\t'))
as_bad (_("Invalid Unit Instruction Condition.")); as_bad (_("Invalid Unit Instruction Condition."));
} }
opcode |= cmpltr << 13; opcode |= cmpltr << 13;