[PATCH] fix handling of angle brackets in alternate macro syntax

Jan Beulich JBeulich@novell.com
Thu Feb 23 14:35:00 GMT 2006


Angle-bracketing input is meant as an escape mechanism in alternate macro
mode, and the net effect of using this should be that the text inside the
brackets gets inserted literally (subject to ! escaping). Up to now, the
resulting text was put in double quotes, however.

Built and tested on i686-pc-linux-gnu, x86_64-unknown-linux-gnu, and for a
large number of cross targets.

Jan

gas/
2006-02-21  Jan Beulich  <jbeulich@novell.com>

	* macro.c (get_any_string): Don't insert quotes for <>-quoted input.

gas/testsuite/
2006-02-21  Jan Beulich  <jbeulich@novell.com>

	* gas/all/altmacro.s: Adjust.
	* gas/all/altmac2.s: Adjust.

--- /home/jbeulich/src/binutils/mainline/2006-02-21/gas/macro.c	2005-11-07 08:48:26.000000000 +0100
+++ 2006-02-21/gas/macro.c	2006-02-21 14:33:52.000000000 +0100
@@ -442,13 +442,12 @@ get_any_string (int idx, sb *in, sb *out
 	       || (in->ptr[idx] == '<' && (macro_alternate || macro_mri))
 	       || (macro_alternate && in->ptr[idx] == '\''))
 	{
-	  if (macro_alternate && ! macro_strip_at)
+	  if (macro_alternate && ! macro_strip_at && in->ptr[idx] != '<')
 	    {
 	      /* Keep the quotes.  */
-	      sb_add_char (out, '\"');
+	      sb_add_char (out, '"');
-
 	      idx = getstring (idx, in, out);
-	      sb_add_char (out, '\"');
+	      sb_add_char (out, '"');
 	    }
 	  else
 	    {
--- /home/jbeulich/src/binutils/mainline/2006-02-21/gas/testsuite/gas/all/altmac2.s	2004-08-24 13:37:54.000000000
+0200
+++ 2006-02-21/gas/testsuite/gas/all/altmac2.s	2006-02-21 14:35:27.000000000 +0100
@@ -1,5 +1,5 @@
 .macro	m1 str
-	.ascii	&str
+	.ascii	"&str"
 .endm
 
 	.data
--- /home/jbeulich/src/binutils/mainline/2006-02-21/gas/testsuite/gas/all/altmacro.s	2005-05-17 16:04:15.000000000
+0200
+++ 2006-02-21/gas/testsuite/gas/all/altmacro.s	2006-02-21 14:35:03.000000000 +0100
@@ -20,7 +20,7 @@ m2	1, 3
 m2	9, 27
 
 m3	"abc"
-m3	<123>
+m3	<"1", "23">
 
 	.noaltmacro
 

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: binutils-mainline-altmacro-angle-bracket.patch
URL: <https://sourceware.org/pipermail/binutils/attachments/20060223/ae5e2c8e/attachment.ksh>


More information about the Binutils mailing list