| # Copyright lowRISC contributors. |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| # SPDX-License-Identifier: Apache-2.0 |
| # Helper script that reads a file from stdin and replaces every tab character |
| # with at most eight spaces (i.e. what smart tabs would render it as at an |
| # This is useful for cleaning up the output of GCC tools that are excited about |
| # mixing tabs and spaces. |
| # A simple perl program that matches every tab in every line |
| # and replaces it with `8 - n % 8` spaces, where `n` is the |
| # index of the tab. Although the array $@ holds this |
| # information, it does not account for previous tab |
| # replacements, so we need to maintain a running total of |
| # how many new spaces we've added, which we do with `$acc`. |
| my $sp = 8 - ($acc + $-[0]) % 8; |