On Tue, 30 Jan 2024 at 21:35, Jonathan Wakely wrote: > > On 30/01/24 15:02 +0000, Jonathan Wakely wrote: > >That way other subdirectories could add their own extra generated files to > >it. > > Like so. > > mklog: Add lookup for generated files in specific sub-directories > > The mklog.py output for libstdc++-v3/include/bits/version.h is awful.
For example, here's what the mklog output shows for r14-7220-gac1a399bf61b04 (which only actually changed one macro, and just altered the line numbers for the ones following it): * include/bits/version.h (defined): (if): (__glibcxx_bind_back): (__cpp_lib_bind_back): (__glibcxx_want_bind_back): (__glibcxx_want_starts_ends_with): (__glibcxx_want_bit_cast): (__glibcxx_want_bitops): (__glibcxx_want_bounded_array_traits): (__glibcxx_want_concepts): (__glibcxx_want_optional): (__glibcxx_want_destroying_delete): (__glibcxx_want_constexpr_string_view): (__glibcxx_want_endian): (__glibcxx_want_int_pow2): (__glibcxx_want_integer_comparison_functions): (__glibcxx_want_is_constant_evaluated): (__glibcxx_want_constexpr_char_traits): (__glibcxx_want_is_layout_compatible): (__glibcxx_want_is_nothrow_convertible): (__glibcxx_want_is_pointer_interconvertible): (__glibcxx_want_math_constants): (__glibcxx_want_make_obj_using_allocator): (__glibcxx_want_remove_cvref): (__glibcxx_want_source_location): (__glibcxx_want_span): (__glibcxx_want_ssize): (__glibcxx_want_three_way_comparison): (__glibcxx_want_to_address): (__glibcxx_want_to_array): (__glibcxx_want_type_identity): (__glibcxx_want_unwrap_ref): (__glibcxx_want_constexpr_iterator): (__glibcxx_want_interpolate): (__glibcxx_want_constexpr_utility): (__glibcxx_want_shift): (__glibcxx_want_ranges): (__glibcxx_want_constexpr_numeric): (__glibcxx_want_constexpr_functional): (__glibcxx_want_constexpr_algorithms): (__glibcxx_want_constexpr_tuple): (__glibcxx_want_constexpr_memory): (__glibcxx_want_atomic_shared_ptr): (__glibcxx_want_atomic_wait): (__glibcxx_want_barrier): (__glibcxx_want_format): (__glibcxx_want_format_uchar): (__glibcxx_want_constexpr_complex): (__glibcxx_want_constexpr_dynamic_alloc): (__glibcxx_want_constexpr_string): (__glibcxx_want_constexpr_vector): (__glibcxx_want_erase_if): (__glibcxx_want_generic_unordered_lookup): (__glibcxx_want_jthread): (__glibcxx_want_latch): (__glibcxx_want_list_remove_return_type): (__glibcxx_want_polymorphic_allocator): (__glibcxx_want_move_iterator_concept): (__glibcxx_want_semaphore): (__glibcxx_want_smart_ptr_for_overwrite): (__glibcxx_want_syncbuf): (__glibcxx_want_byteswap): (__glibcxx_want_constexpr_charconv): (__glibcxx_want_constexpr_typeinfo): (__glibcxx_want_expected): (__glibcxx_want_freestanding_algorithm): (__glibcxx_want_freestanding_array): (__glibcxx_want_freestanding_cstring): (__glibcxx_want_freestanding_expected): (__glibcxx_want_freestanding_optional): (__glibcxx_want_freestanding_string_view): (__glibcxx_want_freestanding_variant): (__glibcxx_want_invoke_r): (__glibcxx_want_is_scoped_enum): (__glibcxx_want_reference_from_temporary): (__glibcxx_want_ranges_to_container): (__glibcxx_want_ranges_zip): (__glibcxx_want_ranges_chunk): (__glibcxx_want_ranges_slide): (__glibcxx_want_ranges_chunk_by): (__glibcxx_want_ranges_join_with): (__glibcxx_want_ranges_repeat): (__glibcxx_want_ranges_stride): (__glibcxx_want_ranges_cartesian_product): (__glibcxx_want_ranges_as_rvalue): (__glibcxx_want_ranges_as_const): (__glibcxx_want_ranges_enumerate): (__glibcxx_want_ranges_fold): (__glibcxx_want_ranges_contains): (__glibcxx_want_ranges_iota): (__glibcxx_want_ranges_find_last): (__glibcxx_want_constexpr_bitset): (__glibcxx_want_stdatomic_h): (__glibcxx_want_adaptor_iterator_pair_constructor): (__glibcxx_want_formatters): (__glibcxx_want_forward_like): (__glibcxx_want_ios_noreplace): (__glibcxx_want_move_only_function): (__glibcxx_want_out_ptr): (__glibcxx_want_print): (__glibcxx_want_spanstream): (__glibcxx_want_stacktrace): (__glibcxx_want_string_contains): (__glibcxx_want_string_resize_and_overwrite): (__glibcxx_want_to_underlying): (__glibcxx_want_unreachable): (__glibcxx_want_fstream_native_handle): (__glibcxx_want_ratio): (__glibcxx_want_saturation_arithmetic): (__glibcxx_want_to_string): Notice it has nonsense like "if" and "defined" in the function names it tries to guess.