On 09/12/14 11:43, Janne Grunau wrote:
The ':req' requires a macro argument to be non blank. Gas-preprocessor
can safely ignore it since it is only expected to handle input gnu as
considers valid.
---
  gas-preprocessor.pl | 4 ++--
  test.S              | 6 ++++++
  2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/gas-preprocessor.pl b/gas-preprocessor.pl
index fbf0853..c402838 100755
--- a/gas-preprocessor.pl
+++ b/gas-preprocessor.pl
@@ -413,7 +413,7 @@ sub parse_line {
              foreach my $i (0 .. $#args) {
                  my @argpair = split(/=/, $args[$i]);
                  $macro_args{$current_macro}[$i] = $argpair[0];
-                $argpair[0] =~ s/:vararg$//;
+                $argpair[0] =~ s/:(req|vararg)$//;
                  $macro_args_default{$current_macro}{$argpair[0]} = 
$argpair[1];
              }
              # ensure %macro_lines has the macro name added as a key
@@ -587,7 +587,7 @@ sub expand_macros {
                      die "Too many arguments to macro $macro";
                  }
              } else {
-                $argname =~ s/:vararg$//;
+                $argname =~ s/:(req|vararg)$//;
                  $replacements{$argname} = $args[$i];
              }
          }
diff --git a/test.S b/test.S
index acf59e9..818bab1 100644
--- a/test.S
+++ b/test.S
@@ -92,3 +92,9 @@ argtest3 1 2 6 / 2
  alttest 5
  alttest 15
  .noaltmacro
+
+.macro req_mod_test first:req
+       mov r0, #\first
+.endm
+
+req_mod_test 3


Ok.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to