fi
${GIT_CLANG_FORMAT} \
--diff \
- --extensions ',h,hh,hpp,hxx,c,cc,cxx,cpp' HEAD~1 \
+ --extensions ',h,hpp,c,cpp,inc,ipp' HEAD~1 \
-- $(find libcxx/{benchmarks,include,src}/ -type f | grep -vf libcxx/utils/data/ignore_format.txt) \
| tee ${BUILD_DIR}/clang-format.patch
# Check if the diff is empty, fail otherwise.
-libcxx/benchmarks/CMakeLists.txt
libcxx/benchmarks/CartesianBenchmarks.h
libcxx/benchmarks/ContainerBenchmarks.h
libcxx/benchmarks/GenerateInput.h
libcxx/benchmarks/format_to.bench.cpp
libcxx/benchmarks/format_to_n.bench.cpp
libcxx/benchmarks/function.bench.cpp
-libcxx/benchmarks/lit.cfg.py
-libcxx/benchmarks/lit.site.cfg.py.in
libcxx/benchmarks/map.bench.cpp
libcxx/benchmarks/ordered_set.bench.cpp
libcxx/benchmarks/random.bench.cpp
libcxx/benchmarks/stringstream.bench.cpp
libcxx/benchmarks/unordered_set_operations.bench.cpp
libcxx/benchmarks/vector_operations.bench.cpp
-libcxx/include/CMakeLists.txt
libcxx/include/__algorithm/binary_search.h
libcxx/include/__algorithm/clamp.h
libcxx/include/__algorithm/comp.h
libcxx/include/__concepts/totally_ordered.h
libcxx/include/condition_variable
libcxx/include/__config
-libcxx/include/__config_site.in
libcxx/include/__coroutine/coroutine_handle.h
libcxx/include/__coroutine/coroutine_traits.h
libcxx/include/__coroutine/noop_coroutine_handle.h
libcxx/include/__iterator/unreachable_sentinel.h
libcxx/include/__iterator/wrap_iter.h
libcxx/include/latch
-libcxx/include/libcxx.imp
libcxx/include/limits
libcxx/include/limits.h
libcxx/include/list
libcxx/include/__memory/uninitialized_algorithms.h
libcxx/include/__memory/unique_ptr.h
libcxx/include/__memory/uses_allocator.h
-libcxx/include/module.modulemap.in
libcxx/include/mutex
libcxx/include/__mutex_base
libcxx/include/new
libcxx/include/__verbose_abort
libcxx/include/wchar.h
libcxx/include/wctype.h
-libcxx/src/CMakeLists.txt
libcxx/src/any.cpp
libcxx/src/atomic.cpp
libcxx/src/barrier.cpp
fi
rm libcxx/utils/data/ignore_format.txt
-for file in $(find libcxx/{benchmarks,include,src}/ -type f); do
+# 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
-sort libcxx/utils/data/ignore_format.txt -d -o libcxx/utils/data/ignore_format.txt
+# 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