aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorDave Anglin <dave.anglin@nrc.ca>2003-09-27 18:19:29 +0000
committerDave Anglin <dave.anglin@nrc.ca>2003-09-27 18:19:29 +0000
commitde1e508dafe42b1e30e8b29fab909d266ef52a6c (patch)
treea6a427ef671ec7caf3fe84ccb1faf7dd689e3719 /gas/config
parent54e74f722dea7485c61986d60b22003f8f048258 (diff)
downloadfsf-binutils-gdb-de1e508dafe42b1e30e8b29fab909d266ef52a6c.zip
fsf-binutils-gdb-de1e508dafe42b1e30e8b29fab909d266ef52a6c.tar.gz
fsf-binutils-gdb-de1e508dafe42b1e30e8b29fab909d266ef52a6c.tar.bz2
* config/tc-hppa.c (pa_ip): Check for invalid 64-bit conditions.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-hppa.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c
index 39da02e..89b39e5 100644
--- a/gas/config/tc-hppa.c
+++ b/gas/config/tc-hppa.c
@@ -2357,7 +2357,6 @@ pa_ip (str)
}
else if (*s == '*')
break;
- name = s;
name = s;
while (*s != ',' && *s != ' ' && *s != '\t')
@@ -2419,7 +2418,7 @@ pa_ip (str)
flag = 1;
}
/* ",*" is a valid condition. */
- else if (*args == 'a')
+ else if (*args == 'a' || *name)
as_bad (_("Invalid Add Condition: %s"), name);
*s = c;
}
@@ -2525,7 +2524,6 @@ pa_ip (str)
}
else if (*s == '*')
break;
- name = s;
name = s;
while (*s != ',' && *s != ' ' && *s != '\t')
@@ -2587,7 +2585,7 @@ pa_ip (str)
flag = 1;
}
/* ",*" is a valid condition. */
- else if (*args != 'S')
+ else if (*args != 'S' || *name)
as_bad (_("Invalid Compare/Subtract Condition: %s"),
name);
*s = c;
@@ -2710,7 +2708,7 @@ pa_ip (str)
flag = 1;
}
/* ",*" is a valid condition. */
- else if (*args != 'L')
+ else if (*args != 'L' || *name)
as_bad (_("Invalid Logical Instruction Condition."));
*s = c;
}
@@ -2765,7 +2763,7 @@ pa_ip (str)
continue;
}
/* ",*" is a valid condition. */
- else if (*args != 'X')
+ else if (*args != 'X' || *name)
as_bad (_("Invalid Shift/Extract/Deposit Condition."));
*s = c;
}
@@ -2877,7 +2875,7 @@ pa_ip (str)
s += 3;
}
/* ",*" is a valid condition. */
- else if (*args != 'U')
+ else if (*args != 'U' || (*s != ' ' && *s != '\t'))
as_bad (_("Invalid Unit Instruction Condition."));
}
opcode |= cmpltr << 13;