This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
PATCH: PR 474: ia64 assembler goes into an endless loop
- From: "H. J. Lu" <hjl at lucon dot org>
- To: binutils at sources dot redhat dot com
- Date: Fri, 22 Oct 2004 16:49:28 -0700
- Subject: PATCH: PR 474: ia64 assembler goes into an endless loop
We should clear md.num_slots_in_use after reporting a template error
during manual bundling. This patch works for me.
H.J.
---
2004-10-22 H.J. Lu <hongjiu.lu@intel.com>
PR 474
* config/tc-ia64.c (emit_one_bundle): Set md.num_slots_in_use
to 0 after reporting template error during manual bundling.
--- config/tc-ia64.c.bad 2004-09-21 15:24:03.000000000 -0700
+++ config/tc-ia64.c 2004-10-22 16:43:20.316625596 -0700
@@ -6496,9 +6496,12 @@ emit_one_bundle ()
if (manual_bundling)
{
if (md.num_slots_in_use > 0)
- as_bad_where (md.slot[curr].src_file, md.slot[curr].src_line,
- "`%s' does not fit into %s template",
- idesc->name, ia64_templ_desc[template].name);
+ {
+ as_bad_where (md.slot[curr].src_file, md.slot[curr].src_line,
+ "`%s' does not fit into %s template",
+ idesc->name, ia64_templ_desc[template].name);
+ md.num_slots_in_use = 0;
+ }
else
as_bad_where (md.slot[curr].src_file, md.slot[curr].src_line,
"Missing '}' at end of file");