#!/bin/bash # SPDX-License-Identifier: GPL-2.0 # # Copyright (C) 2015-2019 Jason A. Donenfeld . All Rights Reserved. silent=0 level=0 ifs=( ) while IFS= read -r line; do if [[ $line =~ ^[[:space:]]*(#if.*) ]]; then ifs[level++]=0 if [[ ${BASH_REMATCH[1]} == "#ifndef COMPAT_CANNOT_"* ]]; then ifs[level-1]=-1 continue elif [[ ${BASH_REMATCH[1]} == "#ifdef COMPAT_CANNOT_"* ]]; then ifs[level-1]=1 ((++silent)) continue fi elif [[ $line =~ ^[[:space:]]*#else && ${ifs[level-1]} -ne 0 ]]; then ((ifs[level-1]*=-1)) ((silent+=ifs[level-1])) continue elif [[ $line =~ ^[[:space:]]*#endif ]]; then ((--level)) [[ ${ifs[level]} -eq 1 ]] && ((--silent)) [[ ${ifs[level]} -ne 0 ]] && continue fi [[ $silent -eq 0 ]] && printf '%s\n' "$line" done < "$1" | clang-format -style="{ColumnLimit: 10000}"