#!/bin/bash # Generate a list of headers that aren't formatted yet if [ -z "${CLANG_FORMAT}" ]; then CLANG_FORMAT=clang-format fi rm libcxx/utils/data/ignore_format.txt # This uses the same matches as the check-format CI step. # # Since it's hard to match empty extensions the following # method is used, remove all files with an extension, then # add the list of extensions that should be formatted. for file in $(find libcxx/{benchmarks,include,src} -type f -not -name '*.*' -or \( \ -name "*.h" -or -name "*.hpp" -or \ -name "*.c" -or -name "*.cpp" -or \ -name "*.inc" -or -name "*.ipp" \ \) ); do ${CLANG_FORMAT} --Werror --dry-run ${file} >& /dev/null if [ $? != 0 ]; then echo ${file} >> libcxx/utils/data/ignore_format.txt fi done # Force sorting not to depend on the system's locale. LC_ALL=C sort libcxx/utils/data/ignore_format.txt -d -o libcxx/utils/data/ignore_format.txt