On 2014-03-24 14:46:10 +0200, Martin Storsjö wrote:
> ---
> gas-preprocessor.pl | 11 ++++++++++-
> test.S | 6 ++++++
> 2 files changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/gas-preprocessor.pl b/gas-preprocessor.pl
> index 16e91ab..6d8e57b 100755
> --- a/gas-preprocessor.pl
> +++ b/gas-preprocessor.pl
> @@ -221,6 +221,7 @@ if ($ENV{GASPP_DEBUG}) {
>
> my $current_macro = '';
> my $macro_level = 0;
> +my $rept_level = 0;
> my %macro_lines;
> my %macro_args;
> my %macro_args_default;
> @@ -384,9 +385,17 @@ sub parse_line {
> }
> }
>
> + if ($macro_level == 0) {
> + if ($line =~ /\.(rept|irp)/) {
> + $rept_level++;
> + } elsif ($line =~ /.endr/) {
> + $rept_level--;
> + }
> + }
> +
> if ($macro_level > 1) {
> push(@{$macro_lines{$current_macro}}, $line);
> - } elsif (scalar(@rept_lines) and $line !~ /\.endr/) {
> + } elsif (scalar(@rept_lines) and $rept_level >= 1) {
> push(@rept_lines, $line);
> } elsif ($macro_level == 0) {
> expand_macros($line);
> diff --git a/test.S b/test.S
> index f6ec894..ec0b861 100644
> --- a/test.S
> +++ b/test.S
> @@ -66,3 +66,9 @@ argtest2 1, 2, 3
> argtest2 1 2 3
> argtest1 1 2 3 + 1
> argtest2 1 2 < 1 3
> +
> +.irpc i, 0123
> + .irpc j, 0123
> + mov r\i, #\j
> + .endr
> +.endr
ok
Janne
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel