aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2024-08-14 11:25:34 +0200
committerJan Beulich <jbeulich@suse.com>2024-08-14 11:25:34 +0200
commit8c1cd8603443ffeee6e9cc97b738527ea1e2b3e5 (patch)
tree3bcbfc93e04fa9e27818c75c59f276d3efe45ac4
parentc0177034c9f79e6e2067e288530fabe9d5b11cbc (diff)
downloadbinutils-8c1cd8603443ffeee6e9cc97b738527ea1e2b3e5.zip
binutils-8c1cd8603443ffeee6e9cc97b738527ea1e2b3e5.tar.gz
binutils-8c1cd8603443ffeee6e9cc97b738527ea1e2b3e5.tar.bz2
gas: correct .irpc handling with empty string
Following 69cab370cf66 ("gas: adjust handling of quotes for .irpc") the closing quote was mistakenly treated as the first quoted character.
-rw-r--r--gas/macro.c1
-rw-r--r--gas/testsuite/gas/macros/irpc-quote.s4
2 files changed, 3 insertions, 2 deletions
diff --git a/gas/macro.c b/gas/macro.c
index a35e135..d0c90d3 100644
--- a/gas/macro.c
+++ b/gas/macro.c
@@ -1389,6 +1389,7 @@ expand_irp (int irpc, size_t idx, sb *in, sb *out, size_t (*get_line) (sb *))
if (idx >= in->len)
break;
}
+ continue;
}
sb_reset (&f.actual);
sb_add_char (&f.actual, in->ptr[idx]);
diff --git a/gas/testsuite/gas/macros/irpc-quote.s b/gas/testsuite/gas/macros/irpc-quote.s
index 0499f69..0326196 100644
--- a/gas/testsuite/gas/macros/irpc-quote.s
+++ b/gas/testsuite/gas/macros/irpc-quote.s
@@ -1,6 +1,6 @@
- .irpc c, " ab" cd " ef"
+ .irpc c, " ab" cd " ef" ""
.print ">\c<"
.endr
- .irpc c, "12 " 34 "56 "
+ .irpc c, "" "12 " 34 "56 "
.print ">\c<"
.endr