bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/25750] GNU as has inconsistent behavior when expanding .ma


From: nickc at redhat dot com
Subject: [Bug binutils/25750] GNU as has inconsistent behavior when expanding .macro that takes as input directives with arguments
Date: Thu, 09 Apr 2020 14:56:14 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=25750

Nick Clifton <nickc at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2020-04-09

--- Comment #9 from Nick Clifton <nickc at redhat dot com> ---
(In reply to Jian Cai from comment #8)
Hi Jian,

> .macro foo insn1 insn2
> \insn1
> \insn2
> .endm
> 
> foo .section .sec1, .section .sec2

It occurs to me that we might be able to achieve something like this,
if we extend the macro argument syntax to include a definition of the
argument separator.  For example:

  .macro foo insn1:sep, insn2:vararg
  \insn1
  \insn2
  .endm

This would tell the macro processor that insn1 takes all characters up to 
(but excluding) the next comma character and that insn2 takes the rest of
the line (starting at the first non-whitespace character after the comma).

The new syntax "<arg>:sep<char>" tells the macro processor that argument
<arg> is separated from the next argument by the <char> character, and only
by the <char> character, so that any other character (apart from line ending
characters) forms part of <arg>.

This syntax does not exist *yet*.  I am going to have a look at implementing
it, but if it is too difficult I will give up.

What do you think - would this change provide the functionality that you
desire ?

Cheers
  Nick

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]