On 2/24/19 12:29 AM, Richard Henderson wrote:
> As a consequence, the 'return false' gets pushed up one level.
>
> This will allow us to perform some other action when the
> translator returns failure.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> scripts/decodetree.py | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/decodetree.py b/scripts/decodetree.py
> index fb9a0ab3ad..dd495096fc 100755
> --- a/scripts/decodetree.py
> +++ b/scripts/decodetree.py
> @@ -348,8 +348,8 @@ class Pattern(General):
> output(ind, self.base.extract_name(), '(&u.f_', arg, ', insn);\n')
> for n, f in self.fields.items():
> output(ind, 'u.f_', arg, '.', n, ' = ', f.str_extract(), ';\n')
> - output(ind, 'return ', translate_prefix, '_', self.name,
> - '(ctx, &u.f_', arg, ');\n')
> + output(ind, 'if (', translate_prefix, '_', self.name,
> + '(ctx, &u.f_', arg, ')) return true;\n')
> # end Pattern
>
>
> @@ -777,8 +777,8 @@ class Tree:
> output(ind, ' /* ',
> str_match_bits(innerbits, innermask), ' */\n')
> s.output_code(i + 4, extracted, innerbits, innermask)
> + output(ind, ' return false;\n')
> output(ind, '}\n')
> - output(ind, 'return false;\n')
> # end Tree
>
>
> @@ -932,6 +932,7 @@ def main():
> output(i4, '} u;\n\n')
>
> t.output_code(4, False, 0, 0)
> + output(i4, 'return false;\n')
>
> output('}\n')
>
>