aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/macro.c11
2 files changed, 16 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index f305b25..98e8ec1 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2000-06-13 Ulf Carlsson <ulfc@engr.sgi.com>
+
+ * macro.c (getstring): Make it possible to escape the quote
+ character.
+
Tue Jun 13 20:58:28 2000 Catherine Moore <clm@redhat.com>
* config/tc-hppa.c (pa_export): Weak symbols can be global.
diff --git a/gas/macro.c b/gas/macro.c
index df01bc5..3a0b612 100644
--- a/gas/macro.c
+++ b/gas/macro.c
@@ -304,14 +304,25 @@ getstring (idx, in, acc)
else if (in->ptr[idx] == '"' || in->ptr[idx] == '\'')
{
char tchar = in->ptr[idx];
+ int escaped = 0;
idx++;
while (idx < in->len)
{
+ if (in->ptr[idx-1] == '\\')
+ escaped ^= 1;
+ else
+ escaped = 0;
+
if (macro_alternate && in->ptr[idx] == '!')
{
idx++ ;
sb_add_char (acc, in->ptr[idx++]);
}
+ else if (escaped && in->ptr[idx] == tchar)
+ {
+ sb_add_char (acc, tchar);
+ idx++;
+ }
else
{
if (in->ptr[idx] == tchar)