[libav-devel] [GASPP PATCH 2/2] Don't match whitespace as branch condition codes

Janne Grunau janne-libav at jannau.net
Mon Oct 22 20:03:33 CEST 2018


On 2018-10-20 00:18:27 +0300, Martin Storsjö wrote:
> For cases like "b    1b", this could previously be matched as
> $cond = "  ".
> 
> This fixes preprocessing with a preprocessor that preserves multiple
> consecutive spaces, like cl.exe does.
> ---
> Better fix, which also works in a number of cases where the previous
> version failed.
> ---
>  gas-preprocessor.pl | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/gas-preprocessor.pl b/gas-preprocessor.pl
> index b22ee8a..c42412f 100755
> --- a/gas-preprocessor.pl
> +++ b/gas-preprocessor.pl
> @@ -879,7 +879,7 @@ sub handle_serialized_line {
>  
>  
>          # Check branch instructions
> -        if ($line =~ /(?:^|\n)\s*(\w+\s*:\s*)?(bl?x?\.?(..)?(\.w)?)\s+(\w+)/) {
> +        if ($line =~ /(?:^|\n)\s*(\w+\s*:\s*)?(bl?x?\.?([^\s]{2})?(\.w)?)\s+(\w+)/) {
>              my $instr = $2;
>              my $cond = $3;
>              my $width = $4;

both ok

Janne


More information about the libav-devel mailing list