Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[libc++] Remove the ignore_format.txt file #73135

Merged
merged 1 commit into from
Nov 22, 2023

Conversation

ldionne
Copy link
Member

@ldionne ldionne commented Nov 22, 2023

The ignore_format.txt file and the associated checks have been causing a lot of confusion since we introduced them. Formatting becomes one of the main hurdle for contributors (especially new contributors), and that is not great.

The original goal of ignore_format.txt was to enforce clang-format only in a subset of the files of the project. In practice, we have now shifted to a model where we have a Github action that checks whether new code surrounding edits is formatted. In that context, it probably doesn't make sense to keep having a ignore list for formatting files.

After this patch, the clang-format job will enforce that all new code is formatted properly, and that all edits to existing files are formatted properly, regardless of which files the edits are in. This seems reasonable and I believe will lead to much less confusion than our current setup.

In the future, we could consider clang-formatting the whole code base once and for all but this requires a bit of upfront technical work to put in place a merge driver to help resolve merge conflicts across formatting changes.

@ldionne ldionne requested a review from a team as a code owner November 22, 2023 15:13
@llvmbot llvmbot added the libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. label Nov 22, 2023
@llvmbot
Copy link
Collaborator

llvmbot commented Nov 22, 2023

@llvm/pr-subscribers-libcxx

Author: Louis Dionne (ldionne)

Changes

The ignore_format.txt file and the associated checks have been causing a lot of confusion since we introduced them. Formatting becomes one of the main hurdle for contributors (especially new contributors), and that is not great.

The original goal of ignore_format.txt was to enforce clang-format only in a subset of the files of the project. In practice, we have now shifted to a model where we have a Github action that checks whether new code surrounding edits is formatted. In that context, it probably doesn't make sense to keep having a ignore list for formatting files.

After this patch, the clang-format job will enforce that all new code is formatted properly, and that all edits to existing files are formatted properly, regardless of which files the edits are in. This seems reasonable and I believe will lead to much less confusion than our current setup.

In the future, we could consider clang-formatting the whole code base once and for all but this requires a bit of upfront technical work to put in place a merge driver to help resolve merge conflicts across formatting changes.


Patch is 596.66 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/73135.diff

4 Files Affected:

  • (modified) libcxx/utils/ci/run-buildbot (-14)
  • (removed) libcxx/utils/data/ignore_format.txt (-7284)
  • (removed) libcxx/utils/generate_ignore_format.sh (-28)
  • (modified) llvm/utils/git/code-format-helper.py (+1-13)
diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot
index 65d0cd6ee6b2871..58c4c2a1021b600 100755
--- a/libcxx/utils/ci/run-buildbot
+++ b/libcxx/utils/ci/run-buildbot
@@ -231,20 +231,6 @@ check-generated-output)
         false
     fi
 
-    echo "+++ Making sure libcxx/utils/data/ignore_format.txt was updated appropriately"
-    cp ${MONOREPO_ROOT}/libcxx/utils/data/ignore_format.txt ${BUILD_DIR}/before.txt
-    ${MONOREPO_ROOT}/libcxx/utils/generate_ignore_format.sh
-    diff ${BUILD_DIR}/before.txt ${MONOREPO_ROOT}/libcxx/utils/data/ignore_format.txt | tee ${BUILD_DIR}/ignore_format.diff || true
-    if [ -s ${BUILD_DIR}/ignore_format.diff ]; then
-        echo "It looks like the list of not formatted files has changed."
-        echo "If a file is now properly formatted with clang-format, remove the file name from "
-        echo "libcxx/utils/data/ignore_format.txt. Otherwise you have to fix the"
-        echo "formatting of some of the changed files. The diff above represents the "
-        echo "changes that would be needed to ignore_format.txt to keep it representative "
-        echo "of which files are mis-formatted in the project."
-        false
-    fi
-
     # Reject patches that introduce non-ASCII characters or hard tabs.
     # Depends on LC_COLLATE set at the top of this script.
     set -x
diff --git a/libcxx/utils/data/ignore_format.txt b/libcxx/utils/data/ignore_format.txt
deleted file mode 100644
index 67e920c00227c0c..000000000000000
--- a/libcxx/utils/data/ignore_format.txt
+++ /dev/null
@@ -1,7284 +0,0 @@
-libcxx/include/__algorithm/binary_search.h
-libcxx/include/__algorithm/comp_ref_type.h
-libcxx/include/__algorithm/copy_backward.h
-libcxx/include/__algorithm/copy_if.h
-libcxx/include/__algorithm/copy_move_common.h
-libcxx/include/__algorithm/copy_n.h
-libcxx/include/__algorithm/equal.h
-libcxx/include/__algorithm/equal_range.h
-libcxx/include/__algorithm/fill.h
-libcxx/include/__algorithm/fill_n.h
-libcxx/include/__algorithm/find_end.h
-libcxx/include/__algorithm/find_first_of.h
-libcxx/include/__algorithm/for_each_n.h
-libcxx/include/__algorithm/generate.h
-libcxx/include/__algorithm/generate_n.h
-libcxx/include/__algorithm/half_positive.h
-libcxx/include/__algorithm/includes.h
-libcxx/include/__algorithm/in_found_result.h
-libcxx/include/__algorithm/in_fun_result.h
-libcxx/include/__algorithm/in_in_out_result.h
-libcxx/include/__algorithm/in_in_result.h
-libcxx/include/__algorithm/in_out_out_result.h
-libcxx/include/__algorithm/in_out_result.h
-libcxx/include/__algorithm/inplace_merge.h
-libcxx/include/__algorithm/is_heap.h
-libcxx/include/__algorithm/is_heap_until.h
-libcxx/include/__algorithm/is_partitioned.h
-libcxx/include/__algorithm/is_permutation.h
-libcxx/include/__algorithm/is_sorted.h
-libcxx/include/__algorithm/is_sorted_until.h
-libcxx/include/__algorithm/iterator_operations.h
-libcxx/include/__algorithm/iter_swap.h
-libcxx/include/__algorithm/lexicographical_compare.h
-libcxx/include/__algorithm/lower_bound.h
-libcxx/include/__algorithm/make_heap.h
-libcxx/include/__algorithm/make_projected.h
-libcxx/include/__algorithm/max_element.h
-libcxx/include/__algorithm/max.h
-libcxx/include/__algorithm/merge.h
-libcxx/include/__algorithm/min_element.h
-libcxx/include/__algorithm/min.h
-libcxx/include/__algorithm/minmax_element.h
-libcxx/include/__algorithm/minmax.h
-libcxx/include/__algorithm/min_max_result.h
-libcxx/include/__algorithm/mismatch.h
-libcxx/include/__algorithm/move_backward.h
-libcxx/include/__algorithm/move.h
-libcxx/include/__algorithm/next_permutation.h
-libcxx/include/__algorithm/nth_element.h
-libcxx/include/__algorithm/partial_sort_copy.h
-libcxx/include/__algorithm/partial_sort.h
-libcxx/include/__algorithm/partition_copy.h
-libcxx/include/__algorithm/partition.h
-libcxx/include/__algorithm/partition_point.h
-libcxx/include/__algorithm/pop_heap.h
-libcxx/include/__algorithm/prev_permutation.h
-libcxx/include/__algorithm/push_heap.h
-libcxx/include/__algorithm/remove_copy.h
-libcxx/include/__algorithm/remove_copy_if.h
-libcxx/include/__algorithm/remove.h
-libcxx/include/__algorithm/remove_if.h
-libcxx/include/__algorithm/replace_copy.h
-libcxx/include/__algorithm/replace_copy_if.h
-libcxx/include/__algorithm/replace.h
-libcxx/include/__algorithm/replace_if.h
-libcxx/include/__algorithm/reverse_copy.h
-libcxx/include/__algorithm/reverse.h
-libcxx/include/__algorithm/rotate_copy.h
-libcxx/include/__algorithm/rotate.h
-libcxx/include/__algorithm/sample.h
-libcxx/include/__algorithm/search.h
-libcxx/include/__algorithm/search_n.h
-libcxx/include/__algorithm/set_difference.h
-libcxx/include/__algorithm/shift_left.h
-libcxx/include/__algorithm/shift_right.h
-libcxx/include/__algorithm/shuffle.h
-libcxx/include/__algorithm/sift_down.h
-libcxx/include/__algorithm/sort.h
-libcxx/include/__algorithm/sort_heap.h
-libcxx/include/__algorithm/stable_partition.h
-libcxx/include/__algorithm/stable_sort.h
-libcxx/include/__algorithm/swap_ranges.h
-libcxx/include/__algorithm/transform.h
-libcxx/include/__algorithm/uniform_random_bit_generator_adaptor.h
-libcxx/include/__algorithm/unwrap_iter.h
-libcxx/include/any
-libcxx/include/array
-libcxx/include/__atomic/atomic_base.h
-libcxx/include/__atomic/atomic_flag.h
-libcxx/include/__atomic/atomic.h
-libcxx/include/__atomic/atomic_lock_free.h
-libcxx/include/__atomic/atomic_sync.h
-libcxx/include/__atomic/check_memory_order.h
-libcxx/include/__atomic/contention_t.h
-libcxx/include/__atomic/cxx_atomic_impl.h
-libcxx/include/__atomic/fence.h
-libcxx/include/__atomic/kill_dependency.h
-libcxx/include/__atomic/memory_order.h
-libcxx/include/__availability
-libcxx/include/barrier
-libcxx/include/__bit/bit_cast.h
-libcxx/include/__bit/bit_ceil.h
-libcxx/include/__bit/byteswap.h
-libcxx/include/__bit/countl.h
-libcxx/include/__bit/countr.h
-libcxx/include/__bit/endian.h
-libcxx/include/__bit/popcount.h
-libcxx/include/bitset
-libcxx/include/cctype
-libcxx/include/chrono
-libcxx/include/__chrono/calendar.h
-libcxx/include/__chrono/convert_to_timespec.h
-libcxx/include/__chrono/day.h
-libcxx/include/__chrono/duration.h
-libcxx/include/__chrono/file_clock.h
-libcxx/include/__chrono/formatter.h
-libcxx/include/__chrono/hh_mm_ss.h
-libcxx/include/__chrono/high_resolution_clock.h
-libcxx/include/__chrono/literals.h
-libcxx/include/__chrono/monthday.h
-libcxx/include/__chrono/month.h
-libcxx/include/__chrono/month_weekday.h
-libcxx/include/__chrono/steady_clock.h
-libcxx/include/__chrono/system_clock.h
-libcxx/include/__chrono/time_point.h
-libcxx/include/__chrono/weekday.h
-libcxx/include/__chrono/year.h
-libcxx/include/__chrono/year_month_day.h
-libcxx/include/__chrono/year_month.h
-libcxx/include/__chrono/year_month_weekday.h
-libcxx/include/cmath
-libcxx/include/codecvt
-libcxx/include/__compare/common_comparison_category.h
-libcxx/include/__compare/compare_partial_order_fallback.h
-libcxx/include/__compare/compare_strong_order_fallback.h
-libcxx/include/__compare/compare_three_way.h
-libcxx/include/__compare/compare_three_way_result.h
-libcxx/include/__compare/compare_weak_order_fallback.h
-libcxx/include/__compare/ordering.h
-libcxx/include/__compare/partial_order.h
-libcxx/include/__compare/strong_order.h
-libcxx/include/__compare/three_way_comparable.h
-libcxx/include/__compare/weak_order.h
-libcxx/include/complex
-libcxx/include/condition_variable
-libcxx/include/__coroutine/coroutine_handle.h
-libcxx/include/__coroutine/coroutine_traits.h
-libcxx/include/__coroutine/noop_coroutine_handle.h
-libcxx/include/__coroutine/trivial_awaitables.h
-libcxx/include/cstddef
-libcxx/include/ctype.h
-libcxx/include/cuchar
-libcxx/include/__debug_utils/randomize_range.h
-libcxx/include/deque
-libcxx/include/errno.h
-libcxx/include/expected
-libcxx/include/__expected/expected.h
-libcxx/include/experimental/__config
-libcxx/include/experimental/iterator
-libcxx/include/experimental/map
-libcxx/include/experimental/__memory
-libcxx/include/experimental/memory_resource
-libcxx/include/experimental/propagate_const
-libcxx/include/experimental/regex
-libcxx/include/experimental/set
-libcxx/include/experimental/string
-libcxx/include/experimental/type_traits
-libcxx/include/experimental/unordered_map
-libcxx/include/experimental/unordered_set
-libcxx/include/experimental/utility
-libcxx/include/ext/__hash
-libcxx/include/ext/hash_map
-libcxx/include/ext/hash_set
-libcxx/include/fenv.h
-libcxx/include/__filesystem/copy_options.h
-libcxx/include/__filesystem/directory_entry.h
-libcxx/include/__filesystem/directory_iterator.h
-libcxx/include/__filesystem/directory_options.h
-libcxx/include/__filesystem/file_status.h
-libcxx/include/__filesystem/file_type.h
-libcxx/include/__filesystem/operations.h
-libcxx/include/__filesystem/path.h
-libcxx/include/__filesystem/path_iterator.h
-libcxx/include/__filesystem/perm_options.h
-libcxx/include/__filesystem/perms.h
-libcxx/include/__filesystem/recursive_directory_iterator.h
-libcxx/include/__filesystem/u8path.h
-libcxx/include/float.h
-libcxx/include/__format/buffer.h
-libcxx/include/__format/concepts.h
-libcxx/include/__format/escaped_output_table.h
-libcxx/include/__format/extended_grapheme_cluster_table.h
-libcxx/include/__format/format_arg.h
-libcxx/include/__format/format_args.h
-libcxx/include/__format/format_arg_store.h
-libcxx/include/__format/format_context.h
-libcxx/include/__format/format_error.h
-libcxx/include/__format/format_functions.h
-libcxx/include/__format/format_parse_context.h
-libcxx/include/__format/format_string.h
-libcxx/include/__format/formatter_char.h
-libcxx/include/__format/formatter_floating_point.h
-libcxx/include/__format/formatter.h
-libcxx/include/__format/formatter_integer.h
-libcxx/include/__format/formatter_integral.h
-libcxx/include/__format/formatter_output.h
-libcxx/include/__format/formatter_pointer.h
-libcxx/include/__format/formatter_string.h
-libcxx/include/__format/parser_std_format_spec.h
-libcxx/include/__format/unicode.h
-libcxx/include/__format/write_escaped.h
-libcxx/include/forward_list
-libcxx/include/fstream
-libcxx/include/__functional/binary_function.h
-libcxx/include/__functional/binary_negate.h
-libcxx/include/__functional/bind_back.h
-libcxx/include/__functional/binder1st.h
-libcxx/include/__functional/binder2nd.h
-libcxx/include/__functional/bind_front.h
-libcxx/include/__functional/bind.h
-libcxx/include/__functional/boyer_moore_searcher.h
-libcxx/include/__functional/compose.h
-libcxx/include/__functional/default_searcher.h
-libcxx/include/__functional/function.h
-libcxx/include/__functional/hash.h
-libcxx/include/__functional/identity.h
-libcxx/include/__functional/invoke.h
-libcxx/include/__functional/is_transparent.h
-libcxx/include/__functional/mem_fn.h
-libcxx/include/__functional/mem_fun_ref.h
-libcxx/include/__functional/not_fn.h
-libcxx/include/__functional/operations.h
-libcxx/include/__functional/perfect_forward.h
-libcxx/include/__functional/pointer_to_binary_function.h
-libcxx/include/__functional/pointer_to_unary_function.h
-libcxx/include/__functional/ranges_operations.h
-libcxx/include/__functional/reference_wrapper.h
-libcxx/include/__functional/unary_function.h
-libcxx/include/__functional/unary_negate.h
-libcxx/include/__functional/weak_result_type.h
-libcxx/include/future
-libcxx/include/__fwd/get.h
-libcxx/include/__fwd/span.h
-libcxx/include/__fwd/string_view.h
-libcxx/include/__fwd/subrange.h
-libcxx/include/__hash_table
-libcxx/include/initializer_list
-libcxx/include/inttypes.h
-libcxx/include/iomanip
-libcxx/include/ios
-libcxx/include/__ios/fpos.h
-libcxx/include/iosfwd
-libcxx/include/istream
-libcxx/include/__iterator/access.h
-libcxx/include/__iterator/advance.h
-libcxx/include/__iterator/back_insert_iterator.h
-libcxx/include/__iterator/common_iterator.h
-libcxx/include/__iterator/concepts.h
-libcxx/include/__iterator/counted_iterator.h
-libcxx/include/__iterator/data.h
-libcxx/include/__iterator/default_sentinel.h
-libcxx/include/__iterator/distance.h
-libcxx/include/__iterator/empty.h
-libcxx/include/__iterator/erase_if_container.h
-libcxx/include/__iterator/front_insert_iterator.h
-libcxx/include/__iterator/incrementable_traits.h
-libcxx/include/__iterator/indirectly_comparable.h
-libcxx/include/__iterator/insert_iterator.h
-libcxx/include/__iterator/istreambuf_iterator.h
-libcxx/include/__iterator/istream_iterator.h
-libcxx/include/__iterator/iterator.h
-libcxx/include/__iterator/iterator_traits.h
-libcxx/include/__iterator/iter_move.h
-libcxx/include/__iterator/iter_swap.h
-libcxx/include/__iterator/mergeable.h
-libcxx/include/__iterator/move_iterator.h
-libcxx/include/__iterator/move_sentinel.h
-libcxx/include/__iterator/next.h
-libcxx/include/__iterator/ostreambuf_iterator.h
-libcxx/include/__iterator/ostream_iterator.h
-libcxx/include/__iterator/permutable.h
-libcxx/include/__iterator/prev.h
-libcxx/include/__iterator/readable_traits.h
-libcxx/include/__iterator/reverse_access.h
-libcxx/include/__iterator/reverse_iterator.h
-libcxx/include/__iterator/size.h
-libcxx/include/__iterator/sortable.h
-libcxx/include/__iterator/unreachable_sentinel.h
-libcxx/include/__iterator/wrap_iter.h
-libcxx/include/latch
-libcxx/include/limits
-libcxx/include/list
-libcxx/include/__locale
-libcxx/include/locale
-libcxx/include/__locale_dir/locale_base_api/bsd_locale_defaults.h
-libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
-libcxx/include/__locale_dir/locale_base_api/locale_guard.h
-libcxx/include/locale.h
-libcxx/include/map
-libcxx/include/math.h
-libcxx/include/__mbstate_t.h
-libcxx/include/memory
-libcxx/include/__memory/addressof.h
-libcxx/include/__memory/aligned_alloc.h
-libcxx/include/__memory/allocate_at_least.h
-libcxx/include/__memory/allocation_guard.h
-libcxx/include/__memory/allocator_arg_t.h
-libcxx/include/__memory/allocator_destructor.h
-libcxx/include/__memory/allocator.h
-libcxx/include/__memory/allocator_traits.h
-libcxx/include/__memory/assume_aligned.h
-libcxx/include/__memory/auto_ptr.h
-libcxx/include/__memory/builtin_new_allocator.h
-libcxx/include/__memory/compressed_pair.h
-libcxx/include/__memory/concepts.h
-libcxx/include/__memory/construct_at.h
-libcxx/include/__memory/destruct_n.h
-libcxx/include/__memory/pointer_traits.h
-libcxx/include/__memory/ranges_construct_at.h
-libcxx/include/__memory/ranges_uninitialized_algorithms.h
-libcxx/include/__memory/raw_storage_iterator.h
-libcxx/include/__memory/shared_ptr.h
-libcxx/include/__memory/temporary_buffer.h
-libcxx/include/__memory/temp_value.h
-libcxx/include/__memory/uninitialized_algorithms.h
-libcxx/include/__memory/unique_ptr.h
-libcxx/include/__memory/uses_allocator.h
-libcxx/include/mutex
-libcxx/include/new
-libcxx/include/__node_handle
-libcxx/include/numbers
-libcxx/include/__numeric/accumulate.h
-libcxx/include/__numeric/adjacent_difference.h
-libcxx/include/__numeric/exclusive_scan.h
-libcxx/include/__numeric/gcd_lcm.h
-libcxx/include/__numeric/inclusive_scan.h
-libcxx/include/__numeric/inner_product.h
-libcxx/include/__numeric/iota.h
-libcxx/include/__numeric/midpoint.h
-libcxx/include/__numeric/partial_sum.h
-libcxx/include/__numeric/reduce.h
-libcxx/include/__numeric/transform_exclusive_scan.h
-libcxx/include/__numeric/transform_inclusive_scan.h
-libcxx/include/__numeric/transform_reduce.h
-libcxx/include/optional
-libcxx/include/ostream
-libcxx/include/queue
-libcxx/include/__random/bernoulli_distribution.h
-libcxx/include/__random/binomial_distribution.h
-libcxx/include/__random/cauchy_distribution.h
-libcxx/include/__random/chi_squared_distribution.h
-libcxx/include/__random/clamp_to_integral.h
-libcxx/include/__random/discard_block_engine.h
-libcxx/include/__random/discrete_distribution.h
-libcxx/include/__random/exponential_distribution.h
-libcxx/include/__random/extreme_value_distribution.h
-libcxx/include/__random/fisher_f_distribution.h
-libcxx/include/__random/gamma_distribution.h
-libcxx/include/__random/generate_canonical.h
-libcxx/include/__random/geometric_distribution.h
-libcxx/include/__random/independent_bits_engine.h
-libcxx/include/__random/is_seed_sequence.h
-libcxx/include/__random/is_valid.h
-libcxx/include/__random/linear_congruential_engine.h
-libcxx/include/__random/log2.h
-libcxx/include/__random/lognormal_distribution.h
-libcxx/include/__random/mersenne_twister_engine.h
-libcxx/include/__random/negative_binomial_distribution.h
-libcxx/include/__random/normal_distribution.h
-libcxx/include/__random/piecewise_constant_distribution.h
-libcxx/include/__random/piecewise_linear_distribution.h
-libcxx/include/__random/poisson_distribution.h
-libcxx/include/__random/random_device.h
-libcxx/include/__random/ranlux.h
-libcxx/include/__random/seed_seq.h
-libcxx/include/__random/shuffle_order_engine.h
-libcxx/include/__random/student_t_distribution.h
-libcxx/include/__random/subtract_with_carry_engine.h
-libcxx/include/__random/uniform_int_distribution.h
-libcxx/include/__random/uniform_random_bit_generator.h
-libcxx/include/__random/uniform_real_distribution.h
-libcxx/include/__random/weibull_distribution.h
-libcxx/include/ranges
-libcxx/include/__ranges/access.h
-libcxx/include/__ranges/all.h
-libcxx/include/__ranges/common_view.h
-libcxx/include/__ranges/concepts.h
-libcxx/include/__ranges/counted.h
-libcxx/include/__ranges/data.h
-libcxx/include/__ranges/drop_view.h
-libcxx/include/__ranges/empty.h
-libcxx/include/__ranges/empty_view.h
-libcxx/include/__ranges/enable_view.h
-libcxx/include/__ranges/filter_view.h
-libcxx/include/__ranges/iota_view.h
-libcxx/include/__ranges/istream_view.h
-libcxx/include/__ranges/join_view.h
-libcxx/include/__ranges/lazy_split_view.h
-libcxx/include/__ranges/non_propagating_cache.h
-libcxx/include/__ranges/owning_view.h
-libcxx/include/__ranges/range_adaptor.h
-libcxx/include/__ranges/rbegin.h
-libcxx/include/__ranges/ref_view.h
-libcxx/include/__ranges/rend.h
-libcxx/include/__ranges/reverse_view.h
-libcxx/include/__ranges/single_view.h
-libcxx/include/__ranges/size.h
-libcxx/include/__ranges/subrange.h
-libcxx/include/__ranges/take_view.h
-libcxx/include/__ranges/transform_view.h
-libcxx/include/__ranges/view_interface.h
-libcxx/include/__ranges/views.h
-libcxx/include/__ranges/zip_view.h
-libcxx/include/ratio
-libcxx/include/regex
-libcxx/include/scoped_allocator
-libcxx/include/semaphore
-libcxx/include/set
-libcxx/include/span
-libcxx/include/__split_buffer
-libcxx/include/sstream
-libcxx/include/stack
-libcxx/include/stdatomic.h
-libcxx/include/stdbool.h
-libcxx/include/stddef.h
-libcxx/include/stdexcept
-libcxx/include/stdint.h
-libcxx/include/stdio.h
-libcxx/include/stdlib.h
-libcxx/include/streambuf
-libcxx/include/string
-libcxx/include/__string/char_traits.h
-libcxx/include/__string/extern_template_lists.h
-libcxx/include/string.h
-libcxx/include/string_view
-libcxx/include/strstream
-libcxx/include/__support/android/locale_bionic.h
-libcxx/include/__support/fuchsia/xlocale.h
-libcxx/include/__support/ibm/gettod_zos.h
-libcxx/include/__support/ibm/locale_mgmt_zos.h
-libcxx/include/__support/ibm/nanosleep.h
-libcxx/include/__support/ibm/xlocale.h
-libcxx/include/__support/newlib/xlocale.h
-libcxx/include/__support/win32/locale_win32.h
-libcxx/include/__support/xlocale/__nop_locale_mgmt.h
-libcxx/include/__system_error/errc.h
-libcxx/include/thread
-libcxx/include/__thread/formatter.h
-libcxx/include/__threading_support
-libcxx/include/__thread/poll_with_backoff.h
-libcxx/include/__thread/this_thread.h
-libcxx/include/__thread/thread.h
-libcxx/include/__thread/timed_backoff_policy.h
-libcxx/include/__tree
-libcxx/include/tuple
-libcxx/include/__tuple/make_tuple_types.h
-libcxx/include/__tuple/sfinae_helpers.h
-libcxx/include/__tuple/tuple_element.h
-libcxx/include/__tuple/tuple_indices.h
-libcxx/include/__tuple/tuple_like_ext.h
-libcxx/include/__tuple/tuple_size.h
-libcxx/include/__tuple/tuple_types.h
-libcxx/include/typeindex
-libcxx/include/typeinfo
-libcxx/include/uchar.h
-libcxx/include/unordered_map
-libcxx/include/unordered_set
-libcxx/include/__utility/as_const.h
-libcxx/include/__utility/cmp.h
-libcxx/include/__utility/convert_to_integral.h
-libcxx/include/__utility/exchange.h
-libcxx/include/__utility/in_place.h
-libcxx/include/__utility/integer_sequence.h
-libcxx/include/__utility/pair.h
-libcxx/include/__utility/piecewise_construct.h
-libcxx/include/__utility/priority_tag.h
-libcxx/include/__utility/rel_ops.h
-libcxx/include/__utility/to_underlying.h
-libcxx/include/__utility/unreachable.h
-libcxx/include...
[truncated]

Copy link
Contributor

@philnik777 philnik777 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM assuming the answer is "yes".

llvm/utils/git/code-format-helper.py Show resolved Hide resolved
The ignore_format.txt file and the associated checks have been causing
a lot of confusion since we introduced them. Formatting becomes one of
the main hurdle for contributors (especially new contributors), and that
is not great.

The original goal of ignore_format.txt was to enforce clang-format only
in a subset of the files of the project. In practice, we have now shifted
to a model where we have a Github action that checks whether new code
surrounding edits is formatted. In that context, it probably doesn't
make sense to keep having a ignore list for formatting files.

After this patch, the clang-format job will enforce that all new code
is formatted properly, and that all edits to existing files are formatted
properly, regardless of which files the edits are in. This seems reasonable
and I believe will lead to much less confusion than our current setup.

In the future, we could consider clang-formatting the whole code base
once and for all but this requires a bit of upfront technical work to
put in place a merge driver to help resolve merge conflicts across
formatting changes.
@ldionne ldionne merged commit 6772c4f into llvm:main Nov 22, 2023
15 of 16 checks passed
@ldionne ldionne deleted the review/remove-ignore-format branch November 22, 2023 20:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants