https://bugs.llvm.org/show_bug.cgi?id=38999

            Bug ID: 38999
           Summary: x86 integrated assembler: replace .irp 'symbol' under
                    .altmacro mode
           Product: new-bugs
           Version: 5.0
          Hardware: PC
                OS: FreeBSD
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedb...@nondot.org
          Reporter: ema...@freebsd.org
                CC: llvm-bugs@lists.llvm.org
            Blocks: 33405

Found while trying to build the FreeBSD base system entirely with the
integrated assembler. 

One of .altmacro's effects is:

Expression results as strings
    You can write `%expr' to evaluate the expression expr and use the result as
a string. 

Consider the following snippet:

------------------------
.altmacro

.macro m dst,src
  addq %\src,%\dst
.endm

.irp r,r15
  m r,r8
.endr
------------------------

GNU as and gcc assemble this, while Clang (6.0) IAS produces:

<instantiation>:1:10: error: invalid register name
addq %r8,%r
         ^~
<instantiation>:1:1: note: while in macro instantiation
m r,r8
^
macro.s:7:1: note: while in macro instantiation
.irp r,r15
^


Referenced Bugs:

https://bugs.llvm.org/show_bug.cgi?id=33405
[Bug 33405] [meta] Using the integrated assembler to build the FreeBSD base
system (kernel + world)
-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to