PR gas/11507
* macro.c (macro_expand_body): Do not treat LOCAL as a keyword in altmacro mode if found inside a quoted string. * gas/macros/altmacro.s: New test. * gas/macros/altmacro.d: Expected output.
This commit is contained in:
parent
1c07cc1903
commit
aa27de9549
5 changed files with 44 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2010-04-20 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
PR gas/11507
|
||||||
|
* macro.c (macro_expand_body): Do not treat LOCAL as a keyword in
|
||||||
|
altmacro mode if found inside a quoted string.
|
||||||
|
|
||||||
2010-04-20 Mike Frysinger <vapier@gentoo.org>
|
2010-04-20 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* config/bfin-lex.l (parse_int): Change index() to strchr().
|
* config/bfin-lex.l (parse_int): Change index() to strchr().
|
||||||
|
|
|
@ -868,7 +868,9 @@ macro_expand_body (sb *in, sb *out, formal_entry *formals,
|
||||||
if (! macro
|
if (! macro
|
||||||
|| src + 5 >= in->len
|
|| src + 5 >= in->len
|
||||||
|| strncasecmp (in->ptr + src, "LOCAL", 5) != 0
|
|| strncasecmp (in->ptr + src, "LOCAL", 5) != 0
|
||||||
|| ! ISWHITE (in->ptr[src + 5]))
|
|| ! ISWHITE (in->ptr[src + 5])
|
||||||
|
/* PR 11507: Skip keyword LOCAL if it is found inside a quoted string. */
|
||||||
|
|| inquote)
|
||||||
{
|
{
|
||||||
sb_reset (&t);
|
sb_reset (&t);
|
||||||
src = sub_actual (src, in, &t, formal_hash,
|
src = sub_actual (src, in, &t, formal_hash,
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
2010-04-20 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
PR gas/11507
|
||||||
|
* gas/macros/altmacro.s: New test.
|
||||||
|
* gas/macros/altmacro.d: Expected output.
|
||||||
|
|
||||||
2010-04-16 Nick Clifton <nickc@redhat.com>
|
2010-04-16 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
PR gas/11395
|
PR gas/11395
|
||||||
|
|
3
gas/testsuite/gas/macros/altmacro.d
Normal file
3
gas/testsuite/gas/macros/altmacro.d
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
local
|
||||||
|
.LL0001
|
||||||
|
.LL0002
|
26
gas/testsuite/gas/macros/altmacro.s
Normal file
26
gas/testsuite/gas/macros/altmacro.s
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
# Check use of LOCAL directive inside .altmacro.
|
||||||
|
# Test derived from PR 11507.
|
||||||
|
|
||||||
|
.altmacro
|
||||||
|
|
||||||
|
.macro ABC
|
||||||
|
.print "local "
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro DEF
|
||||||
|
LOCAL fred
|
||||||
|
.print "fred"
|
||||||
|
.endm
|
||||||
|
|
||||||
|
# This one is just being perverse, but it should work.
|
||||||
|
.macro GHI
|
||||||
|
local local
|
||||||
|
.print "local"
|
||||||
|
.endm
|
||||||
|
|
||||||
|
|
||||||
|
ABC
|
||||||
|
|
||||||
|
DEF
|
||||||
|
|
||||||
|
GHI
|
Loading…
Reference in a new issue