| #!/usr/bin/env bash |
| # |
| # Copyright lowRISC contributors. |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| # Helper script that cleans up the input from stdin (presumed to be the output |
| # of e.g. clang -E) which removes extraneous metadata, such as line-number |
| # directives, which is not particularly useful for readers; also, hits the output |
| # with clang-format (if available as the $CLANG_FORMAT variable). |
| |
| set -e |
| |
| # The first regular expression removes any line starting with `# 123`, which |
| # the preprocessor inserts as a sort of "context string" (this is a GCC-specific |
| # extension that Clang also implements). We then shove it into clang-format. |
| perl -pe 's/# \d+.+$//g' \ |
| | perl -0777pe 's/\n{2,}/\n\n/g' \ |
| | "${CLANG_FORMAT:-cat}" |