llvm-project/libcxx/utils/generate_ignore_format.sh
varconst 99e52b68a4 [libc++] Fix generate_ignore_format.sh and regenerate the file.
The script incorrectly produced double slashes in paths, e.g.
`libcxx/src//thread.cpp`.
2023-04-13 20:07:18 -07:00

29 lines
909 B
Bash
Executable File

#!/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