Currently when expanding an macro that takes directives as arguments,
the integrated assembler treats the name of a directive and its
arguments separated by space as separate arguments to the macro instead
of one argument. For example, the following sample code will fail to
assemble since .section and .foo are treated as two arguments to the
alternative_inst macro.
.macro alternative_insn insn
\insn
+.endm
+alternative_insn .section .foo
This change fixes such issue by identifying directives used as macro
arguments and include their arguments as part of the macro argument,
such as https://github.com/ClangBuiltLinux/linux/issues/939.
clang-format: please reformat the code