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
--
2.2.0
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel