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:
Nick Clifton 2010-04-20 15:54:48 +00:00
parent 1c07cc1903
commit aa27de9549
5 changed files with 44 additions and 1 deletions

View File

@ -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>
* config/bfin-lex.l (parse_int): Change index() to strchr().

View File

@ -868,7 +868,9 @@ macro_expand_body (sb *in, sb *out, formal_entry *formals,
if (! macro
|| src + 5 >= in->len
|| 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);
src = sub_actual (src, in, &t, formal_hash,

View File

@ -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>
PR gas/11395

View File

@ -0,0 +1,3 @@
local
.LL0001
.LL0002

View 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