This is the mail archive of the binutils@sourceware.org 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] fix handling of angle brackets in alternate macro syntax


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
 

Attachment: binutils-mainline-altmacro-angle-bracket.patch
Description: Text document


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