This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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");


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]