From ec45d11fc18658a09b2dc68212c0dce47d07fe66 Mon Sep 17 00:00:00 2001 From: "github-action[bot]" Date: Mon, 10 Jun 2024 20:32:38 +0200 Subject: [PATCH] Update On Mon Jun 10 20:32:37 CEST 2024 --- .github/update.log | 1 + bbdown/BBDown/BBDownLoginUtil.cs | 4 +- clash-meta/go.mod | 2 +- clash-meta/go.sum | 4 +- clash-nyanpasu/backend/Cargo.lock | 4 +- echo/go.mod | 2 + echo/go.sum | 4 + echo/internal/cmgr/metric_sync.go | 4 +- echo/internal/config/config.go | 11 +- echo/pkg/http/http.go | 22 +- .../arm-trusted-firmware-mediatek/Makefile | 8 +- ...01-mediatek-snfi-FM35Q1GA-is-x4-only.patch | 23 + ...just-pin-drive-strength-for-Fidelix-.patch | 99 + ...just-drive-strength-to-12mA-like-old.patch | 135 + mihomo/go.mod | 2 +- mihomo/go.sum | 4 +- naiveproxy/CHROMIUM_VERSION | 2 +- naiveproxy/src/.clang-format | 2 +- naiveproxy/src/.gitattributes | 1 + naiveproxy/src/AUTHORS | 9 +- naiveproxy/src/DEPS | 834 +- naiveproxy/src/base/BUILD.gn | 13 +- naiveproxy/src/base/allocator/BUILD.gn | 6 +- .../src/base/allocator/allocator_check.cc | 5 +- .../base/allocator/dispatcher/dispatcher.cc | 10 +- .../dispatcher/internal/dispatch_data.cc | 4 +- .../dispatcher/internal/dispatch_data.h | 10 +- .../dispatcher/internal/dispatcher_internal.h | 83 +- .../allocator/dispatcher/notification_data.h | 24 +- .../allocator/dispatcher/reentry_guard.cc | 4 +- .../early_zone_registration_apple.cc | 4 +- .../src/base/allocator/miracle_parameter.h | 2 +- .../allocator/partition_alloc_features.cc | 49 +- .../base/allocator/partition_alloc_features.h | 15 +- .../base/allocator/partition_alloc_support.cc | 262 +- .../base/allocator/partition_alloc_support.h | 35 +- .../base/allocator/partition_allocator/DEPS | 14 +- .../partition_allocator/PRESUBMIT.py | 54 + .../partition_allocator/partition_alloc.gni | 69 +- .../src/partition_alloc/BUILD.gn | 94 +- .../src/partition_alloc/aarch64_support.h | 49 + .../partition_alloc/address_pool_manager.cc | 38 +- .../partition_alloc/address_pool_manager.h | 28 +- .../address_pool_manager_bitmap.cc | 8 +- .../address_pool_manager_bitmap.h | 18 +- .../address_space_randomization.cc | 8 +- .../address_space_randomization.h | 6 +- .../src/partition_alloc/address_space_stats.h | 16 +- .../src/partition_alloc/allocation_guard.h | 2 +- .../partition_alloc/arm_bti_test_functions.h | 2 +- .../src/partition_alloc/build_config.h | 10 + .../src/partition_alloc/buildflag.h | 17 + .../src/partition_alloc/buildflag_header.gni | 121 + .../src/partition_alloc/compressed_pointer.cc | 4 +- .../src/partition_alloc/compressed_pointer.h | 28 +- .../partition_alloc/encoded_next_freelist.h | 34 +- .../src/partition_alloc/extended_api.cc | 12 +- .../src/partition_alloc/extended_api.h | 2 +- .../src/partition_alloc/freeslot_bitmap.h | 8 +- .../freeslot_bitmap_constants.h | 6 +- .../src/partition_alloc/gwp_asan_support.cc | 6 +- .../src/partition_alloc/gwp_asan_support.h | 4 +- .../src/partition_alloc/in_slot_metadata.h | 67 +- .../partition_alloc/lightweight_quarantine.cc | 83 +- .../partition_alloc/lightweight_quarantine.h | 71 +- .../src/partition_alloc/memory_reclaimer.cc | 6 +- .../src/partition_alloc/oom.cc | 4 +- .../src/partition_alloc/oom.h | 2 +- .../src/partition_alloc/page_allocator.cc | 2 +- .../src/partition_alloc/page_allocator.h | 10 +- .../page_allocator_constants.h | 2 +- .../page_allocator_internals_posix.cc | 74 +- .../page_allocator_internals_posix.h | 20 +- .../page_allocator_internals_win.h | 2 +- .../partition_address_space.cc | 58 +- .../partition_alloc/partition_address_space.h | 56 +- .../src/partition_alloc/partition_alloc-inl.h | 14 +- .../src/partition_alloc/partition_alloc.cc | 12 +- .../partition_alloc_allocation_data.h | 14 +- .../apple/foundation_util.h | 14 +- .../apple/foundation_util.mm | 8 +- .../partition_alloc_base/apple/mach_logging.h | 10 +- .../partition_alloc_base/check.cc | 4 +- .../partition_alloc_base/check.h | 4 +- .../partition_alloc_base/compiler_specific.h | 14 +- .../partition_alloc_base/cpu.cc | 2 +- .../partition_alloc_base/cpu.h | 2 +- .../partition_alloc_base/debug/stack_trace.cc | 10 +- .../partition_alloc_base/debug/stack_trace.h | 8 +- .../debug/stack_trace_linux.cc | 4 +- .../debug/stack_trace_mac.cc | 2 +- .../partition_alloc_base/files/file_path.h | 2 +- .../partition_alloc_base/files/file_util.h | 2 +- .../fuchsia/fuchsia_logging.h | 14 +- .../partition_alloc_base/immediate_crash.h | 8 +- .../partition_alloc_base/log_message.cc | 18 +- .../partition_alloc_base/log_message.h | 4 +- .../partition_alloc_base/logging.cc | 10 +- .../partition_alloc_base/logging.h | 22 +- .../memory/ref_counted.cc | 4 +- .../partition_alloc_base/memory/ref_counted.h | 18 +- .../partition_alloc_base/native_library.h | 2 +- .../native_library_posix.cc | 10 +- .../partition_alloc_base/no_destructor.h | 4 +- .../numerics/safe_math_shared_impl.h | 2 +- .../posix/eintr_wrapper.h | 2 +- .../posix/safe_strerror.cc | 2 +- .../process/process_handle.h | 2 +- .../partition_alloc_base/rand_util.h | 2 +- .../partition_alloc_base/rand_util_posix.cc | 8 +- .../scoped_clear_last_error.h | 2 +- .../strings/cstring_builder.cc | 4 +- .../strings/cstring_builder.h | 6 +- .../strings/safe_sprintf.cc | 2 +- .../strings/safe_sprintf.h | 2 +- .../strings/stringprintf.h | 2 +- .../partition_alloc_base/thread_annotations.h | 8 +- .../threading/platform_thread.h | 2 +- .../platform_thread_apple_for_testing.mm | 2 +- .../threading/platform_thread_for_testing.h | 2 +- .../platform_thread_internal_posix.h | 2 +- .../threading/platform_thread_posix.cc | 4 +- .../platform_thread_posix_for_testing.cc | 8 +- .../threading/platform_thread_ref.h | 2 +- .../platform_thread_win_for_testing.cc | 8 +- .../partition_alloc_base/time/time.h | 10 +- .../partition_alloc_base/time/time_apple.mm | 2 +- .../time/time_now_posix.cc | 2 +- .../partition_alloc_base/time/time_override.h | 2 +- .../partition_alloc_base/time/time_win.cc | 2 +- .../partition_alloc/partition_alloc_check.h | 18 +- .../partition_alloc/partition_alloc_config.h | 63 +- .../partition_alloc_constants.h | 28 +- .../src/partition_alloc/partition_bucket.cc | 52 +- .../partition_alloc/partition_bucket_lookup.h | 4 +- .../src/partition_alloc/partition_cookie.h | 4 +- .../partition_dcheck_helper.cc | 4 +- .../partition_alloc/partition_dcheck_helper.h | 6 +- .../partition_freelist_entry.h | 24 +- .../src/partition_alloc/partition_lock.h | 18 +- .../src/partition_alloc/partition_oom.cc | 2 +- .../src/partition_alloc/partition_oom.h | 2 +- .../src/partition_alloc/partition_page.cc | 26 +- .../src/partition_alloc/partition_page.h | 38 +- .../partition_page_constants.h | 6 +- .../src/partition_alloc/partition_root.cc | 134 +- .../src/partition_alloc/partition_root.h | 202 +- .../src/partition_alloc/partition_stats.h | 2 +- .../src/partition_alloc/partition_tls.h | 2 +- .../pointers/instance_tracer.cc | 4 +- .../pointers/instance_tracer.h | 2 +- .../src/partition_alloc/pointers/raw_ptr.h | 107 +- .../pointers/raw_ptr_asan_unowned_impl.h | 2 +- .../pointers/raw_ptr_backup_ref_impl.cc | 18 +- .../pointers/raw_ptr_backup_ref_impl.h | 62 +- .../pointers/raw_ptr_exclusion.h | 6 +- .../pointers/raw_ptr_hookable_impl.h | 2 +- .../partition_alloc/pool_offset_freelist.h | 104 +- .../reservation_offset_table.cc | 4 +- .../reservation_offset_table.h | 40 +- .../src/partition_alloc/reverse_bytes.h | 2 +- .../partition_alloc/shim/allocator_dispatch.h | 93 +- .../shim/allocator_interception_apple.h | 4 +- .../shim/allocator_interception_apple.mm | 14 +- .../partition_alloc/shim/allocator_shim.cc | 10 +- .../src/partition_alloc/shim/allocator_shim.h | 23 +- .../shim/allocator_shim_android.cc | 4 +- .../shim/allocator_shim_apple.cc | 16 +- ...ault_dispatch_to_linker_wrapped_symbols.cc | 2 +- ...him_default_dispatch_to_partition_alloc.cc | 24 +- ...shim_default_dispatch_to_partition_alloc.h | 8 +- ...allocator_shim_dispatch_to_noop_on_free.cc | 109 +- .../shim/allocator_shim_functions.h | 13 +- .../shim/allocator_shim_internals.h | 2 +- ...locator_shim_override_apple_default_zone.h | 2 +- .../allocator_shim_override_apple_symbols.h | 4 +- .../allocator_shim_override_cpp_symbols.h | 46 +- ...locator_shim_override_glibc_weak_symbols.h | 4 +- .../allocator_shim_override_libc_symbols.h | 6 +- ...tor_shim_override_linker_wrapped_symbols.h | 4 +- ...allocator_shim_override_ucrt_symbols_win.h | 4 +- .../shim/allocator_shim_win_component.cc | 2 +- .../shim/allocator_shim_win_static.cc | 4 +- .../shim/malloc_zone_functions_apple.h | 4 +- .../shim/nonscannable_allocator.cc | 22 +- .../shim/nonscannable_allocator.h | 18 +- .../shim/shim_alloc_functions.h | 10 +- .../partition_alloc/shim/winheap_stubs_win.cc | 12 +- .../partition_alloc/shim/winheap_stubs_win.h | 4 +- .../src/partition_alloc/spinning_mutex.cc | 2 +- .../src/partition_alloc/spinning_mutex.h | 2 +- .../src/partition_alloc/stack/stack.cc | 6 +- .../starscan/pcscan_internal.cc | 16 +- .../starscan/pcscan_scheduling.cc | 2 +- .../src/partition_alloc/starscan/scan_loop.h | 10 +- .../starscan/write_protector.cc | 2 +- .../starscan/write_protector.h | 2 +- .../src/partition_alloc/tagging.cc | 133 +- .../src/partition_alloc/tagging.h | 32 +- .../src/partition_alloc/thread_cache.cc | 26 +- .../src/partition_alloc/thread_cache.h | 30 +- .../thread_isolation/alignment.h | 6 +- .../partition_alloc/thread_isolation/pkey.cc | 8 +- .../partition_alloc/thread_isolation/pkey.h | 8 +- .../thread_isolation/thread_isolation.cc | 14 +- .../thread_isolation/thread_isolation.h | 24 +- .../src/partition_alloc/use_death_tests.h | 30 + .../partition_alloc/write_buildflag_header.py | 107 + .../src/partition_alloc/yield_processor.h | 2 +- naiveproxy/src/base/android/OWNERS | 3 + .../android/android_hardware_buffer_compat.cc | 2 +- naiveproxy/src/base/android/build_info.cc | 5 +- naiveproxy/src/base/android/build_info.h | 4 + .../src/base/android/build_info_stub.cc | 3 +- naiveproxy/src/base/android/bundle_utils.cc | 11 +- .../base/android/jank_metric_uma_recorder.cc | 4 +- naiveproxy/src/base/android/jni_android.cc | 2 +- naiveproxy/src/base/android/jni_array.cc | 5 + .../src/base/android/jni_conversions.cc | 79 +- naiveproxy/src/base/android/jni_registrar.cc | 5 + .../library_loader/library_prefetcher.cc | 5 + .../src/base/android/linker/linker_jni.cc | 5 + .../memory_pressure_listener_android.cc | 6 + .../orderfile/orderfile_instrumentation.cc | 5 + naiveproxy/src/base/android/pmf_utils.cc | 5 + .../pre_freeze_background_memory_trimmer.cc | 129 +- .../pre_freeze_background_memory_trimmer.h | 53 +- .../base/android/proguard/chromium_apk.flags | 9 +- ...um_code.flags => shared_with_cronet.flags} | 30 +- .../task_scheduler/task_runner_android.cc | 4 +- naiveproxy/src/base/android/token_android.cc | 74 +- naiveproxy/src/base/android/token_android.h | 11 +- .../src/base/android/trace_event_binding.cc | 77 +- .../base/android/unguessable_token_android.cc | 72 +- .../base/android/unguessable_token_android.h | 14 +- naiveproxy/src/base/apple/foundation_util.h | 49 +- naiveproxy/src/base/apple/foundation_util.mm | 10 +- naiveproxy/src/base/apple/mach_logging.cc | 7 + naiveproxy/src/base/apple/osstatus_logging.mm | 4 + naiveproxy/src/base/at_exit.cc | 9 +- naiveproxy/src/base/barrier_callback.h | 1 - naiveproxy/src/base/base64.cc | 13 +- naiveproxy/src/base/base64.h | 9 +- naiveproxy/src/base/base64url.cc | 30 +- naiveproxy/src/base/base64url.h | 8 +- naiveproxy/src/base/base_paths.cc | 2 +- naiveproxy/src/base/base_paths_fuchsia.cc | 6 +- naiveproxy/src/base/base_paths_posix.cc | 8 +- naiveproxy/src/base/base_switches.cc | 13 +- naiveproxy/src/base/big_endian.cc | 167 - naiveproxy/src/base/big_endian.h | 121 +- naiveproxy/src/base/bits.h | 8 +- naiveproxy/src/base/callback_list.h | 2 +- naiveproxy/src/base/check.cc | 13 +- naiveproxy/src/base/check.h | 16 +- naiveproxy/src/base/check_is_test.cc | 8 +- naiveproxy/src/base/check_is_test.h | 17 + naiveproxy/src/base/check_op.cc | 5 + naiveproxy/src/base/command_line.cc | 7 +- naiveproxy/src/base/compiler_specific.h | 49 +- .../src/base/containers/checked_iterators.h | 7 +- .../src/base/containers/circular_deque.h | 5 + naiveproxy/src/base/containers/contains.h | 70 +- naiveproxy/src/base/containers/extend.h | 19 + .../src/base/containers/fixed_flat_map.h | 5 + .../src/base/containers/fixed_flat_set.h | 5 + naiveproxy/src/base/containers/flat_map.h | 1 - naiveproxy/src/base/containers/flat_set.h | 1 - naiveproxy/src/base/containers/flat_tree.h | 5 + naiveproxy/src/base/containers/heap_array.h | 5 + naiveproxy/src/base/containers/id_map.h | 4 +- .../src/base/containers/intrusive_heap.h | 5 + naiveproxy/src/base/containers/lru_cache.h | 3 +- naiveproxy/src/base/containers/ring_buffer.h | 5 + naiveproxy/src/base/containers/small_map.h | 9 +- naiveproxy/src/base/containers/span.h | 1 - naiveproxy/src/base/containers/span_reader.h | 90 + naiveproxy/src/base/containers/span_writer.h | 81 + naiveproxy/src/base/containers/util.h | 2 +- .../src/base/containers/vector_buffer.h | 7 +- naiveproxy/src/base/cpu.cc | 44 +- naiveproxy/src/base/cpu.h | 19 +- naiveproxy/src/base/debug/allocation_trace.h | 4 +- .../src/base/debug/asan_invalid_access.cc | 5 + naiveproxy/src/base/debug/asan_service.cc | 5 + .../src/base/debug/buffered_dwarf_reader.cc | 5 + naiveproxy/src/base/debug/crash_logging.cc | 4 +- naiveproxy/src/base/debug/crash_logging.h | 2 +- naiveproxy/src/base/debug/debug.gni | 7 +- naiveproxy/src/base/debug/debugger_posix.cc | 5 + naiveproxy/src/base/debug/dwarf_line_no.cc | 7 +- naiveproxy/src/base/debug/elf_reader.cc | 5 + .../src/base/debug/invalid_access_win.cc | 5 + naiveproxy/src/base/debug/proc_maps_linux.cc | 5 + naiveproxy/src/base/debug/stack_trace.cc | 5 + naiveproxy/src/base/debug/stack_trace.h | 7 +- .../src/base/debug/stack_trace_android.cc | 5 + .../src/base/debug/stack_trace_fuchsia.cc | 5 + .../src/base/debug/stack_trace_posix.cc | 8 +- naiveproxy/src/base/debug/stack_trace_win.cc | 5 + .../src/base/debug/test_elf_image_builder.cc | 5 + naiveproxy/src/base/feature_list.cc | 53 +- naiveproxy/src/base/feature_list.h | 21 +- naiveproxy/src/base/features.cc | 14 +- naiveproxy/src/base/files/dir_reader_linux.h | 5 + naiveproxy/src/base/files/file.cc | 2 +- naiveproxy/src/base/files/file.h | 4 +- .../src/base/files/file_enumerator_posix.cc | 3 +- .../src/base/files/file_enumerator_win.cc | 6 +- naiveproxy/src/base/files/file_path.cc | 5 + naiveproxy/src/base/files/file_path_watcher.h | 8 +- .../base/files/file_path_watcher_fsevents.cc | 5 + .../base/files/file_path_watcher_kqueue.cc | 5 + .../src/base/files/file_path_watcher_win.cc | 541 +- naiveproxy/src/base/files/file_posix.cc | 19 +- naiveproxy/src/base/files/file_tracing.cc | 2 +- naiveproxy/src/base/files/file_util.cc | 50 +- naiveproxy/src/base/files/file_util.h | 28 +- naiveproxy/src/base/files/file_util_posix.cc | 40 +- naiveproxy/src/base/files/file_util_win.cc | 9 +- naiveproxy/src/base/files/file_win.cc | 10 +- .../src/base/files/important_file_writer.cc | 9 +- .../src/base/files/memory_mapped_file.cc | 4 +- naiveproxy/src/base/files/safe_base_name.h | 2 +- .../src/base/fuchsia/fuchsia_logging.cc | 4 + .../src/base/fuchsia/process_context.cc | 4 +- naiveproxy/src/base/fuchsia/scheduler.h | 8 +- .../src/base/fuchsia/scoped_service_binding.h | 6 +- .../test_component_context_for_process.cc | 2 +- naiveproxy/src/base/functional/bind.h | 2 +- .../src/base/functional/bind_internal.h | 8 +- naiveproxy/src/base/functional/callback.h | 2 +- .../src/base/functional/unretained_traits.h | 2 +- naiveproxy/src/base/hash/hash.cc | 16 +- naiveproxy/src/base/hash/hash.h | 2 +- naiveproxy/src/base/hash/legacy_hash.cc | 3 + naiveproxy/src/base/hash/md5_boringssl.cc | 6 + naiveproxy/src/base/hash/md5_constexpr.h | 2 +- naiveproxy/src/base/hash/sha1_boringssl.cc | 5 + naiveproxy/src/base/i18n/break_iterator.cc | 19 +- naiveproxy/src/base/i18n/break_iterator.h | 2 +- .../base/i18n/build_utf8_validator_tables.cc | 5 + naiveproxy/src/base/i18n/char_iterator.cc | 5 + naiveproxy/src/base/i18n/file_util_icu.cc | 5 + .../src/base/i18n/icu_mergeable_data_file.cc | 30 +- .../src/base/i18n/icu_string_conversions.cc | 11 +- naiveproxy/src/base/i18n/rtl.cc | 7 + .../src/base/i18n/streaming_utf8_validator.cc | 5 + naiveproxy/src/base/i18n/time_formatting.cc | 6 +- naiveproxy/src/base/immediate_crash.h | 6 +- .../src/base/ios/crb_protocol_observers.mm | 2 +- naiveproxy/src/base/ios/device_util.mm | 5 + naiveproxy/src/base/ios/ios_util.mm | 5 + .../base/json/json_file_value_serializer.cc | 2 +- naiveproxy/src/base/json/json_parser.cc | 22 +- naiveproxy/src/base/location.cc | 5 + naiveproxy/src/base/logging.cc | 40 +- naiveproxy/src/base/logging.h | 13 +- naiveproxy/src/base/logging_chromeos.cc | 4 +- naiveproxy/src/base/logging_win.cc | 9 +- naiveproxy/src/base/mac/authorization_util.mm | 5 + .../src/base/mac/mach_port_rendezvous.cc | 4 +- naiveproxy/src/base/mac/os_crash_dumps.cc | 5 + .../launch_application_test_helper_main.m | 5 + .../src/base/memory/discardable_memory.cc | 2 +- .../base/memory/discardable_shared_memory.cc | 95 +- .../base/memory/discardable_shared_memory.h | 37 +- .../madv_free_discardable_memory_posix.cc | 7 +- .../base/memory/memory_pressure_listener.cc | 2 +- .../src/base/memory/nonscannable_memory.cc | 10 +- .../platform_shared_memory_mapper_android.cc | 5 + .../platform_shared_memory_mapper_apple.cc | 10 +- .../platform_shared_memory_mapper_fuchsia.cc | 5 + .../platform_shared_memory_mapper_posix.cc | 5 + .../platform_shared_memory_mapper_win.cc | 5 + .../memory/platform_shared_memory_region.h | 2 +- .../platform_shared_memory_region_android.cc | 4 +- .../platform_shared_memory_region_apple.cc | 4 +- .../platform_shared_memory_region_fuchsia.cc | 6 +- .../platform_shared_memory_region_posix.cc | 6 +- .../platform_shared_memory_region_win.cc | 2 +- naiveproxy/src/base/memory/protected_memory.h | 5 + naiveproxy/src/base/memory/raw_ptr.h | 2 - naiveproxy/src/base/memory/raw_ptr.md | 8 +- .../memory/raw_ptr_asan_bound_arg_tracker.cc | 4 +- .../memory/raw_ptr_asan_bound_arg_tracker.h | 4 +- .../src/base/memory/raw_ptr_asan_hooks.cc | 4 +- .../src/base/memory/raw_ptr_asan_hooks.h | 4 +- .../src/base/memory/raw_ptr_asan_service.cc | 9 +- .../src/base/memory/raw_ptr_asan_service.h | 4 +- naiveproxy/src/base/memory/raw_ref.h | 2 - .../raw_scoped_refptr_mismatch_checker.h | 1 - naiveproxy/src/base/memory/ref_counted.h | 1 - .../src/base/memory/ref_counted_memory.cc | 86 +- .../src/base/memory/ref_counted_memory.h | 154 +- naiveproxy/src/base/memory/safety_checks.h | 141 +- .../src/base/memory/shared_memory_mapping.cc | 5 + .../src/base/memory/shared_memory_mapping.h | 12 + .../memory/shared_memory_security_policy.cc | 2 +- .../src/base/memory/shared_memory_switch.cc | 10 +- .../src/base/memory/shared_memory_tracker.cc | 2 +- .../src/base/message_loop/message_pump.cc | 4 +- .../src/base/message_loop/message_pump.h | 8 +- .../base/message_loop/message_pump_android.cc | 2 +- .../base/message_loop/message_pump_apple.mm | 9 +- .../base/message_loop/message_pump_epoll.cc | 2 +- .../base/message_loop/message_pump_fuchsia.cc | 12 +- .../base/message_loop/message_pump_glib.cc | 7 +- .../base/message_loop/message_pump_io_ios.cc | 12 +- .../base/message_loop/message_pump_kqueue.cc | 8 +- .../message_loop/message_pump_libevent.cc | 5 +- .../src/base/message_loop/message_pump_win.cc | 41 +- .../src/base/message_loop/message_pump_win.h | 33 +- naiveproxy/src/base/metrics/crc32.cc | 2 +- naiveproxy/src/base/metrics/crc32.h | 4 +- .../src/base/metrics/dummy_histogram.cc | 6 +- naiveproxy/src/base/metrics/field_trial.cc | 8 +- naiveproxy/src/base/metrics/field_trial.h | 9 +- .../src/base/metrics/field_trial_params.h | 17 +- .../metrics/field_trial_params_nocompile.nc | 12 +- naiveproxy/src/base/metrics/histogram.cc | 4 +- naiveproxy/src/base/metrics/histogram_base.cc | 6 +- naiveproxy/src/base/metrics/histogram_base.h | 4 +- .../src/base/metrics/histogram_functions.h | 4 +- .../base/metrics/histogram_shared_memory.cc | 6 +- .../metrics/persistent_histogram_allocator.cc | 38 +- .../metrics/persistent_memory_allocator.cc | 19 +- .../metrics/persistent_memory_allocator.h | 7 +- .../src/base/metrics/persistent_sample_map.cc | 4 +- naiveproxy/src/base/metrics/sample_vector.cc | 11 +- naiveproxy/src/base/metrics/sample_vector.h | 5 + .../src/base/metrics/sparse_histogram.cc | 2 +- .../src/base/metrics/statistics_recorder.cc | 3 +- .../src/base/metrics/statistics_recorder.h | 10 +- naiveproxy/src/base/native_library_fuchsia.cc | 2 +- naiveproxy/src/base/native_library_posix.cc | 2 +- naiveproxy/src/base/nix/mime_util_xdg.cc | 13 +- naiveproxy/src/base/nix/mime_util_xdg.h | 2 +- naiveproxy/src/base/no_destructor.h | 2 +- naiveproxy/src/base/notreached.h | 38 +- naiveproxy/src/base/numerics/.clang-tidy | 2 + naiveproxy/src/base/numerics/.clangd | 3 + naiveproxy/src/base/numerics/basic_ops_impl.h | 2 +- naiveproxy/src/base/numerics/checked_math.h | 7 +- .../src/base/numerics/checked_math_impl.h | 7 +- naiveproxy/src/base/numerics/clamped_math.h | 7 +- .../src/base/numerics/clamped_math_impl.h | 8 +- .../src/base/numerics/safe_conversions.h | 4 +- .../base/numerics/safe_conversions_arm_impl.h | 5 +- .../src/base/numerics/safe_conversions_impl.h | 3 + naiveproxy/src/base/numerics/safe_math.h | 6 +- .../src/base/numerics/safe_math_arm_impl.h | 4 +- .../base/numerics/safe_math_clang_gcc_impl.h | 6 +- .../src/base/numerics/safe_math_shared_impl.h | 10 +- naiveproxy/src/base/observer_list.h | 10 +- naiveproxy/src/base/os_compat_android.cc | 159 +- naiveproxy/src/base/os_compat_android.h | 9 +- naiveproxy/src/base/pickle.cc | 5 + naiveproxy/src/base/pickle.h | 5 + naiveproxy/src/base/posix/safe_strerror.cc | 5 + .../src/base/posix/unix_domain_socket.cc | 7 +- .../power_monitor/battery_level_provider.cc | 4 +- .../battery_level_provider_win.cc | 2 +- .../power_monitor/battery_state_sampler.cc | 2 +- .../power_monitor/power_monitor_source.cc | 2 +- .../thermal_state_observer_mac.mm | 2 +- .../src/base/process/environment_internal.cc | 5 + naiveproxy/src/base/process/internal_aix.cc | 2 +- naiveproxy/src/base/process/internal_linux.cc | 14 +- naiveproxy/src/base/process/kill.h | 4 +- naiveproxy/src/base/process/launch_posix.cc | 5 + naiveproxy/src/base/process/memory.cc | 8 +- naiveproxy/src/base/process/memory.h | 2 +- naiveproxy/src/base/process/memory_fuchsia.cc | 6 +- naiveproxy/src/base/process/memory_linux.cc | 8 +- naiveproxy/src/base/process/memory_mac.mm | 30 +- naiveproxy/src/base/process/memory_win.cc | 12 +- .../src/base/process/process_info_win.cc | 2 +- .../base/process/process_iterator_fuchsia.cc | 4 +- .../base/process/process_iterator_linux.cc | 6 +- naiveproxy/src/base/process/process_linux.cc | 8 +- .../base/process/process_metrics_freebsd.cc | 2 +- .../base/process/process_metrics_fuchsia.cc | 4 +- .../src/base/process/process_metrics_linux.cc | 7 +- .../base/process/process_metrics_openbsd.cc | 2 +- .../base/process/set_process_title_linux.cc | 5 + .../base/profiler/chrome_unwinder_android.cc | 9 +- naiveproxy/src/base/profiler/frame.h | 4 +- .../base/profiler/frame_pointer_unwinder.cc | 7 +- .../libunwindstack_unwinder_android.cc | 2 +- naiveproxy/src/base/profiler/module_cache.cc | 2 +- .../src/base/profiler/module_cache_apple.cc | 5 + .../src/base/profiler/module_cache_posix.cc | 4 +- .../base/profiler/native_unwinder_android.cc | 4 +- .../src/base/profiler/native_unwinder_win.cc | 2 +- .../src/base/profiler/register_context.h | 7 +- naiveproxy/src/base/profiler/stack_buffer.cc | 5 + naiveproxy/src/base/profiler/stack_copier.cc | 5 + .../src/base/profiler/stack_copier_signal.cc | 4 +- .../stack_sampling_profiler_test_util.cc | 7 +- .../suspendable_thread_delegate_mac.cc | 5 + .../suspendable_thread_delegate_win.cc | 4 +- .../base/profiler/thread_delegate_posix.cc | 5 + .../profiler/win32_stack_frame_unwinder.cc | 6 +- naiveproxy/src/base/rand_util.cc | 9 +- naiveproxy/src/base/rand_util.h | 10 +- naiveproxy/src/base/rand_util_fuchsia.cc | 9 +- naiveproxy/src/base/rand_util_nacl.cc | 4 - naiveproxy/src/base/rand_util_posix.cc | 24 +- naiveproxy/src/base/rand_util_win.cc | 18 +- naiveproxy/src/base/ranges/algorithm.h | 83 +- naiveproxy/src/base/ranges/ranges.h | 5 + naiveproxy/src/base/run_loop.cc | 2 +- .../sampling_heap_profiler.cc | 7 +- naiveproxy/src/base/stack_canary_linux.cc | 7 +- naiveproxy/src/base/strings/cstring_view.h | 25 +- .../base/strings/cstring_view_nocompile.nc | 2 + naiveproxy/src/base/strings/escape.cc | 11 +- .../base/strings/latin1_string_conversions.cc | 5 + naiveproxy/src/base/strings/pattern.cc | 5 + naiveproxy/src/base/strings/safe_sprintf.cc | 5 + naiveproxy/src/base/strings/strcat_internal.h | 5 + .../base/strings/string_number_conversions.h | 5 + .../string_number_conversions_internal.h | 5 + naiveproxy/src/base/strings/string_piece.h | 2 +- .../src/base/strings/string_tokenizer.h | 5 + naiveproxy/src/base/strings/string_util.cc | 5 + naiveproxy/src/base/strings/string_util.h | 5 + .../base/strings/string_util_impl_helpers.h | 7 +- naiveproxy/src/base/strings/stringprintf.h | 6 +- .../strings/sys_string_conversions_posix.cc | 5 + naiveproxy/src/base/strings/to_string.h | 1 - .../strings/utf_string_conversion_utils.cc | 5 + .../base/strings/utf_string_conversions.cc | 5 + .../substring_set_matcher.cc | 5 + .../substring_set_matcher.h | 5 + naiveproxy/src/base/sync_socket.h | 12 +- naiveproxy/src/base/sync_socket_posix.cc | 5 + naiveproxy/src/base/sync_socket_win.cc | 9 +- .../base/synchronization/waitable_event.cc | 5 + .../synchronization/waitable_event_apple.cc | 7 +- .../synchronization/waitable_event_posix.cc | 7 +- .../waitable_event_watcher_mac.cc | 2 +- .../waitable_event_watcher_posix.cc | 2 +- .../synchronization/waitable_event_win.cc | 5 + naiveproxy/src/base/system/sys_info.cc | 4 +- .../src/base/system/sys_info_chromeos.cc | 7 +- .../src/base/system/sys_info_freebsd.cc | 4 +- .../src/base/system/sys_info_fuchsia.cc | 8 +- naiveproxy/src/base/system/sys_info_ios.mm | 2 +- naiveproxy/src/base/system/sys_info_mac.mm | 2 +- .../src/base/system/sys_info_openbsd.cc | 4 +- naiveproxy/src/base/system/sys_info_posix.cc | 12 +- naiveproxy/src/base/system/sys_info_win.cc | 7 +- .../src/base/task/cancelable_task_tracker.h | 2 +- naiveproxy/src/base/task/current_thread.cc | 6 +- naiveproxy/src/base/task/current_thread.h | 13 +- naiveproxy/src/base/task/post_job.cc | 2 +- .../sequence_manager/associated_thread_id.cc | 57 +- .../sequence_manager/associated_thread_id.h | 26 +- .../task/sequence_manager/atomic_flag_set.cc | 5 + .../sequence_manager/sequence_manager_impl.cc | 15 +- .../sequence_manager/sequence_manager_impl.h | 9 +- .../base/task/sequence_manager/task_order.h | 2 +- .../task/sequence_manager/task_queue_impl.cc | 23 +- .../task/sequence_manager/task_queue_impl.h | 19 +- .../sequence_manager/task_time_observer.cc | 13 + .../sequence_manager/task_time_observer.h | 6 +- .../test/mock_time_message_pump.cc | 5 +- .../sequence_manager/thread_controller.cc | 87 +- .../task/sequence_manager/thread_controller.h | 28 +- .../thread_controller_impl.cc | 12 +- .../sequence_manager/thread_controller_impl.h | 2 +- .../thread_controller_power_monitor.cc | 3 +- ...hread_controller_with_message_pump_impl.cc | 3 +- .../task/sequence_manager/wake_up_queue.cc | 4 +- .../task/sequence_manager/work_queue_sets.h | 4 +- .../src/base/task/sequenced_task_runner.h | 6 +- naiveproxy/src/base/task/task_traits.cc | 4 +- naiveproxy/src/base/task/thread_pool.h | 8 +- .../base/task/thread_pool/job_task_source.cc | 3 +- ...ooled_single_thread_task_runner_manager.cc | 5 + .../src/base/task/thread_pool/task_tracker.cc | 2 +- .../src/base/task/thread_pool/thread_group.cc | 4 +- .../thread_group_worker_delegate.h | 1 - .../src/base/task/thread_pool/tracked_ref.h | 1 - .../base/task/thread_pool/worker_thread.cc | 14 +- .../src/base/task/thread_pool/worker_thread.h | 4 +- .../worker_thread_waitable_event.cc | 2 +- naiveproxy/src/base/template_util.h | 23 - naiveproxy/src/base/test/BUILD.gn | 7 +- .../src/base/test/fake_iasync_operation_win.h | 8 +- .../test/gtest_xml_unittest_result_printer.cc | 14 + .../test/gtest_xml_unittest_result_printer.h | 8 +- naiveproxy/src/base/test/ios/wait_util.h | 2 +- .../src/base/test/launcher/test_launcher.cc | 5 + .../src/base/test/launcher/test_launcher.h | 2 +- .../src/base/test/launcher/test_result.cc | 2 +- .../test/launcher/test_results_tracker.cc | 7 +- .../memory/dangling_ptr_instrumentation.cc | 4 +- naiveproxy/src/base/test/perf_log.cc | 11 +- naiveproxy/src/base/test/task_environment.cc | 4 +- .../src/base/test/test_child_process.cc | 5 + .../src/base/test/test_file_util_mac.cc | 3 +- .../src/base/test/test_file_util_posix.cc | 8 +- .../src/base/test/test_file_util_win.cc | 2 +- naiveproxy/src/base/test/test_message_loop.cc | 2 +- .../src/base/test/test_shared_memory_util.cc | 4 +- naiveproxy/src/base/test/test_suite.cc | 34 +- naiveproxy/src/base/test/test_timeouts.cc | 7 +- .../src/base/test/test_trace_processor.cc | 2 - .../src/base/test/test_trace_processor.h | 4 +- .../src/base/test/trace_event_analyzer.cc | 12 +- naiveproxy/src/base/test/trace_to_file.cc | 2 +- .../src/base/test/with_feature_override.cc | 2 +- .../src/base/test/with_feature_override.h | 2 +- .../third_party/dynamic_annotations/BUILD.gn | 27 - .../base/third_party/dynamic_annotations/DEPS | 4 - .../third_party/dynamic_annotations/LICENSE | 28 - .../dynamic_annotations/README.chromium | 28 - .../dynamic_annotations/dynamic_annotations.c | 269 - .../dynamic_annotations/dynamic_annotations.h | 597 - .../dynamic_annotations_compiletest.cc | 10 - naiveproxy/src/base/threading/hang_watcher.cc | 12 +- naiveproxy/src/base/threading/hang_watcher.h | 1 - .../src/base/threading/platform_thread.h | 39 +- .../base/threading/platform_thread_apple.mm | 7 +- .../base/threading/platform_thread_cros.cc | 61 +- .../base/threading/platform_thread_fuchsia.cc | 14 +- .../platform_thread_internal_posix.cc | 2 +- .../base/threading/platform_thread_linux.cc | 53 +- .../base/threading/platform_thread_posix.cc | 6 +- .../src/base/threading/platform_thread_win.cc | 9 +- .../scoped_blocking_call_internal.cc | 5 + .../src/base/threading/sequence_bound.h | 8 +- .../base/threading/sequence_bound_internal.h | 4 +- .../threading/sequence_local_storage_slot.h | 1 - .../src/base/threading/thread_checker.cc | 3 +- .../src/base/threading/thread_checker.h | 5 +- .../base/threading/thread_collision_warner.cc | 2 +- .../base/threading/thread_collision_warner.h | 3 +- .../base/threading/thread_local_storage.cc | 7 +- .../src/base/threading/thread_restrictions.h | 9 +- naiveproxy/src/base/time/time.cc | 2 +- naiveproxy/src/base/time/time.h | 20 +- naiveproxy/src/base/time/time_now_posix.cc | 2 +- naiveproxy/src/base/timer/mock_timer.cc | 9 +- naiveproxy/src/base/timer/timer.h | 2 +- naiveproxy/src/base/token.cc | 9 +- naiveproxy/src/base/token.h | 5 + .../address_space_dump_provider.cc | 31 +- .../src/base/trace_event/base_tracing.h | 30 +- .../src/base/trace_event/builtin_categories.h | 11 +- .../src/base/trace_event/category_registry.cc | 7 +- .../src/base/trace_event/category_registry.h | 5 + .../base/trace_event/cfi_backtrace_android.cc | 5 + .../trace_event/common/trace_event_common.h | 884 +- .../trace_event/cpufreq_monitor_android.cc | 5 + .../base/trace_event/etw_interceptor_win.cc | 2 +- .../src/base/trace_event/heap_profiler.h | 2 +- .../heap_profiler_allocation_context.cc | 5 + ...eap_profiler_allocation_context_tracker.cc | 2 +- ...heap_profiler_allocation_context_tracker.h | 2 +- .../base/trace_event/interned_args_helper.cc | 5 - .../base/trace_event/interned_args_helper.h | 13 - .../src/base/trace_event/log_message.cc | 2 +- .../base/trace_event/malloc_dump_provider.cc | 158 +- .../base/trace_event/malloc_dump_provider.h | 38 +- .../base/trace_event/memory_allocator_dump.cc | 6 +- .../base/trace_event/memory_dump_manager.cc | 9 +- .../trace_event/memory_dump_request_args.cc | 8 +- .../memory_infra_background_allowlist.cc | 20 +- .../base/trace_event/memory_usage_estimator.h | 6 +- .../base/trace_event/process_memory_dump.cc | 9 +- .../src/base/trace_event/trace_arguments.cc | 13 +- .../src/base/trace_event/trace_arguments.h | 13 +- .../src/base/trace_event/trace_buffer.cc | 5 + .../src/base/trace_event/trace_buffer.h | 5 + .../src/base/trace_event/trace_config.cc | 4 - .../src/base/trace_event/trace_config.h | 2 - naiveproxy/src/base/trace_event/trace_event.h | 329 +- .../trace_event/trace_event_etw_export_win.cc | 13 +- .../trace_event/trace_event_etw_export_win.h | 9 +- .../src/base/trace_event/trace_event_impl.cc | 6 +- .../src/base/trace_event/trace_event_impl.h | 6 +- .../trace_event_memory_overhead.cc | 11 +- .../src/base/trace_event/trace_event_stub.h | 249 +- naiveproxy/src/base/trace_event/trace_log.cc | 238 +- naiveproxy/src/base/trace_event/trace_log.h | 28 - .../trace_event/trace_logging_minimal_win.cc | 5 + .../trace_event/trace_logging_minimal_win.h | 5 + .../src/base/trace_event/traced_value.cc | 9 +- .../src/base/trace_event/typed_macros.h | 82 - .../base/trace_event/typed_macros_internal.cc | 2 +- .../base/trace_event/typed_macros_internal.h | 55 - .../src/base/tracing/perfetto_task_runner.cc | 4 +- .../tracing/protos/chrome_track_event.proto | 63 +- .../tracing/stdlib/chrome/chrome_scrolls.sql | 31 +- .../chrome/scroll_jank/scroll_jank_v3.sql | 179 +- .../chrome/scroll_jank/scroll_offsets.sql | 205 +- .../stdlib/chrome/scroll_jank/utils.sql | 15 + .../scroll_offsets_trace_2.pftrace.sha256 | 1 + .../diff_tests/chrome/tests_scroll_jank.py | 60 +- .../src/base/types/cxx23_is_scoped_enum.h | 33 + naiveproxy/src/base/types/expected_internal.h | 1 - naiveproxy/src/base/types/expected_macros.h | 2 +- .../src/base/unsafe_buffers_nocompile.nc | 3 +- naiveproxy/src/base/uuid.cc | 2 +- naiveproxy/src/base/uuid.h | 2 +- naiveproxy/src/base/values.cc | 13 +- naiveproxy/src/base/values.h | 209 +- naiveproxy/src/base/vlog.cc | 21 +- naiveproxy/src/base/vlog.h | 8 +- naiveproxy/src/base/win/access_token.cc | 5 + naiveproxy/src/base/win/atl.h | 16 +- .../src/base/win/com_init_check_hook.cc | 38 +- naiveproxy/src/base/win/com_init_util.cc | 2 +- naiveproxy/src/base/win/dllmain.cc | 102 - naiveproxy/src/base/win/enum_variant.cc | 5 + .../src/base/win/event_trace_controller.cc | 7 +- .../src/base/win/event_trace_controller.h | 7 +- .../src/base/win/event_trace_provider.h | 7 +- naiveproxy/src/base/win/iat_patch_function.cc | 14 +- naiveproxy/src/base/win/map.h | 2 +- naiveproxy/src/base/win/patch_util.cc | 2 +- naiveproxy/src/base/win/pe_image.cc | 5 + naiveproxy/src/base/win/pe_image_reader.cc | 5 + naiveproxy/src/base/win/post_async_results.h | 2 +- naiveproxy/src/base/win/propvarutil.h | 4 +- naiveproxy/src/base/win/registry.cc | 4 +- naiveproxy/src/base/win/resource_util.cc | 2 +- naiveproxy/src/base/win/scoped_bstr.cc | 5 + naiveproxy/src/base/win/scoped_handle.h | 6 +- .../src/base/win/scoped_handle_verifier.h | 5 + naiveproxy/src/base/win/scoped_hglobal.h | 5 + naiveproxy/src/base/win/scoped_hstring.cc | 2 +- naiveproxy/src/base/win/scoped_safearray.h | 5 + .../src/base/win/security_descriptor.cc | 2 +- naiveproxy/src/base/win/shlwapi.h | 4 +- naiveproxy/src/base/win/shortcut.cc | 16 +- naiveproxy/src/base/win/sid.cc | 7 +- naiveproxy/src/base/win/sphelper.h | 4 +- naiveproxy/src/base/win/variant_vector.cc | 9 +- naiveproxy/src/base/win/win_util.cc | 5 + naiveproxy/src/base/win/windows_version.cc | 2 +- .../src/base/win/winrt_foundation_helpers.h | 5 + .../src/base/win/wrapped_window_proc.cc | 2 +- naiveproxy/src/build/.clang-tidy | 3 + naiveproxy/src/build/.clangd | 4 + naiveproxy/src/build/DEPS | 82 + naiveproxy/src/build/OWNERS | 8 +- naiveproxy/src/build/android/BUILD.gn | 17 +- naiveproxy/src/build/android/PRESUBMIT.py | 23 +- .../src/build/android/apk_operations.py | 16 +- .../build/android/chromium_annotations.flags | 10 +- .../build/android/docs/java_optimization.md | 2 +- .../src/build/android/generate_wrap_sh.py | 43 + .../src/build/android/gyp/apkbuilder.py | 3 +- .../src/build/android/gyp/compile_java.py | 12 +- .../build/android/gyp/create_app_bundle.py | 2 +- .../src/build/android/gyp/finalize_apk.py | 2 +- .../src/build/android/gyp/gcc_preprocess.py | 43 +- .../build/android/gyp/gcc_preprocess_tests.py | 151 + .../gyp/generate_linker_version_script.py | 2 +- .../src/build/android/gyp/java_cpp_enum.py | 38 +- .../build/android/gyp/java_cpp_enum_tests.py | 54 + naiveproxy/src/build/android/gyp/lint.py | 3 +- naiveproxy/src/build/android/gyp/proguard.py | 33 +- .../src/build/android/gyp/util/diff_utils.py | 14 +- .../build/android/gyp/util/java_cpp_utils.py | 2 +- .../build/android/gyp/util/resource_utils.py | 11 +- .../pylib/android/logcat_symbolizer.py | 2 +- .../build/android/pylib/base/environment.py | 4 +- .../pylib/gtest/gtest_test_instance.py | 3 + .../instrumentation_test_instance_test.py | 4 - .../local/device/local_device_environment.py | 9 +- .../local/device/local_device_gtest_run.py | 36 +- .../local_device_instrumentation_test_run.py | 50 +- ...al_device_instrumentation_test_run_test.py | 2 +- .../local/device/local_device_test_run.py | 14 +- .../build/android/pylib/local/emulator/avd.py | 10 +- .../emulator/local_emulator_environment.py | 12 +- .../pylib/local/local_test_server_spawner.py | 14 +- .../machine/local_machine_junit_test_run.py | 3 +- .../presentation/standard_gtest_merge.py | 2 +- .../pylib/utils/device_dependencies.py | 2 +- .../build/android/pylib/utils/gold_utils.py | 9 + .../android/pylib/utils/gold_utils_test.py | 96 +- .../src/build/android/pylib/valgrind_tools.py | 116 - .../src/build/android/resource_sizes.py | 2 +- naiveproxy/src/build/android/test_runner.py | 14 +- .../src/build/android/test_runner.pydeps | 1 - .../src/build/apple/tweak_info_plist.py | 2 +- .../src/build/check_gn_headers_whitelist.txt | 2 - naiveproxy/src/build/chromeos/test_runner.py | 7 +- naiveproxy/src/build/cipd/cipd.gni | 2 +- naiveproxy/src/build/config/BUILD.gn | 2 +- naiveproxy/src/build/config/BUILDCONFIG.gn | 5 + naiveproxy/src/build/config/android/BUILD.gn | 7 + naiveproxy/src/build/config/android/abi.gni | 2 +- .../src/build/config/android/config.gni | 17 +- .../build/config/android/internal_rules.gni | 59 +- naiveproxy/src/build/config/android/rules.gni | 243 +- .../src/build/config/android/system_image.gni | 69 +- naiveproxy/src/build/config/arm.gni | 2 +- naiveproxy/src/build/config/cast.gni | 2 +- naiveproxy/src/build/config/chrome_build.gni | 2 +- .../src/build/config/chromeos/rules.gni | 4 +- .../src/build/config/chromeos/ui_mode.gni | 2 +- naiveproxy/src/build/config/clang/BUILD.gn | 18 +- naiveproxy/src/build/config/clang/clang.gni | 2 +- naiveproxy/src/build/config/compiler/BUILD.gn | 155 +- .../src/build/config/compiler/compiler.gni | 22 +- .../src/build/config/compiler/pgo/BUILD.gn | 6 + .../src/build/config/compiler/pgo/pgo.gni | 3 + naiveproxy/src/build/config/coverage/BUILD.gn | 2 +- .../src/build/config/dcheck_always_on.gni | 2 +- naiveproxy/src/build/config/fuchsia/BUILD.gn | 12 +- .../fuchsia/generate_runner_scripts.gni | 2 +- .../src/build/config/fuchsia/gn_configs.gni | 2 +- ...ackaged_content_embedder_excluded_dirs.gni | 2 +- .../size_optimized_cast_receiver_args.gn | 3 +- .../fuchsia/test/asan_options.shard.test-cml | 2 +- .../fuchsia/test/audio_output.shard.test-cml | 2 +- .../config/fuchsia/test/fonts.shard.test-cml | 2 +- .../fuchsia/test/test_fonts.shard.test-cml | 2 +- naiveproxy/src/build/config/ios/BUILD.gn | 2 +- .../build/config/ios/ios_sdk_overrides.gni | 4 +- .../config/ios/ios_test_runner_xcuitest.gni | 2 +- naiveproxy/src/build/config/ios/rules.gni | 47 +- naiveproxy/src/build/config/mac/mac_sdk.gni | 2 +- naiveproxy/src/build/config/posix/BUILD.gn | 8 +- naiveproxy/src/build/config/rust.gni | 4 +- .../src/build/config/sanitizers/BUILD.gn | 14 +- .../build/config/sanitizers/sanitizers.gni | 16 +- naiveproxy/src/build/config/siso/android.star | 2 +- .../src/build/config/siso/clang_all.star | 2 + .../siso/clang_code_coverage_wrapper.star | 6 +- .../src/build/config/siso/clang_linux.star | 13 +- .../src/build/config/siso/clang_mac.star | 20 +- .../src/build/config/siso/clang_windows.star | 12 +- naiveproxy/src/build/config/siso/config.star | 3 + .../src/build/config/siso/configure_siso.py | 32 +- naiveproxy/src/build/config/siso/main.star | 33 +- naiveproxy/src/build/config/siso/reproxy.star | 27 +- .../src/build/config/siso/rust_linux.star | 16 +- .../src/build/config/unsafe_buffers_paths.txt | 107 +- naiveproxy/src/build/config/win/BUILD.gn | 84 +- .../src/build/fuchsia/binary_size_differ.py | 2 +- .../build/fuchsia/binary_size_differ_test.py | 2 +- naiveproxy/src/build/fuchsia/binary_sizes.py | 2 +- .../src/build/fuchsia/binary_sizes_test.py | 6 +- .../src/build/fuchsia/gen_build_defs.py | 4 +- .../src/build/fuchsia/linux_internal.sdk.sha1 | 2 +- .../build/fuchsia/test/compatible_utils.py | 6 +- .../src/build/fuchsia/test/ffx_emulator.py | 52 +- .../src/build/fuchsia/test/run_blink_test.py | 2 +- .../build/fuchsia/test/run_executable_test.py | 2 +- .../build/fuchsia/test/run_telemetry_test.py | 2 +- .../build/fuchsia/test/serial_boot_device.py | 6 +- .../src/build/fuchsia/test/test_runner.py | 2 +- naiveproxy/src/build/fuchsia/update_images.py | 4 +- .../src/build/fuchsia/update_images_test.py | 2 +- .../build/fuchsia/update_product_bundles.py | 12 +- naiveproxy/src/build/install-build-deps.py | 25 +- .../src/build/ios/update_bundle_filelist.py | 9 +- .../src/build/lacros/lacros_resource_sizes.py | 2 +- .../lacros/mojo_connection_lacros_launcher.py | 4 +- naiveproxy/src/build/lacros/test_runner.py | 2 +- .../linux/sysroot_scripts/build_and_upload.py | 163 +- .../generated_package_lists/bullseye.amd64 | 62 + .../generated_package_lists/bullseye.arm64 | 61 + .../generated_package_lists/bullseye.armel | 407 - .../generated_package_lists/bullseye.armhf | 61 + .../generated_package_lists/bullseye.i386 | 61 + .../generated_package_lists/bullseye.mips64el | 61 + .../generated_package_lists/bullseye.mipsel | 61 + .../linux/sysroot_scripts/install-sysroot.py | 220 +- .../build/linux/sysroot_scripts/sysroot.gni | 8 + .../linux/sysroot_scripts/sysroot_creator.py | 33 +- .../build/linux/sysroot_scripts/sysroots.json | 37 +- .../src/build/linux/unbundle/libwebp.gn | 17 + naiveproxy/src/build/rust/BUILD.gn | 2 +- naiveproxy/src/build/rust/cargo_crate.gni | 4 +- .../src/build/rust/rs_bindings_from_cc.gni | 4 +- .../src/build/rust/run_rs_bindings_from_cc.py | 4 +- naiveproxy/src/build/rust/rust_bindgen.gni | 17 +- naiveproxy/src/build/rust/rust_target.gni | 2 +- naiveproxy/src/build/rust/rust_unit_test.gni | 4 +- naiveproxy/src/build/rust/std/BUILD.gn | 6 +- naiveproxy/src/build/rust/std/alias.cc | 2 +- naiveproxy/src/build/rust/std/alias.h | 2 +- .../src/build/rust/std/compiler_specific.h | 2 +- .../rust/std/fake_root/Cargo.toml.template | 1 + .../src/build/rust/std/gnrt_config.toml | 6 +- .../src/build/rust/std/immediate_crash.h | 8 +- naiveproxy/src/build/rust/std/remap_alloc.cc | 2 + naiveproxy/src/build/rust/std/rules/BUILD.gn | 355 +- naiveproxy/src/build/rust/tests/BUILD.gn | 6 +- .../shared_unittests.cc | 12 +- .../static_unittests.cc | 12 +- .../tests/test_rs_bindings_from_cc/BUILD.gn | 4 +- .../test_rust_calling_cpp/cpp_library.cc | 2 + .../tests/test_serde_json_lenient/BUILD.gn | 2 +- .../src/build/sanitizers/asan_suppressions.cc | 1 + .../src/build/sanitizers/lsan_suppressions.cc | 2 +- .../src/build/sanitizers/sanitizer_options.cc | 2 +- .../src/build/toolchain/android/BUILD.gn | 11 +- .../build/toolchain/apple/linker_driver.py | 2 +- .../src/build/toolchain/apple/toolchain.gni | 6 +- .../toolchain/clang_code_coverage_wrapper.py | 6 +- .../src/build/toolchain/concurrent_links.gni | 4 +- naiveproxy/src/build/toolchain/cros/BUILD.gn | 2 +- .../src/build/toolchain/gcc_solink_wrapper.py | 2 +- .../src/build/toolchain/gcc_toolchain.gni | 3 +- .../build/toolchain/ios/compile_xcassets.py | 35 +- naiveproxy/src/build/toolchain/mac/BUILD.gn | 2 +- naiveproxy/src/build/util/LASTCHANGE | 2 +- .../src/build/util/LASTCHANGE.committime | 2 +- naiveproxy/src/build/util/ide_query | 50 +- .../lib/common/chrome_test_server_spawner.py | 4 +- naiveproxy/src/build_overrides/build.gni | 4 +- .../buildtools/third_party/libc++/BUILD.gn | 2 +- .../third_party/libc++/__config_site | 2 +- .../buildtools/third_party/libc++abi/BUILD.gn | 2 +- .../buildtools/third_party/libunwind/BUILD.gn | 2 +- naiveproxy/src/chrome/VERSION | 6 +- .../src/chrome/android/profiles/newest.txt | 2 +- .../src/chrome/build/android-arm32.pgo.txt | 2 +- .../src/chrome/build/android-arm64.pgo.txt | 2 +- .../src/chrome/build/lacros-arm64.pgo.txt | 2 +- naiveproxy/src/chrome/build/lacros64.pgo.txt | 2 +- naiveproxy/src/chrome/build/linux.pgo.txt | 2 +- naiveproxy/src/chrome/build/mac-arm.pgo.txt | 2 +- naiveproxy/src/chrome/build/mac.pgo.txt | 2 +- naiveproxy/src/chrome/build/win-arm64.pgo.txt | 2 +- naiveproxy/src/chrome/build/win32.pgo.txt | 2 +- naiveproxy/src/chrome/build/win64.pgo.txt | 2 +- naiveproxy/src/crypto/apple_keychain_v2.h | 2 + naiveproxy/src/crypto/apple_keychain_v2.mm | 5 + .../src/crypto/fake_apple_keychain_v2.h | 1 + .../src/crypto/fake_apple_keychain_v2.mm | 16 + naiveproxy/src/crypto/nss_util_chromeos.cc | 2 +- naiveproxy/src/crypto/p224_spake.cc | 5 +- naiveproxy/src/crypto/random.cc | 13 +- naiveproxy/src/crypto/random.h | 4 - ...scoped_fake_user_verifying_key_provider.cc | 69 +- .../scoped_fake_user_verifying_key_provider.h | 9 + naiveproxy/src/crypto/unexportable_key.h | 8 +- naiveproxy/src/crypto/unexportable_key_mac.h | 2 +- naiveproxy/src/crypto/unexportable_key_mac.mm | 25 +- .../src/crypto/unexportable_key_metrics.cc | 2 +- .../unexportable_key_software_unsecure.cc | 2 +- naiveproxy/src/crypto/unexportable_key_win.cc | 2 +- .../src/crypto/user_verifying_key_mac.mm | 6 +- .../src/crypto/user_verifying_key_win.cc | 219 +- naiveproxy/src/net/BUILD.gn | 5 +- naiveproxy/src/net/android/BUILD.gn | 30 +- .../net/android/dummy_spnego_authenticator.cc | 2 +- ...etwork_change_notifier_delegate_android.cc | 20 +- ...network_change_notifier_delegate_android.h | 14 +- naiveproxy/src/net/base/apple/guarded_fd.h | 35 + naiveproxy/src/net/base/directory_listing.cc | 5 +- naiveproxy/src/net/base/features.cc | 54 +- naiveproxy/src/net/base/features.h | 63 +- .../src/net/base/file_stream_context.cc | 27 + .../src/net/base/file_stream_context_posix.cc | 18 +- naiveproxy/src/net/base/isolation_info.cc | 8 +- naiveproxy/src/net/base/isolation_info.h | 6 +- naiveproxy/src/net/base/mime_util.cc | 2 +- naiveproxy/src/net/base/net_error_list.h | 2 +- naiveproxy/src/net/base/net_errors.cc | 2 +- .../src/net/base/network_anonymization_key.h | 25 +- .../src/net/base/network_change_notifier.h | 4 +- .../net/base/network_change_notifier_apple.h | 6 + .../net/base/network_change_notifier_apple.mm | 67 +- .../src/net/base/network_isolation_key.h | 11 +- .../src/net/base/platform_mime_util_apple.mm | 6 +- naiveproxy/src/net/base/proxy_delegate.h | 9 +- naiveproxy/src/net/base/proxy_server.cc | 6 + naiveproxy/src/net/base/proxy_string_util.h | 2 +- .../registry_controlled_domain.cc | 113 +- .../registry_controlled_domain.h | 8 + naiveproxy/src/net/base/schemeful_site.h | 2 +- .../src/net/base/test_proxy_delegate.cc | 4 +- naiveproxy/src/net/base/test_proxy_delegate.h | 6 +- naiveproxy/src/net/base/transport_info.h | 2 +- naiveproxy/src/net/base/url_util.cc | 12 +- naiveproxy/src/net/base/url_util.h | 2 + naiveproxy/src/net/cert/cert_status_flags.cc | 5 +- naiveproxy/src/net/cert/cert_verify_proc.cc | 92 +- naiveproxy/src/net/cert/cert_verify_proc.h | 2 + .../src/net/cert/cert_verify_proc_builtin.cc | 16 +- .../src/net/cert/cert_verify_proc_builtin.h | 2 +- .../cert/internal/cert_issuer_source_aia.cc | 6 +- .../net/cert/internal/trust_store_features.h | 2 +- .../src/net/cert/internal/trust_store_mac.cc | 20 +- .../src/net/cert/internal/trust_store_nss.cc | 32 +- .../src/net/cert/internal/trust_store_win.cc | 52 +- .../src/net/cert/internal/trust_store_win.h | 2 +- naiveproxy/src/net/cert/nss_cert_database.cc | 2 +- naiveproxy/src/net/cert/nss_cert_database.h | 2 +- naiveproxy/src/net/cert/x509_certificate.cc | 6 - naiveproxy/src/net/cert/x509_certificate.h | 3 - naiveproxy/src/net/cert/x509_util.h | 4 +- naiveproxy/src/net/cert/x509_util_apple.cc | 2 +- .../cert_net/cert_net_fetcher_url_request.cc | 2 +- .../src/net/cookies/canonical_cookie.cc | 176 +- naiveproxy/src/net/cookies/canonical_cookie.h | 55 +- naiveproxy/src/net/cookies/cookie_base.cc | 14 +- naiveproxy/src/net/cookies/cookie_base.h | 13 + .../net/cookies/cookie_change_dispatcher.h | 2 +- .../src/net/cookies/cookie_constants.cc | 2 + naiveproxy/src/net/cookies/cookie_constants.h | 16 + .../src/net/cookies/cookie_deletion_info.h | 2 +- .../src/net/cookies/cookie_inclusion_status.h | 6 +- naiveproxy/src/net/cookies/cookie_monster.cc | 23 +- naiveproxy/src/net/cookies/cookie_monster.h | 3 +- .../src/net/cookies/cookie_partition_key.cc | 59 +- .../src/net/cookies/cookie_partition_key.h | 22 +- .../cookies/cookie_partition_key_collection.h | 2 +- naiveproxy/src/net/cookies/cookie_util.cc | 122 +- naiveproxy/src/net/cookies/cookie_util.h | 45 + naiveproxy/src/net/cookies/parsed_cookie.cc | 6 +- .../src/net/data/ssl/chrome_root_store/OWNERS | 2 +- .../ssl/chrome_root_store/root_store.certs | 78 - .../data/ssl/chrome_root_store/root_store.md | 3 +- .../chrome_root_store/root_store.textproto | 10 +- .../device_bound_sessions/cookie_craving.cc | 269 + .../device_bound_sessions/cookie_craving.h | 154 + .../device_bound_session_service.cc | 9 +- .../device_bound_session_service.h | 19 +- .../src/net/device_bound_sessions/test_util.h | 10 +- .../net/disk_cache/blockfile/backend_impl.cc | 2 +- .../src/net/disk_cache/blockfile/eviction.cc | 2 +- .../src/net/disk_cache/blockfile/rankings.h | 2 +- .../disk_cache/simple/simple_backend_impl.cc | 2 +- .../src/net/dns/address_sorter_posix.cc | 2 +- .../src/net/dns/context_host_resolver.cc | 17 + .../src/net/dns/context_host_resolver.h | 5 + naiveproxy/src/net/dns/dns_client.h | 2 +- .../src/net/dns/dns_config_service_fuchsia.cc | 6 +- .../src/net/dns/dns_config_service_linux.cc | 5 - .../src/net/dns/dns_config_service_win.cc | 1 - .../src/net/dns/dns_config_watcher_mac.cc | 10 +- naiveproxy/src/net/dns/dns_hosts.cc | 33 +- naiveproxy/src/net/dns/dns_reloader.cc | 4 +- .../net/dns/dns_response_result_extractor.cc | 2 +- naiveproxy/src/net/dns/dns_test_util.cc | 12 +- naiveproxy/src/net/dns/dns_transaction.cc | 2 +- naiveproxy/src/net/dns/host_cache.h | 2 +- naiveproxy/src/net/dns/host_resolver.cc | 3 +- naiveproxy/src/net/dns/host_resolver.h | 31 +- naiveproxy/src/net/dns/host_resolver_cache.cc | 4 +- .../src/net/dns/host_resolver_dns_task.cc | 2 +- .../src/net/dns/host_resolver_dns_task.h | 2 +- .../src/net/dns/host_resolver_manager.cc | 49 +- .../src/net/dns/host_resolver_manager_job.cc | 8 +- .../src/net/dns/host_resolver_manager_job.h | 2 +- ...r_manager_service_endpoint_request_impl.cc | 5 +- .../src/net/dns/host_resolver_mdns_task.cc | 2 +- naiveproxy/src/net/dns/https_record_rdata.cc | 2 +- naiveproxy/src/net/dns/httpssvc_metrics.cc | 2 +- naiveproxy/src/net/dns/httpssvc_metrics.h | 2 +- .../src/net/dns/mapped_host_resolver.cc | 11 + naiveproxy/src/net/dns/mapped_host_resolver.h | 5 + naiveproxy/src/net/dns/mdns_cache.cc | 4 +- naiveproxy/src/net/dns/mock_host_resolver.cc | 28 +- naiveproxy/src/net/dns/mock_host_resolver.h | 12 +- .../public/dns_over_https_server_config.cc | 9 +- .../dns/public/dns_over_https_server_config.h | 2 +- naiveproxy/src/net/dns/resolve_context.cc | 4 +- naiveproxy/src/net/dns/resolve_context.h | 2 +- .../dns/system_dns_config_change_notifier.h | 2 +- .../shared_dictionary_info.cc | 12 +- .../shared_dictionary_info.h | 10 +- .../sqlite/sqlite_persistent_cookie_store.cc | 4 +- ...lite_persistent_reporting_and_nel_store.cc | 9 +- ...lite_persistent_shared_dictionary_store.cc | 105 +- ...qlite_persistent_shared_dictionary_store.h | 3 + .../sqlite_persistent_store_backend_base.cc | 7 +- .../first_party_sets_cache_filter.h | 2 +- naiveproxy/src/net/http/BUILD.gn | 2 +- .../net/http/http_auth_challenge_tokenizer.cc | 3 +- .../src/net/http/http_auth_handler_digest.cc | 4 +- .../src/net/http/http_auth_ntlm_mechanism.cc | 6 +- .../src/net/http/http_auth_ntlm_mechanism.h | 5 +- naiveproxy/src/net/http/http_auth_sspi_win.cc | 2 +- naiveproxy/src/net/http/http_basic_state.cc | 15 +- naiveproxy/src/net/http/http_basic_state.h | 3 - naiveproxy/src/net/http/http_basic_stream.cc | 5 +- naiveproxy/src/net/http/http_cache.cc | 22 +- naiveproxy/src/net/http/http_cache.h | 16 + .../src/net/http/http_cache_transaction.cc | 63 +- .../src/net/http/http_cache_transaction.h | 17 +- naiveproxy/src/net/http/http_cache_writers.cc | 2 +- .../src/net/http/http_network_transaction.cc | 118 +- .../src/net/http/http_network_transaction.h | 14 +- .../src/net/http/http_proxy_client_socket.cc | 22 +- .../src/net/http/http_proxy_client_socket.h | 3 + .../src/net/http/http_proxy_connect_job.cc | 13 +- naiveproxy/src/net/http/http_request_info.h | 2 +- .../src/net/http/http_response_headers.cc | 4 +- naiveproxy/src/net/http/http_response_info.h | 4 +- .../src/net/http/http_security_headers.cc | 146 +- .../src/net/http/http_stream_factory.cc | 55 +- naiveproxy/src/net/http/http_stream_factory.h | 16 +- .../src/net/http/http_stream_factory_job.cc | 64 +- .../src/net/http/http_stream_factory_job.h | 15 - .../http_stream_factory_job_controller.cc | 20 +- naiveproxy/src/net/http/http_stream_parser.cc | 158 +- naiveproxy/src/net/http/http_stream_parser.h | 22 +- naiveproxy/src/net/http/http_transaction.h | 10 +- naiveproxy/src/net/http/http_util.cc | 34 +- naiveproxy/src/net/http/http_util.h | 2 +- naiveproxy/src/net/http/structured_headers.h | 2 +- .../http/transport_security_state_static.pins | 4 +- .../transport_security_state_static_pins.json | 2 +- .../src/net/log/file_net_log_observer.h | 2 +- naiveproxy/src/net/log/net_log.cc | 2 +- .../src/net/log/net_log_event_type_list.h | 11 +- .../network_error_logging_service.cc | 2 +- naiveproxy/src/net/nqe/network_id.h | 2 +- .../src/net/nqe/network_quality_estimator.h | 2 +- naiveproxy/src/net/ntlm/ntlm.cc | 2 +- .../configured_proxy_resolution_service.cc | 2 +- .../proxy_resolution/proxy_config_service.cc | 2 +- .../src/net/proxy_resolution/proxy_info.h | 6 +- .../src/net/proxy_resolution/proxy_list.h | 2 +- ...windows_system_proxy_resolution_request.cc | 4 +- ...windows_system_proxy_resolution_service.cc | 12 +- .../dedicated_web_transport_http3_client.cc | 2 +- .../net/quic/quic_chromium_client_session.cc | 12 +- .../net/quic/quic_chromium_client_session.h | 4 + .../net/quic/quic_chromium_client_stream.cc | 11 +- .../net/quic/quic_chromium_client_stream.h | 5 +- .../net/quic/quic_chromium_packet_reader.cc | 3 +- .../net/quic/quic_chromium_packet_reader.h | 6 + naiveproxy/src/net/quic/quic_context.h | 21 + naiveproxy/src/net/quic/quic_http_utils.h | 4 +- .../src/net/quic/quic_proxy_client_socket.cc | 7 +- .../quic_proxy_client_socket_test_base.cc | 2 +- .../quic/quic_proxy_datagram_client_socket.cc | 17 +- .../quic/quic_proxy_datagram_client_socket.h | 3 +- naiveproxy/src/net/quic/quic_session_key.cc | 2 +- naiveproxy/src/net/quic/quic_session_pool.cc | 144 +- naiveproxy/src/net/quic/quic_session_pool.h | 28 +- .../net/quic/quic_session_pool_direct_job.cc | 2 +- .../net/quic/quic_session_pool_proxy_job.cc | 21 +- .../net/quic/quic_session_pool_proxy_job.h | 9 +- .../net/quic/quic_session_pool_test_base.cc | 2 + .../src/net/quic/quic_socket_data_provider.cc | 412 + .../src/net/quic/quic_socket_data_provider.h | 234 + .../src/net/quic/quic_test_packet_maker.cc | 1272 +- .../src/net/quic/quic_test_packet_maker.h | 354 +- naiveproxy/src/net/quic/set_quic_flag.cc | 8 + .../src/net/reporting/reporting_cache_impl.cc | 8 +- .../src/net/reporting/reporting_endpoint.h | 2 +- .../reporting/reporting_garbage_collector.cc | 2 +- .../src/net/socket/client_socket_pool.cc | 2 +- .../src/net/socket/client_socket_pool.h | 2 +- .../net/socket/client_socket_pool_manager.cc | 2 +- naiveproxy/src/net/socket/connect_job.h | 2 +- .../src/net/socket/connect_job_factory.h | 4 +- .../net/socket/connect_job_params_factory.cc | 8 +- .../src/net/socket/socket_bio_adapter.cc | 6 +- naiveproxy/src/net/socket/socket_test_util.cc | 6 +- naiveproxy/src/net/socket/socket_test_util.h | 2 +- .../src/net/socket/ssl_client_socket_impl.cc | 9 +- naiveproxy/src/net/socket/ssl_connect_job.cc | 2 +- naiveproxy/src/net/socket/tcp_socket_posix.cc | 2 +- naiveproxy/src/net/socket/tcp_socket_win.cc | 15 +- .../socket/transport_client_socket_pool.cc | 6 +- .../src/net/socket/transport_connect_job.cc | 2 +- naiveproxy/src/net/socket/udp_socket_posix.cc | 123 +- naiveproxy/src/net/socket/udp_socket_posix.h | 41 +- .../spdy/bidirectional_stream_spdy_impl.cc | 2 +- naiveproxy/src/net/spdy/header_coalescer.cc | 2 +- naiveproxy/src/net/spdy/header_coalescer.h | 2 +- naiveproxy/src/net/spdy/spdy_http_utils.h | 4 +- .../src/net/spdy/spdy_proxy_client_socket.cc | 7 +- naiveproxy/src/net/spdy/spdy_session_pool.cc | 2 +- .../src/net/spdy/spdy_test_util_common.cc | 3 +- naiveproxy/src/net/ssl/client_cert_store.h | 11 +- .../src/net/ssl/client_cert_store_mac.cc | 26 +- .../src/net/ssl/client_cert_store_mac.h | 11 +- .../src/net/ssl/client_cert_store_nss.cc | 27 +- .../src/net/ssl/client_cert_store_nss.h | 13 +- .../src/net/ssl/client_cert_store_win.cc | 22 +- .../src/net/ssl/client_cert_store_win.h | 11 +- .../src/net/ssl/ssl_platform_key_mac.cc | 2 +- .../src/net/ssl/ssl_platform_key_win.cc | 6 - naiveproxy/src/net/test/cert_builder.cc | 2 +- .../embedded_test_server/default_handlers.cc | 2 +- .../embedded_test_server.cc | 51 +- .../embedded_test_server.h | 20 +- .../embedded_test_server/http2_connection.cc | 8 +- .../test/embedded_test_server/http_request.cc | 2 +- .../test/embedded_test_server/http_request.h | 2 +- naiveproxy/src/net/test/gtest_util.h | 4 +- naiveproxy/src/net/test/revocation_builder.cc | 2 +- naiveproxy/src/net/test/test_doh_server.cc | 2 +- .../net/test/test_with_task_environment.cc | 75 + .../src/net/test/test_with_task_environment.h | 13 +- .../quiche/src/build/source_list.bzl | 16 +- .../quiche/src/build/source_list.gni | 16 +- .../quiche/src/build/source_list.json | 16 +- .../quiche/src/quiche/balsa/balsa_headers.cc | 1 + .../quiche/blind_sign_auth/blind_sign_auth.cc | 95 +- .../quiche/blind_sign_auth/blind_sign_auth.h | 32 +- .../blind_sign_auth_interface.h | 9 + .../blind_sign_http_response.h | 33 - .../blind_sign_message_interface.h | 23 +- .../blind_sign_message_response.cc | 43 + .../blind_sign_message_response.h | 37 + .../blind_sign_auth/cached_blind_sign_auth.cc | 4 +- .../blind_sign_auth/cached_blind_sign_auth.h | 3 +- .../blind_sign_auth/proto/auth_and_sign.proto | 1 + .../proto/get_initial_data.proto | 1 + .../mock_blind_sign_auth_interface.h | 3 +- ....h => mock_blind_sign_message_interface.h} | 12 +- .../quiche/common/quiche_feature_flags_list.h | 5 +- .../common/quiche_protocol_flags_list.h | 12 + .../quiche/http2/adapter/chunked_buffer.cc | 125 + .../src/quiche/http2/adapter/chunked_buffer.h | 83 + .../src/quiche/http2/adapter/http2_adapter.h | 28 +- .../quiche/http2/adapter/nghttp2_adapter.cc | 12 +- .../quiche/http2/adapter/nghttp2_adapter.h | 5 +- .../quiche/http2/adapter/oghttp2_adapter.cc | 18 +- .../quiche/http2/adapter/oghttp2_adapter.h | 5 +- .../quiche/http2/adapter/oghttp2_session.cc | 138 +- .../quiche/http2/adapter/oghttp2_session.h | 32 +- .../src/quiche/http2/adapter/test_utils.h | 2 +- .../core/crypto/quic_crypto_client_config.h | 6 + .../core/crypto/quic_crypto_server_config.h | 5 + .../core/frames/quic_ack_frequency_frame.h | 2 +- .../core/http/quic_server_session_base.cc | 2 +- .../quic/core/http/quic_spdy_client_session.h | 4 + .../quic/core/http/quic_spdy_session.cc | 2 +- .../quiche/quic/core/qpack/qpack_decoder.cc | 4 +- .../core/qpack/qpack_decoder_stream_sender.cc | 4 +- .../quic/core/quic_blocked_writer_list.cc | 59 + .../quic/core/quic_blocked_writer_list.h | 41 + .../src/quiche/quic/core/quic_config.cc | 4 +- .../src/quiche/quic/core/quic_connection.cc | 301 +- .../src/quiche/quic/core/quic_connection.h | 62 +- .../quic/core/quic_connection_alarms.cc | 220 + .../quiche/quic/core/quic_connection_alarms.h | 111 + .../quic/core/quic_connection_context.cc | 12 - .../quic/core/quic_connection_context.h | 20 - .../src/quiche/quic/core/quic_constants.cc | 11 + .../src/quiche/quic/core/quic_constants.h | 23 +- .../src/quiche/quic/core/quic_dispatcher.cc | 43 +- .../src/quiche/quic/core/quic_dispatcher.h | 7 +- .../src/quiche/quic/core/quic_flags_list.h | 8 +- .../src/quiche/quic/core/quic_framer.cc | 23 - .../quic/core/quic_idle_network_detector.cc | 32 +- .../quic/core/quic_idle_network_detector.h | 7 +- .../quiche/quic/core/quic_interval_deque.h | 18 +- .../core/quic_network_blackhole_detector.cc | 37 +- .../core/quic_network_blackhole_detector.h | 6 +- .../quiche/quic/core/quic_packet_creator.cc | 11 +- .../src/quiche/quic/core/quic_ping_manager.cc | 31 +- .../src/quiche/quic/core/quic_ping_manager.h | 9 +- .../quic/core/quic_received_packet_manager.cc | 4 +- .../quic/core/quic_sent_packet_manager.cc | 4 +- .../src/quiche/quic/core/quic_session.cc | 7 +- .../quiche/src/quiche/quic/core/quic_stream.h | 3 + .../quiche/src/quiche/quic/core/quic_types.cc | 9 + .../quiche/src/quiche/quic/core/quic_types.h | 3 + .../src/quiche/quic/masque/masque_client.cc | 62 +- .../src/quiche/quic/masque/masque_client.h | 28 +- .../quiche/quic/masque/masque_client_bin.cc | 124 +- .../quic/masque/masque_client_session.cc | 13 +- .../quic/masque/masque_client_session.h | 9 +- .../quiche/quic/masque/masque_client_tools.cc | 69 +- .../quiche/quic/masque/masque_client_tools.h | 26 +- .../quic/masque/masque_encapsulated_client.cc | 75 +- .../quic/masque/masque_encapsulated_client.h | 25 +- .../masque_encapsulated_client_session.cc | 65 +- .../masque_encapsulated_client_session.h | 16 +- .../quic/masque/masque_server_session.cc | 6 +- .../src/quiche/quic/masque/masque_utils.cc | 6 - .../src/quiche/quic/masque/masque_utils.h | 7 - .../quiche/quic/moqt/moqt_outgoing_queue.cc | 91 + .../quiche/quic/moqt/moqt_outgoing_queue.h | 79 + .../src/quiche/quic/moqt/moqt_session.cc | 80 +- .../src/quiche/quic/moqt/moqt_session.h | 3 +- .../quiche/quic/moqt/moqt_subscribe_windows.h | 5 + .../quiche/src/quiche/quic/moqt/moqt_track.h | 6 +- .../quic/moqt/tools/moqt_mock_visitor.h | 3 +- .../quic/qbone/qbone_packet_processor.cc | 10 +- .../quic/qbone/qbone_packet_processor.h | 24 +- .../qbone/qbone_packet_processor_test_tools.h | 2 - .../quiche/quic/qbone/qbone_server_session.h | 2 - .../quic/test_tools/quic_connection_peer.cc | 44 +- .../quic/test_tools/quic_connection_peer.h | 22 +- .../quic/test_tools/quic_dispatcher_peer.cc | 2 +- .../quic/test_tools/quic_dispatcher_peer.h | 3 +- .../quic/test_tools/quic_test_client.cc | 2 +- .../checksum_pervasive_js.py | 40 - .../cache_transparency/generate_checksums.py | 98 - .../cache_transparency/pervasive_checksum.py | 45 - .../sample_pervasive_payloads_list.csv | 100 - .../cert_verify_comparision_tool.cc | 2 +- .../cert_verify_tool/cert_verify_tool.cc | 9 +- .../verify_using_cert_verify_proc.cc | 2 +- .../verify_using_path_builder.cc | 5 +- .../net/tools/naive/naive_proxy_delegate.cc | 8 +- .../net/tools/naive/naive_proxy_delegate.h | 2 +- .../src/net/tools/net_watcher/net_watcher.cc | 2 +- ...quic_client_message_loop_network_helper.cc | 2 +- .../net/tools/quic/quic_simple_client_bin.cc | 2 +- .../src/net/tools/root_store_tool/BUILD.gn | 2 +- .../src/net/tools/root_store_tool/README.md | 2 +- .../tools/root_store_tool/root_store_tool.cc | 6 +- .../network_traffic_annotation.h | 4 +- naiveproxy/src/net/url_request/url_request.cc | 13 +- naiveproxy/src/net/url_request/url_request.h | 14 +- .../net/url_request/url_request_context.cc | 2 +- .../src/net/url_request/url_request_context.h | 2 +- .../url_request_context_builder.cc | 11 +- .../url_request/url_request_context_builder.h | 5 + .../net/url_request/url_request_http_job.cc | 20 +- .../src/net/websockets/websocket_channel.cc | 6 +- .../src/net/websockets/websocket_frame.cc | 2 +- .../src/net/websockets/websocket_frame.h | 4 +- .../src/third_party/abseil-cpp/BUILD.gn | 2 + .../abseil-cpp/CMake/AbseilDll.cmake | 7 + .../third_party/abseil-cpp/README.chromium | 2 +- .../abseil-cpp/absl/base/attributes.h | 5 + .../abseil-cpp/absl/base/internal/spinlock.h | 5 +- .../abseil-cpp/absl/container/BUILD.bazel | 20 +- .../abseil-cpp/absl/container/BUILD.gn | 18 +- .../abseil-cpp/absl/container/CMakeLists.txt | 22 +- .../abseil-cpp/absl/container/flat_hash_map.h | 10 +- .../abseil-cpp/absl/container/flat_hash_set.h | 6 +- .../absl/container/hash_container_defaults.h | 45 + .../absl/container/internal/inlined_vector.h | 13 +- .../abseil-cpp/absl/container/node_hash_map.h | 10 +- .../abseil-cpp/absl/container/node_hash_set.h | 9 +- .../internal/crc32_x86_arm_combined_simd.h | 12 +- .../internal/crc_memcpy_x86_arm_combined.cc | 8 +- .../absl/crc/internal/crc_x86_arm_combined.cc | 10 +- .../abseil-cpp/absl/debugging/BUILD.bazel | 24 +- .../abseil-cpp/absl/debugging/BUILD.gn | 34 +- .../abseil-cpp/absl/debugging/CMakeLists.txt | 15 + .../absl/debugging/internal/demangle.cc | 6 + .../absl/debugging/internal/demangle.h | 2 + .../absl/debugging/internal/demangle_rust.cc | 432 + .../absl/debugging/internal/demangle_rust.h | 47 + .../absl/functional/any_invocable.h | 15 +- .../absl/functional/internal/any_invocable.h | 12 +- .../abseil-cpp/absl/functional/overload.h | 70 +- .../abseil-cpp/absl/log/BUILD.bazel | 1 + .../abseil-cpp/absl/log/CMakeLists.txt | 1 + .../abseil-cpp/absl/log/internal/BUILD.bazel | 1 + .../abseil-cpp/absl/log/internal/BUILD.gn | 1 + .../abseil-cpp/absl/log/internal/check_op.h | 13 +- .../abseil-cpp/absl/log/internal/strip.h | 15 + .../abseil-cpp/absl/log/log_benchmark.cc | 67 + .../abseil-cpp/absl/numeric/BUILD.bazel | 2 + .../abseil-cpp/absl/numeric/BUILD.gn | 2 + .../abseil-cpp/absl/numeric/CMakeLists.txt | 2 + .../abseil-cpp/absl/numeric/int128.h | 35 + .../absl/numeric/int128_have_intrinsic.inc | 14 + .../absl/numeric/int128_no_intrinsic.inc | 18 + .../abseil-cpp/absl/numeric/internal/bits.h | 8 +- .../abseil-cpp/absl/random/distributions.h | 4 +- .../abseil-cpp/absl/status/BUILD.bazel | 36 + .../abseil-cpp/absl/status/BUILD.gn | 28 + .../abseil-cpp/absl/status/CMakeLists.txt | 38 + .../absl/status/internal/status_matchers.cc | 68 + .../absl/status/internal/status_matchers.h | 246 + .../abseil-cpp/absl/status/status_matchers.h | 118 + .../abseil-cpp/absl/strings/BUILD.bazel | 1 + .../abseil-cpp/absl/strings/BUILD.gn | 1 + .../abseil-cpp/absl/strings/CMakeLists.txt | 1 + .../abseil-cpp/absl/strings/cord.cc | 18 +- .../abseil-cpp/absl/strings/cord.h | 27 +- .../abseil-cpp/absl/strings/str_format.h | 2 +- .../abseil-cpp/absl/synchronization/mutex.h | 7 +- .../time/internal/cctz/src/time_zone_libc.cc | 2 +- .../abseil-cpp/generate_def_files.py | 5 +- .../abseil-cpp/symbols_arm64_dbg.def | 4 + .../abseil-cpp/symbols_arm64_rel.def | 2 + .../abseil-cpp/symbols_x64_dbg.def | 4 + .../abseil-cpp/symbols_x64_rel.def | 2 + .../abseil-cpp/symbols_x64_rel_asan.def | 2 + .../abseil-cpp/symbols_x86_dbg.def | 4 + .../abseil-cpp/symbols_x86_rel.def | 2 + .../boringssl/BUILD.generated_tests.gni | 12 + .../third_party/boringssl/src/.bazelignore | 2 + .../src/third_party/boringssl/src/.bazelrc | 44 + .../boringssl/src/API-CONVENTIONS.md | 79 +- .../src/third_party/boringssl/src/BUILD.bazel | 183 + .../third_party/boringssl/src/MODULE.bazel | 32 + .../boringssl/src/MODULE.bazel.lock | 2332 ++ .../src/third_party/boringssl/src/build.json | 4 + .../boringssl/src/crypto/bio/bio.c | 24 +- .../boringssl/src/crypto/err/err.c | 23 +- .../src/crypto/fipsmodule/rand/fork_detect.h | 3 +- .../third_party/boringssl/src/crypto/mem.c | 9 +- .../boringssl/src/crypto/test/test_data.cc | 21 + .../boringssl/src/crypto/test/test_data.h | 3 + .../boringssl/src/crypto/x509/x509_trs.c | 20 +- .../third_party/boringssl/src/gen/sources.bzl | 2668 ++ .../boringssl/src/gen/sources.cmake | 19 + .../boringssl/src/gen/sources.json | 16 + .../boringssl/src/include/openssl/bio.h | 14 +- .../boringssl/src/include/openssl/ssl.h | 15 +- .../boringssl/src/include/openssl/target.h | 23 +- .../src/pki/simple_path_builder_delegate.cc | 4 +- .../boringssl/src/pki/test_helpers.cc | 4 + .../clientauth-strict-leaf.test | 5 + .../serverauth-strict-leaf.test | 8 + .../clientauth-strict-leaf.test | 5 + .../serverauth-strict-leaf.test | 8 + .../intermediate-invalid-spki/README.md | 22 + .../intermediate-invalid-spki/chain.pem | 252 + .../intermediate-invalid-spki/main.test | 8 + .../clientauth-strict-leaf.test | 9 + .../serverauth-strict-leaf.test | 9 + .../clientauth-strict-leaf.test | 10 + .../serverauth-strict-leaf.test | 10 + .../clientauth-strict-leaf.test | 9 + .../target-has-512bit-rsa-key/main.test | 2 +- .../target-not-end-entity/strict-leaf.test | 10 + .../target-signed-by-512bit-rsa/main.test | 2 +- .../src/pki/verify_certificate_chain.cc | 38 +- .../src/pki/verify_certificate_chain.h | 24 +- .../verify_certificate_chain_typed_unittest.h | 18 +- .../boringssl/src/rust/bssl-sys/src/lib.rs | 6 + .../boringssl/src/ssl/dtls_method.cc | 2 +- .../boringssl/src/ssl/handshake_server.cc | 6 +- .../third_party/boringssl/src/ssl/internal.h | 14 +- .../third_party/boringssl/src/ssl/ssl_lib.cc | 22 +- .../boringssl/src/ssl/test/runner/runner.go | 61 +- .../src/util/bazel-example/BUILD.bazel | 19 + .../src/util/bazel-example/MODULE.bazel | 21 + .../src/util/bazel-example/README.md | 5 + .../src/util/bazel-example/example.cc | 22 + .../boringssl/src/util/pregenerate/build.go | 1 + .../third_party/boringssl/src/util/util.bzl | 299 + .../download_from_google_storage.py | 46 +- .../codegen/called_by_native_header.py | 69 +- .../jni_zero/codegen/convert_type.py | 94 +- .../jni_zero/codegen/header_common.py | 4 - .../jni_zero/codegen/natives_header.py | 122 +- .../src/third_party/jni_zero/java_types.py | 7 +- .../jni_zero/jni_registration_generator.py | 40 +- .../src/third_party/jni_zero/jni_zero.cc | 6 - .../src/third_party/jni_zero/jni_zero.gni | 6 + .../src/third_party/jni_zero/jni_zero.h | 107 +- .../third_party/jni_zero/jni_zero_internal.h | 2 - .../src/third_party/jni_zero/proguard.flags | 7 + ...sample_lib_multiplexing_version_script.txt | 2 +- .../java/src/org/jni_zero/SampleForTests.java | 29 +- .../jni_zero/test/sample_for_tests.cc | 34 +- .../jni_zero/test/sample_for_tests.h | 20 + .../third_party/libc++/src/test/.clang-format | 5 - .../third_party/libc++/src/test/.clang-tidy | 11 - .../libc++/src/test/CMakeLists.txt | 120 - .../apple-libc++-backdeployment.cfg.in | 64 - .../test/configs/apple-libc++-shared.cfg.in | 35 - .../configs/armv7m-picolibc-libc++.cfg.in | 48 - .../src/test/configs/cmake-bridge.cfg.in | 33 - .../src/test/configs/ibm-libc++-shared.cfg.in | 39 - .../configs/llvm-libc++-android-ndk.cfg.in | 47 - .../src/test/configs/llvm-libc++-mingw.cfg.in | 25 - .../configs/llvm-libc++-shared-clangcl.cfg.in | 25 - .../configs/llvm-libc++-shared-gcc.cfg.in | 26 - ...-libc++-shared-no-vcruntime-clangcl.cfg.in | 26 - .../test/configs/llvm-libc++-shared.cfg.in | 27 - .../configs/llvm-libc++-static-clangcl.cfg.in | 25 - .../test/configs/llvm-libc++-static.cfg.in | 27 - .../random_shuffle.cxx1z.pass.cpp | 50 - .../random_shuffle.depr_in_cxx14.verify.cpp | 43 - .../copy_move_nontrivial.pass.cpp | 331 - .../copy_move_trivial.pass.cpp | 334 - .../copy_move_unwrap_reverse.pass.cpp | 141 - .../make.heap/complexity.pass.cpp | 74 - .../alg.sorting/assert.min.max.pass.cpp | 30 - ...ssert.sort.invalid_comparator.oob.pass.cpp | 72 - .../assert.sort.invalid_comparator.pass.cpp | 195 - .../bad_comparator_values.h | 3565 --- .../invalid_comparator_utilities.h | 85 - .../alg.sorting/pstl.is_partitioned.pass.cpp | 31 - .../algorithms/bad_iterator_traits.verify.cpp | 61 - .../libcxx/algorithms/callable.verify.cpp | 30 - .../cpp17_iterator_concepts.verify.cpp | 420 - .../debug_less.inconsistent.pass.cpp | 52 - .../libcxx/algorithms/debug_less.pass.cpp | 260 - ...debug_three_way_comp.inconsistent.pass.cpp | 56 - .../libcxx/algorithms/half_positive.pass.cpp | 57 - .../algorithms/lifetimebound.verify.cpp | 81 - .../algorithms/nth_element_stability.pass.cpp | 101 - .../partial_sort_stability.pass.cpp | 102 - ...pstl.libdispatch.chunk_partitions.pass.cpp | 41 - ..._customization_points_not_working.pass.cpp | 405 - ...obust_against_copying_comparators.pass.cpp | 243 - ...obust_against_copying_projections.pass.cpp | 253 - ...obust_against_copying_comparators.pass.cpp | 219 - ...t_cpp20_hostile_iterators.compile.pass.cpp | 224 - ...using_non_transparent_comparators.pass.cpp | 79 - .../libcxx/algorithms/sort_stability.pass.cpp | 100 - .../nothrow_forward_iterator.compile.pass.cpp | 27 - .../nothrow_forward_range.compile.pass.cpp | 29 - .../nothrow_input_iterator.compile.pass.cpp | 30 - .../nothrow_input_range.compile.pass.cpp | 32 - .../nothrow_sentinel_for.compile.pass.cpp | 35 - ...tomize_verbose_abort.compile-time.pass.cpp | 27 - ...customize_verbose_abort.link-time.pass.cpp | 25 - .../assertions/default_verbose_abort.pass.cpp | 26 - .../libcxx/assertions/modes/debug.pass.cpp | 26 - ...assertions_enables_extensive_mode.pass.cpp | 34 - .../assertions/modes/extensive.pass.cpp | 26 - .../libcxx/assertions/modes/fast.pass.cpp | 26 - .../hardening_mode_incorrect_value.sh.cpp | 26 - .../libcxx/assertions/modes/none.pass.cpp | 30 - .../modes/override_with_debug_mode.pass.cpp | 26 - .../override_with_extensive_mode.pass.cpp | 31 - .../modes/override_with_fast_mode.pass.cpp | 30 - .../override_with_unchecked_mode.pass.cpp | 23 - .../assertions/single_expression.pass.cpp | 32 - .../atomics/atomics.align/align.pass.cpp | 113 - .../atomics/atomics.flag/init_bool.pass.cpp | 43 - .../memory_order.underlying_type.pass.cpp | 34 - .../incompatible_with_stdatomic.verify.cpp | 22 - .../atomics.types.float/lockfree.pass.cpp | 51 - .../atomic_fetch_add.verify.cpp | 74 - .../atomic_fetch_add_explicit.verify.cpp | 77 - .../atomic_fetch_sub.verify.cpp | 74 - .../atomic_fetch_sub_explicit.verify.cpp | 77 - .../test/libcxx/atomics/bit-int.verify.cpp | 22 - .../diagnose_invalid_memory_order.verify.cpp | 127 - .../dont_hijack_header.compile.pass.cpp | 23 - .../test/libcxx/clang_modules_include.gen.py | 74 - .../libc++/src/test/libcxx/clang_tidy.gen.py | 34 - .../__libcpp_integer.compile.pass.cpp | 63 - .../__libcpp_signed_integer.compile.pass.cpp | 63 - ...__libcpp_unsigned_integer.compile.pass.cpp | 63 - .../associative/map/at.abort.pass.cpp | 36 - .../associative/map/at.const.abort.pass.cpp | 36 - .../map/find.modules.compile.pass.mm | 18 - ...non_const_comparator.incomplete.verify.cpp | 54 - .../non_const_comparator.verify.cpp | 48 - .../tree_balance_after_insert.pass.cpp | 1622 -- .../tree_key_value_traits.pass.cpp | 60 - .../associative/tree_left_rotate.pass.cpp | 104 - .../associative/tree_remove.pass.cpp | 1654 -- .../associative/tree_right_rotate.pass.cpp | 104 - .../containers/gnu_cxx/hash_map.pass.cpp | 36 - .../gnu_cxx/hash_map_name_lookup.pass.cpp | 37 - .../containers/gnu_cxx/hash_set.pass.cpp | 36 - .../gnu_cxx/hash_set_name_lookup.pass.cpp | 36 - .../array/array.zero/assert.back.pass.cpp | 37 - .../array/array.zero/assert.front.pass.cpp | 37 - .../array.zero/assert.subscript.pass.cpp | 41 - .../sequences/array/triviality.pass.cpp | 54 - .../sequences/deque/abi.compile.pass.cpp | 114 - .../containers/sequences/deque/asan.pass.cpp | 71 - .../sequences/deque/asan_caterpillar.pass.cpp | 52 - .../sequences/deque/asan_turning_off.pass.cpp | 76 - .../sequences/deque/assert.pass.cpp | 56 - .../deque/assert.pop_back.empty.pass.cpp | 29 - .../sequences/deque/incomplete.pass.cpp | 35 - .../deque/segmented_iterator.compile.pass.cpp | 13 - .../deque/spare_block_handling.pass.cpp | 284 - .../sequences/list/abi.compile.pass.cpp | 86 - .../list/list.cons/debug.copy.pass.cpp | 28 - .../assert.erase_iter.end.pass.cpp | 29 - .../assert.pop_back.empty.pass.cpp | 35 - .../list.modifiers/debug.emplace.pass.cpp | 34 - .../list.modifiers/debug.erase.iter.pass.cpp | 28 - .../debug.erase.iter_iter.pass.cpp | 57 - .../debug.insert.iter_iter_iter.pass.cpp | 29 - .../debug.insert.iter_rvalue.pass.cpp | 27 - .../debug.insert.iter_size_value.pass.cpp | 27 - .../debug.insert.iter_value.pass.cpp | 28 - .../list.ops/debug.splice.pos_list.pass.cpp | 26 - .../debug.splice.pos_list_iter.pass.cpp | 28 - .../debug.splice.pos_list_iter_iter.pass.cpp | 28 - .../vector.bool/abi.compile.pass.cpp | 66 - .../trivial_for_purposes_of_call.pass.cpp | 56 - .../sequences/vector/abi.compile.pass.cpp | 86 - .../containers/sequences/vector/asan.pass.cpp | 80 - .../sequences/vector/asan_throw.pass.cpp | 236 - .../vector/asan_turning_off.pass.cpp | 77 - .../vector/assert.back.empty.pass.cpp | 43 - .../vector/assert.cback.empty.pass.cpp | 39 - .../vector/assert.cfront.empty.pass.cpp | 39 - .../vector/assert.cindex.oob.pass.cpp | 42 - .../vector/assert.front.empty.pass.cpp | 44 - .../vector/assert.index.oob.pass.cpp | 42 - .../vector/assert.pop_back.empty.pass.cpp | 29 - .../sequences/vector/const_T.compile.pass.cpp | 18 - .../vector/const_value_type.pass.cpp | 25 - .../vector/debug.iterator.add.pass.cpp | 46 - .../vector/debug.iterator.compare.pass.cpp | 39 - .../vector/debug.iterator.decrement.pass.cpp | 44 - .../debug.iterator.dereference.pass.cpp | 39 - .../vector/debug.iterator.increment.pass.cpp | 44 - .../vector/debug.iterator.index.pass.cpp | 42 - .../vector/debug.iterator.subtract.pass.cpp | 39 - .../vector/erase.modules.compile.pass.mm | 18 - ...eption_safety_exceptions_disabled.pass.cpp | 56 - .../vector/invalid_allocator.verify.cpp | 28 - .../vector/robust_against_adl.pass.cpp | 51 - .../vector.cons/construct_iter_iter.pass.cpp | 56 - .../construct_iter_iter_alloc.pass.cpp | 59 - .../strings/basic.string/asan.pass.cpp | 56 - .../basic.string/asan_turning_off.pass.cpp | 102 - .../unord/key_value_traits.pass.cpp | 60 - .../containers/unord/next_pow2.pass.cpp | 88 - .../containers/unord/next_prime.pass.cpp | 54 - ...non_const_comparator.incomplete.verify.cpp | 57 - .../unord/non_const_comparator.verify.cpp | 57 - .../unord/unord.map/assert.bucket.pass.cpp | 29 - .../unord.map/assert.bucket_size.pass.cpp | 33 - .../assert.iterator.dereference.pass.cpp | 52 - .../assert.iterator.increment.pass.cpp | 59 - ...assert.local_iterator.dereference.pass.cpp | 50 - .../assert.local_iterator.increment.pass.cpp | 66 - .../unord.map/assert.max_load_factor.pass.cpp | 34 - .../unord/unord.map/at.abort.pass.cpp | 33 - .../unord/unord.map/at.const.abort.pass.cpp | 33 - .../debug.insert.hint_const_lvalue.pass.cpp | 39 - .../debug.insert.hint_rvalue.pass.cpp | 34 - .../unord/unord.map/debug.swap.pass.cpp | 38 - .../debug.erase.iter.pass.cpp | 43 - .../debug.erase.iter_iter.pass.cpp | 64 - .../unord.multimap/assert.bucket.pass.cpp | 33 - .../assert.bucket_size.pass.cpp | 33 - .../assert.iterator.dereference.pass.cpp | 52 - .../assert.iterator.increment.pass.cpp | 59 - ...assert.local_iterator.dereference.pass.cpp | 50 - .../assert.local_iterator.increment.pass.cpp | 67 - .../assert.max_load_factor.pass.cpp | 34 - .../debug.insert.hint_const_lvalue.pass.cpp | 32 - .../debug.insert.hint_rvalue.pass.cpp | 33 - .../unord/unord.multimap/debug.swap.pass.cpp | 38 - .../debug.erase.iter.pass.cpp | 43 - .../debug.erase.iter_iter.pass.cpp | 64 - .../unord.multiset/assert.bucket.pass.cpp | 32 - .../assert.bucket_size.pass.cpp | 32 - .../assert.iterator.dereference.pass.cpp | 46 - .../assert.iterator.increment.pass.cpp | 58 - ...assert.local_iterator.dereference.pass.cpp | 48 - .../assert.local_iterator.increment.pass.cpp | 64 - .../assert.max_load_factor.pass.cpp | 33 - .../unord.multiset/debug.erase.iter.pass.cpp | 41 - .../debug.erase.iter_iter.pass.cpp | 60 - .../debug.insert.hint_const_lvalue.pass.cpp | 32 - .../unord/unord.multiset/debug.swap.pass.cpp | 37 - .../unord/unord.set/assert.bucket.pass.cpp | 32 - .../unord.set/assert.bucket_size.pass.cpp | 32 - .../assert.iterator.dereference.pass.cpp | 46 - .../assert.iterator.increment.pass.cpp | 58 - ...assert.local_iterator.dereference.pass.cpp | 48 - .../assert.local_iterator.increment.pass.cpp | 64 - .../unord.set/assert.max_load_factor.pass.cpp | 34 - .../unord/unord.set/debug.erase.iter.pass.cpp | 41 - .../unord.set/debug.erase.iter_iter.pass.cpp | 60 - .../debug.insert.hint_const_lvalue.pass.cpp | 32 - .../unord/unord.set/debug.swap.pass.cpp | 37 - .../missing_hash_specialization.verify.cpp | 71 - .../mdspan/extents/assert.conversion.pass.cpp | 57 - .../extents/assert.ctor_from_array.pass.cpp | 69 - .../assert.ctor_from_integral.pass.cpp | 62 - .../extents/assert.ctor_from_span.pass.cpp | 62 - .../views/mdspan/extents/assert.obs.pass.cpp | 65 - .../layout_left/assert.conversion.pass.cpp | 59 - .../layout_left/assert.ctor.extents.pass.cpp | 39 - .../assert.ctor.layout_right.pass.cpp | 56 - .../assert.ctor.layout_stride.pass.cpp | 83 - .../assert.index_operator.pass.cpp | 84 - .../mdspan/layout_left/assert.stride.pass.cpp | 41 - .../layout_right/assert.conversion.pass.cpp | 59 - .../layout_right/assert.ctor.extents.pass.cpp | 38 - .../assert.ctor.layout_left.pass.cpp | 55 - .../assert.ctor.layout_stride.pass.cpp | 83 - .../assert.index_operator.pass.cpp | 84 - .../layout_right/assert.stride.pass.cpp | 41 - .../layout_stride/assert.conversion.pass.cpp | 111 - ...ert.ctor.extents_array.non_unique.pass.cpp | 67 - .../assert.ctor.extents_array.pass.cpp | 73 - ...sert.ctor.extents_span.non_unique.pass.cpp | 70 - .../assert.ctor.extents_span.pass.cpp | 79 - .../assert.index_operator.pass.cpp | 88 - .../layout_stride/assert.stride.pass.cpp | 36 - .../mdspan/mdspan/assert.conversion.pass.cpp | 66 - .../mdspan/assert.index_operator.pass.cpp | 90 - .../views/mdspan/mdspan/assert.size.pass.cpp | 50 - .../assert.iterator-indexing.pass.cpp | 174 - .../span.cons/assert.iter_sent.pass.cpp | 48 - .../span.cons/assert.iter_size.pass.cpp | 37 - .../span.cons/assert.other_span.pass.cpp | 33 - .../span.cons/assert.range.pass.cpp | 32 - .../views.span/span.elem/assert.back.pass.cpp | 39 - .../span.elem/assert.front.pass.cpp | 39 - .../span.elem/assert.op_idx.pass.cpp | 39 - .../views.span/span.sub/assert.first.pass.cpp | 40 - .../views.span/span.sub/assert.last.pass.cpp | 40 - .../span.sub/assert.subspan.pass.cpp | 61 - .../debug/containers.multithread.pass.cpp | 65 - .../sequence_container_iterators.pass.cpp | 333 - .../libcxx/debug/containers/string.pass.cpp | 92 - .../containers/unord_containers.pass.cpp | 62 - .../auto.ptr/auto_ptr.cxx1z.pass.cpp | 31 - .../auto_ptr.depr_in_cxx11.verify.cpp | 30 - .../depr/depr.c.headers/extern_c.pass.cpp | 54 - .../depr.c.headers/math_h.compile.pass.cpp | 26 - .../stdint_h.std_types_t.compile.pass.cpp | 263 - .../stdint_h.xopen_source.compile.pass.cpp | 263 - .../allocator.members/address.cxx20.pass.cpp | 44 - .../address.cxx20.verify.cpp | 42 - .../address.depr_in_cxx17.verify.cpp | 26 - .../allocator.members/allocate.cxx20.pass.cpp | 92 - .../allocate.cxx20.verify.cpp | 23 - .../allocate.depr_in_cxx17.verify.cpp | 25 - .../construct.cxx20.pass.cpp | 147 - .../construct.cxx20.verify.cpp | 77 - .../allocator.members/max_size.cxx20.pass.cpp | 34 - .../max_size.cxx20.verify.cpp | 32 - .../allocator_types.cxx20.pass.cpp | 53 - .../typedefs.depr_in_cxx17.verify.cpp | 125 - .../adaptors.depr_in_cxx11.verify.cpp | 51 - .../depr.adaptors.cxx1z.pass.cpp | 67 - ...le_removed_cpp17_features.compile.pass.cpp | 36 - ...moved_cpp17_features.deprecated.verify.cpp | 20 - ...moved_cpp20_features.deprecated.verify.cpp | 20 - .../get_unexpected.pass.cpp | 44 - .../set_unexpected.pass.cpp | 40 - .../exception.unexpected/unexpected.pass.cpp | 31 - .../unexpected_disabled_cpp17.verify.cpp | 24 - .../bit.nodiscard_extensions.compile.pass.cpp | 34 - .../bit.nodiscard_extensions.verify.cpp | 31 - ...rono.nodiscard_extensions.compile.pass.cpp | 54 - .../chrono.nodiscard_extensions.verify.cpp | 54 - ...rmat.nodiscard_extensions.compile.pass.cpp | 50 - .../format.nodiscard_extensions.verify.cpp | 49 - ...mits.nodiscard_extensions.compile.pass.cpp | 71 - .../limits.nodiscard_extensions.verify.cpp | 70 - .../math_nodiscard_extensions.verify.cpp | 165 - .../libcxx/diagnostics/nodiscard.pass.cpp | 22 - .../nodiscard_aftercxx17.verify.cpp | 21 - .../nodiscard_extensions.compile.pass.cpp | 188 - .../nodiscard_extensions.verify.cpp | 353 - ...pstl.nodiscard_extensions.compile.pass.cpp | 28 - .../pstl.nodiscard_extensions.verify.cpp | 25 - ...nges.nodiscard_extensions.compile.pass.cpp | 101 - .../ranges.nodiscard_extensions.verify.cpp | 111 - ...w_adaptors.nodiscard_extensions.verify.cpp | 22 - .../src/test/libcxx/double_include.gen.py | 33 - .../fexperimental-library.compile.pass.cpp | 33 - .../hash/specializations.compile.fail.cpp | 18 - .../extensions/hash/specializations.pass.cpp | 36 - .../hash_map/const_iterator.compile.fail.cpp | 19 - .../libcxx/gdb/gdb_pretty_printer_test.py | 127 - .../libcxx/gdb/gdb_pretty_printer_test.sh.cpp | 695 - .../src/test/libcxx/header_inclusions.gen.py | 43 - .../test/libcxx/headers_in_modulemap.sh.py | 30 - .../src/test/libcxx/include_as_c.sh.cpp | 58 - .../filebuf/traits_mismatch.verify.cpp | 30 - .../fstreams/fstream.close.pass.cpp | 38 - .../fstream.cons/wchar_pointer.pass.cpp | 52 - .../open_wchar_pointer.pass.cpp | 58 - .../fstreams/ifstream.cons/test.dat | 1 - .../ifstream.cons/wchar_pointer.pass.cpp | 48 - .../open_wchar_pointer.pass.cpp | 54 - .../fstreams/ifstream.members/test.dat | 1 - .../ofstream.cons/wchar_pointer.pass.cpp | 66 - .../open_wchar_pointer.pass.cpp | 66 - .../fstreams/traits_mismatch.verify.cpp | 39 - .../input.output/file.streams/lit.local.cfg | 7 - .../last_write_time.pass.cpp | 104 - .../path.itr/assert.iterator.pass.cpp | 49 - .../path.native.obs/string_alloc.pass.cpp | 173 - .../class.path/path.req/is_pathable.pass.cpp | 107 - .../filesystems/convert_file_time.pass.cpp | 309 - .../input.streams/traits_mismatch.verify.cpp | 25 - .../iostream.format/lit.local.cfg | 7 - .../vprint_unicode.pass.cpp | 164 - .../ostream.syn/includes.compile.pass.cpp | 30 - .../output.streams/traits_mismatch.verify.cpp | 25 - .../print.fun/transcoding.pass.cpp | 89 - .../print.fun/vprint_unicode_posix.pass.cpp | 77 - .../print.fun/vprint_unicode_windows.pass.cpp | 133 - .../iostream.objects/lit.local.cfg | 7 - .../ios.base.cons/dtor.uninitialized.pass.cpp | 80 - .../ios/iostate.flags/clear.abort.pass.cpp | 43 - .../input.output/iostreams.base/lit.local.cfg | 7 - .../input.output/stream.buffers/lit.local.cfg | 7 - .../input.output/string.streams/lit.local.cfg | 7 - .../string.streams/traits_mismatch.verify.cpp | 29 - .../libcxx/iterators/assert.advance.pass.cpp | 37 - .../libcxx/iterators/assert.next.pass.cpp | 31 - .../libcxx/iterators/assert.prev.pass.cpp | 37 - .../bounded_iter/arithmetic.pass.cpp | 112 - .../bounded_iter/comparison.pass.cpp | 77 - .../bounded_iter/dereference.pass.cpp | 86 - .../bounded_iter/pointer_traits.pass.cpp | 60 - .../bounded_iter/types.compile.pass.cpp | 48 - .../iterators/contiguous_iterators.pass.cpp | 265 - .../subsumption.compile.pass.cpp | 29 - ...cy_bidirectional_iterator.compile.pass.cpp | 164 - .../legacy_forward_iterator.compile.pass.cpp | 164 - .../legacy_input_iterator.compile.pass.cpp | 164 - .../legacy_iterator.compile.pass.cpp | 164 - ...cy_random_access_iterator.compile.pass.cpp | 164 - .../locale_dependent.compile.pass.cpp | 50 - .../cpp20_iter_concepts.pass.cpp | 90 - .../cpp20_iter_traits.compile.pass.cpp | 34 - .../integer_like.compile.pass.cpp | 51 - .../iterators/iterator_with_data.pass.cpp | 41 - .../counted.iterator/assert.pass.cpp | 42 - .../get_container.pass.cpp | 37 - .../iterators.common/assert.pass.cpp | 58 - .../bad_template_argument.verify.cpp | 22 - .../ostreambuf.iter.ops/failed.pass.cpp | 36 - .../libcxx/iterators/unwrap_iter.pass.cpp | 59 - .../cxa_deleted_virtual.pass.cpp | 22 - .../math.lerp.verify.cpp | 39 - ...new_not_overridden_fno_exceptions.pass.cpp | 58 - .../support.dynamic/libcpp_deallocate.sh.cpp | 254 - .../new_dont_return_nullptr.pass.cpp | 37 - .../new_faligned_allocation.pass.cpp | 108 - ...ype_info.comparison.apple.compile.pass.cpp | 30 - .../type_info.comparison.merged.sh.cpp | 48 - .../type_info.comparison.unmerged.sh.cpp | 45 - .../support.types/cstddef.compile.pass.cpp | 26 - .../timespec_get.xopen.compile.pass.cpp | 21 - .../src/test/libcxx/libcpp_alignof.pass.cpp | 36 - .../test/libcxx/libcpp_freestanding.sh.cpp | 20 - .../src/test/libcxx/libcpp_version.gen.py | 27 - .../test/libcxx/lint/lint_cmakelists.sh.py | 31 - .../src/test/libcxx/lint/lint_headers.sh.py | 63 - .../libc++/src/test/libcxx/lit.local.cfg | 4 - .../test/libcxx/localization/lit.local.cfg | 7 - .../locale.categories/__scan_keyword.pass.cpp | 121 - .../locales/locale.abort.pass.cpp | 36 - .../locales/locale.category.abort.pass.cpp | 36 - .../conversions.string/ctor_move.pass.cpp | 42 - .../locale.types/locale.facet/facet.pass.cpp | 56 - .../locale.facet/no_allocation.pass.cpp | 23 - .../locale/locale.types/locale.id/id.pass.cpp | 53 - .../locales/use_facet.abort.pass.cpp | 39 - .../libcxx/mem/mem.res/nodiscard.verify.cpp | 25 - .../aligned_allocation_macro.compile.pass.cpp | 18 - .../libcxx/memory/allocation_guard.pass.cpp | 192 - .../allocator_void.trivial.compile.pass.cpp | 34 - .../memory/allocator_volatile.verify.cpp | 14 - .../compressed_pair/compressed_pair.pass.cpp | 52 - .../test/libcxx/memory/is_allocator.pass.cpp | 43 - .../libcxx/memory/shared_ptr_array.pass.cpp | 27 - .../libcxx/memory/swap_allocator.pass.cpp | 82 - .../trivial_abi/shared_ptr_arg.pass.cpp | 51 - .../trivial_abi/unique_ptr_arg.pass.cpp | 52 - .../trivial_abi/unique_ptr_array.pass.cpp | 57 - .../unique_ptr_destruction_order.pass.cpp | 68 - .../trivial_abi/unique_ptr_ret.pass.cpp | 59 - .../memory/trivial_abi/weak_ptr_ret.pass.cpp | 62 - .../uninitialized_allocator_copy.pass.cpp | 67 - .../minimal_cxx11_configuration.pass.cpp | 130 - .../libc++/src/test/libcxx/module_std.gen.py | 38 - .../src/test/libcxx/module_std_compat.gen.py | 42 - .../src/test/libcxx/no_assert_include.gen.py | 31 - .../src/test/libcxx/numerics/bit.ops.pass.cpp | 41 - .../c.math/constexpr-cxx23-clang.pass.cpp | 259 - .../c.math/constexpr-cxx23-gcc.pass.cpp | 256 - .../numerics/c.math/constexpr-fns.pass.cpp | 31 - .../c.math/fdelayed-template-parsing.pass.cpp | 28 - .../numerics/clamp_to_integral.pass.cpp | 92 - .../numerics/complex.number/__sqr.pass.cpp | 84 - .../class.gslice.array/assert.get.pass.cpp | 49 - .../numarray/class.gslice.array/get.pass.cpp | 52 - .../class.indirect.array/assert.get.pass.cpp | 49 - .../class.indirect.array/get.pass.cpp | 44 - .../class.mask.array/assert.get.pass.cpp | 48 - .../numarray/class.mask.array/get.pass.cpp | 51 - .../class.slice.array/assert.get.pass.cpp | 49 - .../numarray/class.slice.array/get.pass.cpp | 46 - .../numeric.ops/midpoint.integer.pass.cpp | 69 - .../has-no-random-device.verify.cpp | 18 - .../bad_engine.verify.cpp | 30 - .../rand.dist.bern.bin/bad_engine.verify.cpp | 30 - .../rand.dist.bern.geo/bad_engine.verify.cpp | 31 - .../bad_engine.verify.cpp | 31 - .../bad_engine.verify.cpp | 30 - .../bad_engine.verify.cpp | 30 - .../rand.dist.norm.f/bad_engine.verify.cpp | 31 - .../bad_engine.verify.cpp | 30 - .../bad_engine.verify.cpp | 30 - .../rand.dist.norm.t/bad_engine.verify.cpp | 30 - .../rand.dist.pois.exp/bad_engine.verify.cpp | 30 - .../bad_engine.verify.cpp | 30 - .../bad_engine.verify.cpp | 30 - .../bad_engine.verify.cpp | 31 - .../bad_engine.verify.cpp | 30 - .../bad_engine.verify.cpp | 30 - .../bad_engine.verify.cpp | 30 - .../bad_engine.verify.cpp | 30 - .../rand.dist.uni.int/bad_engine.verify.cpp | 31 - .../rand.dist.uni.real/bad_engine.verify.cpp | 30 - .../rand.req.urng/valid_int_type.verify.cpp | 51 - .../rand.req.urng/valid_real_type.verify.cpp | 109 - .../libcxx/odr_signature.exceptions.sh.cpp | 46 - .../libcxx/odr_signature.hardening.sh.cpp | 67 - .../range.access/end.incomplete_type.pass.cpp | 46 - .../as-lvalue.lifetimebound.verify.cpp | 22 - .../range.adaptor.helpers/as-lvalue.pass.cpp | 40 - .../tuple-for-each.pass.cpp | 31 - .../range.all/all.nodiscard.verify.cpp | 21 - .../adaptor.nodiscard.verify.cpp | 26 - .../range.chunk.by/assert.begin.pass.cpp | 35 - .../range.chunk.by/assert.find-next.pass.cpp | 38 - .../range.chunk.by/assert.find-prev.pass.cpp | 49 - .../no_unique_address.compile.pass.cpp | 46 - .../range.chunk.by.iter/assert.deref.pass.cpp | 30 - .../assert.increment.pass.cpp | 30 - .../range.adaptors/range.chunk.by/types.h | 23 - .../adaptor.nodiscard.verify.cpp | 21 - .../adaptor.nodiscard.verify.cpp | 19 - .../range.drop.while/assert.begin.pass.cpp | 49 - ...ts_view.no_unique_address.compile.pass.cpp | 33 - ...entinel.no_unique_address.compile.pass.cpp | 37 - .../ctor.parent.outer.pass.cpp | 65 - .../range.join.iterator/ctor.parent.pass.cpp | 36 - .../range.join/range.join.iterator/types.h | 114 - .../segmented_iterator.compile.pass.cpp | 17 - .../no_unique_address.compile.pass.cpp | 117 - .../assert.equal.pass.cpp | 37 - .../assert.equal.pass.cpp | 37 - .../range.adaptors/range.lazy.split/types.h | 73 - .../range.move.wrap/arrow.pass.cpp | 54 - .../range.move.wrap/assign.copy.pass.cpp | 168 - .../range.move.wrap/assign.move.pass.cpp | 228 - .../range.move.wrap/ctor.default.pass.cpp | 65 - .../range.move.wrap/ctor.in_place.pass.cpp | 69 - .../range.move.wrap/deref.pass.cpp | 52 - .../range.move.wrap/empty_object.pass.cpp | 56 - .../range.move.wrap/has_value.pass.cpp | 48 - .../no_unique_address.pass.cpp | 78 - .../properties.compile.pass.cpp | 61 - .../range.adaptors/range.move.wrap/types.h | 157 - .../adaptor.nodiscard.verify.cpp | 21 - .../no_unique_address.compile.pass.cpp | 27 - .../adaptor.nodiscard.verify.cpp | 23 - .../no_unique_address.compile.pass.cpp | 24 - .../range.repeat.view/ctor.piecewise.pass.cpp | 32 - .../ctor.value.bound.pass.cpp | 29 - .../no_unique_address.compile.pass.cpp | 23 - .../no_unique_address.compile.pass.cpp | 23 - .../range.nonprop.cache/assign.copy.pass.cpp | 102 - .../range.nonprop.cache/assign.move.pass.cpp | 98 - .../constraints.compile.pass.cpp | 28 - .../range.nonprop.cache/ctor.copy.pass.cpp | 73 - .../range.nonprop.cache/ctor.default.pass.cpp | 41 - .../range.nonprop.cache/ctor.move.pass.cpp | 64 - .../ranges/range.nonprop.cache/deref.pass.cpp | 53 - .../range.nonprop.cache/emplace.pass.cpp | 95 - .../range.nonprop.cache/emplace_from.pass.cpp | 77 - .../range.nonprop.cache/has_value.pass.cpp | 46 - .../different_from.compile.pass.cpp | 27 - .../has_arrow.compile.pass.cpp | 82 - .../simple_view.compile.pass.cpp | 58 - .../to.internal_constraints.verify.cpp | 94 - .../to.nodiscard.verify.cpp | 29 - .../to.static_assert.verify.cpp | 25 - .../conditional-compile-flags.sh.cpp | 14 - .../additional_compile_flags/lit.local.cfg | 2 - .../substitutes-in-compile-flags.sh.cpp | 18 - .../substitutes-in-run.sh.cpp | 15 - .../compile-error.compile.fail.cpp | 14 - .../compile-success.compile.fail.cpp | 13 - .../compile-error.compile.pass.cpp | 16 - .../compile-success.compile.pass.cpp | 11 - .../link-error.compile.pass.cpp | 16 - .../run-error.compile.pass.cpp | 13 - .../compile-error.compile.pass.mm | 18 - .../compile-success.compile.pass.mm | 16 - .../link-error.compile.pass.mm | 21 - .../compile.pass.mm/run-error.compile.pass.mm | 18 - .../build_run.sh.cpp | 23 - .../convenience_substitutions/verify.sh.cpp | 16 - .../src/test/libcxx/selftest/dsl/dsl.sh.py | 629 - .../test/libcxx/selftest/dsl/lit.local.cfg | 15 - .../absolute-and-relative-paths.sh.cpp | 15 - .../substitute-in-dependencies.sh.cpp | 12 - .../libcxx/selftest/gen.cpp/empty.gen.cpp | 11 - .../test/libcxx/selftest/gen.cpp/one.gen.cpp | 11 - .../test/libcxx/selftest/gen.cpp/two.gen.cpp | 12 - .../link.fail.cpp/compile-error.link.fail.cpp | 16 - .../link.fail.cpp/link-error.link.fail.cpp | 16 - .../link.fail.cpp/link-success.link.fail.cpp | 13 - .../link.pass.cpp/compile-error.link.pass.cpp | 16 - .../link.pass.cpp/link-error.link.pass.cpp | 18 - .../link.pass.cpp/link-success.link.pass.cpp | 11 - .../link.pass.cpp/run-error.link.pass.cpp | 14 - .../link.pass.mm/compile-error.link.pass.mm | 18 - .../link.pass.mm/link-error.link.pass.mm | 20 - .../link.pass.mm/link-success.link.pass.mm | 16 - .../link.pass.mm/run-error.link.pass.mm | 19 - .../libcxx/selftest/modules/no-modules.sh.cpp | 14 - .../modules/std-and-std.compat-module.sh.cpp | 22 - .../libcxx/selftest/modules/std-module.sh.cpp | 24 - .../selftest/modules/std.compat-module.sh.cpp | 24 - .../selftest/pass.cpp/compile-error.pass.cpp | 16 - .../selftest/pass.cpp/link-error.pass.cpp | 18 - .../selftest/pass.cpp/run-error.pass.cpp | 15 - .../selftest/pass.cpp/run-success.pass.cpp | 13 - .../libcxx/selftest/pass.cpp/werror.pass.cpp | 22 - .../selftest/pass.mm/compile-error.pass.mm | 18 - .../selftest/pass.mm/link-error.pass.mm | 20 - .../libcxx/selftest/pass.mm/no-arc.pass.mm | 19 - .../libcxx/selftest/pass.mm/run-error.pass.mm | 17 - .../selftest/pass.mm/run-success.pass.mm | 15 - .../pass.mm/use-objective-cxx.pass.mm | 18 - .../selftest/remote-substitutions.sh.cpp | 32 - .../libcxx/selftest/sh.cpp/run-error.sh.cpp | 13 - .../libcxx/selftest/sh.cpp/run-success.sh.cpp | 11 - .../selftest/sh.cpp/substitutions.sh.cpp | 24 - .../test/libcxx/selftest/sh.cpp/werror.sh.cpp | 23 - .../selftest/shell-no-escape-builtins.sh.cpp | 12 - .../libcxx/selftest/stdin-is-piped.sh.cpp | 22 - .../test/libcxx/selftest/test_macros.pass.cpp | 38 - .../test/libcxx/selftest/tmpdir-exists.sh.cpp | 11 - .../no-diagnostics-unmarked.verify.cpp | 17 - .../verify.cpp/no-diagnostics.verify.cpp | 11 - .../selftest/verify.cpp/no-werror.verify.cpp | 15 - .../verify.cpp/right-diagnostic.verify.cpp | 12 - .../verify.cpp/wrong-diagnostic.verify.cpp | 14 - .../basic.string/alignof.compile.pass.cpp | 136 - .../basic.string/sizeof.compile.pass.cpp | 135 - .../string.access/assert.back.pass.cpp | 34 - .../string.access/assert.cback.pass.cpp | 34 - .../string.access/assert.cfront.pass.cpp | 34 - .../string.access/assert.cindex.pass.cpp | 36 - .../string.access/assert.front.pass.cpp | 35 - .../string.access/assert.index.pass.cpp | 36 - .../string.capacity/PR53170.pass.cpp | 84 - .../string.capacity/allocation_size.pass.cpp | 41 - .../string.capacity/max_size.pass.cpp | 119 - .../constinit_sso_string.compile.pass.cpp | 25 - .../string.cons/copy_shrunk_long.pass.cpp | 45 - .../debug.iterator.substr.pass.cpp | 49 - .../debug.iterator.add.pass.cpp | 37 - .../debug.iterator.compare.pass.cpp | 33 - .../debug.iterator.decrement.pass.cpp | 36 - .../debug.iterator.dereference.pass.cpp | 33 - .../debug.iterator.increment.pass.cpp | 36 - .../debug.iterator.index.pass.cpp | 36 - .../debug.iterator.subtract.pass.cpp | 33 - .../assert.erase_iter.null.pass.cpp | 35 - .../string.modifiers/assert.pop_back.pass.cpp | 32 - .../clear_and_shrink.pass.cpp | 44 - .../debug.erase.iter.pass.cpp | 35 - .../debug.erase.iter_iter.pass.cpp | 61 - .../debug.insert.iter_char.pass.cpp | 39 - .../debug.insert.iter_iter_iter.pass.cpp | 35 - .../debug.insert.iter_size_char.pass.cpp | 32 - .../resize_default_initialized.pass.cpp | 75 - .../constexpr.cstring.compile.pass.cpp | 31 - .../constexpr.cwchar.compile.pass.cpp | 26 - .../c.strings/constexpr_memmove.pass.cpp | 155 - .../string.view/assert.ctor.length.pass.cpp | 26 - .../string.view/assert.ctor.pointer.pass.cpp | 41 - .../assert.iterator-indexing.pass.cpp | 158 - .../test/libcxx/system_reserved_names.gen.py | 175 - .../thread/atomic.availability.verify.cpp | 77 - .../thread/barrier.availability.verify.cpp | 41 - .../assert.set_exception.pass.cpp | 40 - ...sert.set_exception_at_thread_exit.pass.cpp | 40 - .../futures/futures.task/types.pass.cpp | 34 - .../thread/latch.availability.verify.cpp | 23 - .../thread/semaphore.availability.verify.cpp | 48 - .../thread.barrier/assert.arrive.pass.cpp | 40 - .../thread.barrier/assert.ctor.pass.cpp | 48 - ...otify_from_pthread_created_thread.pass.cpp | 81 - .../native_handle.pass.cpp | 36 - .../assert.arrive_and_wait.pass.cpp | 37 - .../thread.latch/assert.count_down.pass.cpp | 45 - .../thread/thread.latch/assert.ctor.pass.cpp | 38 - .../thread.lock.guard/nodiscard.verify.cpp | 30 - .../thread.mutex.class/native_handle.pass.cpp | 32 - .../native_handle.pass.cpp | 32 - ...ad_safety_annotations_not_enabled.pass.cpp | 30 - .../thread_safety_lock_guard.pass.cpp | 40 - .../thread_safety_lock_unlock.pass.cpp | 33 - .../thread_safety_missing_unlock.verify.cpp | 26 - ...thread_safety_requires_capability.pass.cpp | 37 - .../thread.semaphore/assert.ctor.pass.cpp | 37 - .../thread.semaphore/assert.release.pass.cpp | 41 - .../thread_safety.verify.cpp | 64 - .../thread_safety.verify.cpp | 95 - .../atomic_unique_lock.pass.cpp | 95 - .../intrusive_list_view.pass.cpp | 107 - .../intrusive_shared_ptr.pass.cpp | 87 - .../thread.threads/create_late.pass.cpp | 29 - .../native_handle.pass.cpp | 59 - .../thread.thread.class/types.pass.cpp | 31 - .../thread.thread.this/sleep_for.pass.cpp | 40 - .../sleep_for.signals.pass.cpp | 72 - .../test/libcxx/time/convert_to_tm.pass.cpp | 61 - .../time.zone/time.zone.db/links.pass.cpp | 102 - .../time.zone/time.zone.db/rules.pass.cpp | 589 - .../time.zone.db.list/erase_after.pass.cpp | 71 - .../time.zone.db.remote/reload_tzdb.pass.cpp | 58 - .../time.zone/time.zone.db/version.pass.cpp | 73 - .../time.zone/time.zone.db/zones.pass.cpp | 380 - .../test/libcxx/transitive_includes.gen.py | 90 - .../test/libcxx/transitive_includes/cxx03.csv | 988 - .../test/libcxx/transitive_includes/cxx11.csv | 994 - .../test/libcxx/transitive_includes/cxx14.csv | 996 - .../test/libcxx/transitive_includes/cxx17.csv | 996 - .../test/libcxx/transitive_includes/cxx20.csv | 1005 - .../test/libcxx/transitive_includes/cxx23.csv | 689 - .../test/libcxx/transitive_includes/cxx26.csv | 689 - .../test/libcxx/transitive_includes_to_csv.py | 151 - .../type_traits/convert_to_integral.pass.cpp | 123 - .../type_traits/datasizeof.compile.pass.cpp | 38 - .../is_always_bitcastable.compile.pass.cpp | 219 - .../type_traits/is_callable.compile.pass.cpp | 31 - .../is_constant_evaluated.pass.cpp | 34 - ..._implicitly_default_constructible.pass.cpp | 82 - .../libcxx/type_traits/is_pointer.arc.pass.mm | 75 - .../libcxx/type_traits/is_scalar.objc.pass.mm | 38 - .../is_specialization.compile.pass.cpp | 58 - .../type_traits/is_specialization.verify.cpp | 22 - .../is_trivially_comparable.compile.pass.cpp | 65 - .../is_trivially_relocatable.compile.pass.cpp | 115 - .../type_traits/lazy_metafunctions.pass.cpp | 128 - .../libcxx/utilities/any/allocator.pass.cpp | 127 - .../utilities/any/size_and_alignment.pass.cpp | 25 - .../libcxx/utilities/any/small_type.pass.cpp | 115 - ...ert.exception_guard.no_exceptions.pass.cpp | 22 - .../exception_guard.no_exceptions.pass.cpp | 21 - .../utilities/exception_guard.odr.sh.cpp | 43 - .../libcxx/utilities/exception_guard.pass.cpp | 160 - .../and_then.mandates.verify.cpp | 126 - .../expected.expected/assert.arrow.pass.cpp | 30 - .../expected.expected/assert.deref.pass.cpp | 34 - .../expected.expected/assert.error.pass.cpp | 34 - .../error_or.mandates.verify.cpp | 72 - .../no_unique_address.compile.pass.cpp | 74 - .../noexcept.extension.compile.pass.cpp | 124 - .../or_else.mandates.verify.cpp | 125 - .../transform_error.mandates.verify.cpp | 93 - .../value.observers.verify.cpp | 131 - .../value_or.mandates.verify.cpp | 66 - .../class.mandates.verify.cpp | 25 - .../noexcept.extension.compile.pass.cpp | 45 - .../swap.mandates.verify.cpp | 26 - .../and_then.mandates.verify.cpp | 125 - .../expected.void/assert.deref.pass.cpp | 28 - .../expected.void/assert.error.pass.cpp | 34 - .../error_or.mandates.verify.cpp | 71 - .../no_unique_address.compile.pass.cpp | 67 - .../noexcept.extension.compile.pass.cpp | 80 - .../expected.void/or_else.mandates.verify.cpp | 121 - .../transform_error.mandates.verify.cpp | 94 - .../expected.void/value.lwg3940.verify.cpp | 50 - .../test/libcxx/utilities/expected/types.h | 51 - .../utilities/expol/policies.compile.pass.cpp | 44 - .../format/enable_insertable.compile.pass.cpp | 154 - .../format.arg/arg_t.compile.pass.cpp | 37 - .../format.context/types.compile.pass.cpp | 127 - .../format/format.functions/ascii.pass.cpp | 161 - .../escaped_output.ascii.pass.cpp | 352 - .../code_point_width_estimation.pass.cpp | 85 - .../format.string.std/concepts_precision.h | 21 - .../extended_grapheme_cluster.h | 1909 -- .../extended_grapheme_cluster.pass.cpp | 90 - .../format.string.std/test_exception.h | 51 - .../func.bind.partial/bind_back.pass.cpp | 416 - .../func.bind.partial/compose.pass.cpp | 81 - .../function.objects/func.blocks.arc.pass.mm | 89 - .../function.objects/func.blocks.pass.cpp | 147 - .../func.require/bullet_1_2_3.pass.cpp | 404 - .../func.require/bullet_4_5_6.pass.cpp | 209 - .../func.require/bullet_7.pass.cpp | 328 - .../func.require/invoke.pass.cpp | 46 - .../func.require/invoke_helpers.h | 375 - .../move_reentrant.pass.cpp | 52 - .../nullptr_t_assign_reentrant.pass.cpp | 52 - .../function.objects/refwrap/binary.pass.cpp | 87 - .../refwrap/layout.binary.compile.pass.cpp | 21 - .../refwrap/layout.unary.compile.pass.cpp | 22 - .../function.objects/refwrap/unary.pass.cpp | 85 - ...h_ubsan_unsigned_overflow_ignored.pass.cpp | 43 - .../intseq/for_each_index_sequence.pass.cpp | 33 - .../utilities/is_pointer_in_range.pass.cpp | 56 - .../pointer.conversion/to_address.pass.cpp | 159 - .../to_address_on_funcptr.verify.cpp | 20 - .../to_address_on_function.verify.cpp | 20 - .../to_address_std_iterators.pass.cpp | 56 - .../assume_aligned.const_eval.verify.cpp | 48 - .../assume_aligned.power2.verify.cpp | 31 - .../util.smartptr/race_condition.pass.cpp | 99 - .../function_type_default_deleter.verify.cpp | 53 - .../libcxx.control_block_layout.pass.cpp | 163 - ...te_shared.array.zero_size.compile.fail.cpp | 22 - ...ke_shared.array.zero_size.compile.fail.cpp | 22 - .../utilities/meta/is_referenceable.pass.cpp | 194 - .../libcxx/utilities/meta/meta_base.pass.cpp | 86 - .../stress_tests/stress_test_is_same.sh.cpp | 55 - .../stress_test_metafunctions.sh.cpp | 65 - .../stress_test_variant_overloads_impl.sh.cpp | 119 - .../utilities/optional/block.objc.pass.mm | 28 - .../optional.object.assign/copy.pass.cpp | 78 - .../optional.object.assign/move.pass.cpp | 75 - .../optional.object.ctor/copy.pass.cpp | 62 - .../optional.object.ctor/move.pass.cpp | 63 - .../assert.dereference.pass.cpp | 51 - .../assert.op_arrow.pass.cpp | 39 - .../optional.object/optional_size.pass.cpp | 31 - .../optional.object/triviality.abi.pass.cpp | 101 - .../smartptr/unique.ptr/null.pass.cpp | 84 - .../template.bitset/includes.pass.cpp | 35 - .../tuple/__tuple_like.compile.pass.cpp | 93 - .../tuple/tuple.tuple/empty_member.pass.cpp | 49 - .../tuple.assign/array.extension.pass.cpp | 104 - .../tuple_array_template_depth.pass.cpp | 37 - ...5_tuple_ref_binding_diagnostics.verify.cpp | 80 - .../utility/__is_inplace_index.pass.cpp | 37 - .../utility/__is_inplace_type.pass.cpp | 37 - .../__murmur2_or_cityhash.abi-v1.pass.cpp | 49 - .../__murmur2_or_cityhash.abi-v2.pass.cpp | 47 - .../utility/forward/lifetimebound.verify.cpp | 28 - .../allocate_vocabulary.attributes.verify.cpp | 19 - .../assert.deallocate.pass.cpp | 41 - .../construct_piecewise_pair.pass.cpp | 170 - ...allocate_from_underaligned_buffer.pass.cpp | 61 - ...allocate_in_geometric_progression.pass.cpp | 34 - .../unsynchronized_buffer.pass.cpp | 211 - .../mem.res/pmr.availability.verify.cpp | 63 - .../utility/pairs/pairs.pair/U_V.pass.cpp | 58 - .../pairs.pair/assign_tuple_like.pass.cpp | 100 - .../const_first_const_second.pass.cpp | 63 - .../pairs/pairs.pair/const_pair_U_V.pass.cpp | 68 - .../utility/pairs/pairs.pair/default.pass.cpp | 39 - .../non_trivial_copy_move_ABI.pass.cpp | 154 - .../pairs.pair/pair.tuple_element.verify.cpp | 21 - .../pairs/pairs.pair/piecewise.pass.cpp | 41 - .../pairs/pairs.pair/rv_pair_U_V.pass.cpp | 66 - .../pairs.pair/trivial_copy_move_ABI.pass.cpp | 151 - .../utilities/utility/small_buffer.pass.cpp | 74 - .../variant_alternative.verify.cpp | 37 - .../variant.variant/variant_size.pass.cpp | 88 - ...lity-with-pedantic-errors.compile.pass.cpp | 22 - .../apple/system-install-properties.sh.cpp | 48 - .../vendor/clang-cl/static-lib-exports.sh.cpp | 16 - .../vendor/ibm/bad_function_call.pass.cpp | 45 - .../vendor/mingw/static-lib-exports.sh.cpp | 16 - .../third_party/libc++/src/test/lit.cfg.py | 11 - .../alg.c.library/tested_elsewhere.pass.cpp | 13 - .../alg.copy/copy.pass.cpp | 92 - .../alg.copy/copy_backward.pass.cpp | 111 - .../alg.copy/copy_if.pass.cpp | 94 - .../alg.copy/copy_n.pass.cpp | 123 - .../alg.copy/pstl.copy.pass.cpp | 104 - .../alg.copy/pstl.copy_n.pass.cpp | 102 - .../alg.copy/ranges.copy.pass.cpp | 215 - .../alg.copy/ranges.copy.segmented.pass.cpp | 113 - .../alg.copy/ranges.copy_backward.pass.cpp | 332 - .../ranges.copy_backward.segmented.pass.cpp | 109 - .../alg.copy/ranges.copy_if.pass.cpp | 243 - .../alg.copy/ranges.copy_n.pass.cpp | 120 - .../alg.copy/ranges.copy_n.segmented.pass.cpp | 112 - .../alg.fill/fill.pass.cpp | 105 - .../alg.fill/fill_n.pass.cpp | 174 - .../alg.fill/pstl.exception_handling.pass.cpp | 58 - .../alg.fill/pstl.fill.pass.cpp | 68 - .../alg.fill/pstl.fill_n.pass.cpp | 68 - .../alg.fill/ranges.fill.pass.cpp | 142 - .../alg.fill/ranges.fill_n.pass.cpp | 90 - .../alg.generate/generate.pass.cpp | 66 - .../alg.generate/generate_n.pass.cpp | 86 - .../alg.generate/pstl.generate.pass.cpp | 57 - .../alg.generate/pstl.generate_n.pass.cpp | 56 - .../alg.generate/ranges_generate.pass.cpp | 205 - .../alg.generate/ranges_generate_n.pass.cpp | 142 - .../contiguous_trivial_optimization.pass.cpp | 106 - .../alg.move/move.pass.cpp | 148 - .../alg.move/move_backward.pass.cpp | 148 - .../alg.move/pstl.exception_handling.pass.cpp | 40 - .../alg.move/pstl.move.pass.cpp | 99 - .../alg.move/ranges.move.pass.cpp | 382 - .../alg.move/ranges.move.segmented.pass.cpp | 113 - .../alg.move/ranges.move_backward.pass.cpp | 368 - .../ranges.move_backward.segmented.pass.cpp | 109 - .../alg.partitions/is_partitioned.pass.cpp | 99 - .../alg.partitions/partition.pass.cpp | 112 - .../alg.partitions/partition_copy.pass.cpp | 73 - .../alg.partitions/partition_point.pass.cpp | 94 - .../alg.partitions/ranges_partition.pass.cpp | 214 - .../ranges_partition_copy.pass.cpp | 305 - .../ranges_partition_point.pass.cpp | 182 - .../ranges_stable_partition.pass.cpp | 248 - .../alg.partitions/stable_partition.pass.cpp | 338 - .../alg.random.sample/ranges_sample.pass.cpp | 333 - .../alg.random.sample/sample.pass.cpp | 159 - .../alg.random.sample/sample.stable.pass.cpp | 57 - .../alg.random.sample/sample.verify.cpp | 42 - .../random_shuffle.pass.cpp | 64 - .../random_shuffle_rand.pass.cpp | 61 - .../random_shuffle_urng.pass.cpp | 36 - .../ranges_shuffle.pass.cpp | 268 - .../alg.remove/ranges.remove.pass.cpp | 191 - .../alg.remove/ranges.remove_if.pass.cpp | 208 - .../alg.remove/ranges_remove_copy.pass.cpp | 258 - .../alg.remove/ranges_remove_copy_if.pass.cpp | 297 - .../alg.remove/remove.pass.cpp | 95 - .../alg.remove/remove_copy.pass.cpp | 90 - .../alg.remove/remove_copy_if.pass.cpp | 95 - .../alg.remove/remove_if.pass.cpp | 110 - .../pstl.exception_handling.pass.cpp | 118 - .../alg.replace/pstl.replace.pass.cpp | 80 - .../alg.replace/pstl.replace_copy.pass.cpp | 89 - .../alg.replace/pstl.replace_copy_if.pass.cpp | 132 - .../alg.replace/pstl.replace_if.pass.cpp | 87 - .../alg.replace/ranges.replace.pass.cpp | 189 - .../alg.replace/ranges.replace_if.pass.cpp | 173 - .../alg.replace/ranges_replace_copy.pass.cpp | 254 - .../ranges_replace_copy_if.pass.cpp | 264 - .../alg.replace/replace.pass.cpp | 62 - .../alg.replace/replace_copy.pass.cpp | 94 - .../alg.replace/replace_copy_if.pass.cpp | 98 - .../alg.replace/replace_if.pass.cpp | 65 - .../alg.reverse/ranges.reverse.pass.cpp | 144 - .../alg.reverse/ranges.reverse_copy.pass.cpp | 140 - .../alg.reverse/reverse.pass.cpp | 70 - .../alg.reverse/reverse_copy.pass.cpp | 100 - .../pstl.exception_handling.pass.cpp | 43 - .../alg.rotate/pstl.rotate_copy.pass.cpp | 98 - .../alg.rotate/ranges.rotate_copy.pass.cpp | 154 - .../alg.rotate/ranges_rotate.pass.cpp | 190 - .../alg.rotate/rotate.pass.cpp | 448 - .../alg.rotate/rotate_copy.pass.cpp | 156 - .../alg.shift/shift_left.pass.cpp | 128 - .../alg.shift/shift_right.pass.cpp | 127 - .../alg.swap/iter_swap.pass.cpp | 44 - .../alg.swap/ranges.swap_ranges.pass.cpp | 227 - .../alg.swap/swap_ranges.pass.cpp | 175 - .../alg.transform/binary_transform.pass.cpp | 241 - .../pstl.exception_handling.pass.cpp | 73 - .../pstl.transform.binary.pass.cpp | 79 - .../pstl.transform.unary.pass.cpp | 65 - .../ranges.transform.binary.iterator.pass.cpp | 227 - .../ranges.transform.binary.range.pass.cpp | 288 - .../ranges.transform.unary.pass.cpp | 249 - .../alg.transform/unary_transform.pass.cpp | 102 - .../alg.unique/ranges_unique.pass.cpp | 247 - .../alg.unique/ranges_unique_copy.pass.cpp | 449 - .../alg.unique/unique.pass.cpp | 203 - .../alg.unique/unique_copy.pass.cpp | 168 - .../alg.unique/unique_copy_pred.pass.cpp | 173 - .../alg.unique/unique_pred.pass.cpp | 245 - .../alg.adjacent.find/adjacent_find.pass.cpp | 52 - .../adjacent_find_pred.pass.cpp | 59 - .../ranges.adjacent_find.pass.cpp | 182 - .../alg.all_of/all_of.pass.cpp | 63 - .../alg.all_of/pstl.all_of.pass.cpp | 73 - .../pstl.exception_handling.pass.cpp | 44 - .../alg.all_of/ranges.all_of.pass.cpp | 158 - .../alg.any_of/any_of.pass.cpp | 71 - .../alg.any_of/pstl.any_of.pass.cpp | 67 - .../pstl.exception_handling.pass.cpp | 44 - .../alg.any_of/ranges.any_of.pass.cpp | 158 - .../alg.contains/ranges.contains.pass.cpp | 299 - .../ranges.contains_subrange.pass.cpp | 320 - .../alg.nonmodifying/alg.count/count.pass.cpp | 63 - .../alg.count/count_if.pass.cpp | 58 - .../alg.count/pstl.count.pass.cpp | 86 - .../alg.count/pstl.count_if.pass.cpp | 86 - .../alg.count/ranges.count.pass.cpp | 280 - .../alg.count/ranges.count_if.pass.cpp | 322 - .../alg.ends_with/ranges.ends_with.pass.cpp | 275 - .../alg.nonmodifying/alg.equal/equal.pass.cpp | 188 - .../alg.equal/equal_pred.pass.cpp | 119 - .../alg.equal/pstl.equal.pass.cpp | 154 - .../pstl.exception_handling.pass.cpp | 53 - .../alg.equal/ranges.equal.pass.cpp | 390 - .../alg.find.end/find_end.pass.cpp | 82 - .../alg.find.end/find_end_pred.pass.cpp | 112 - .../alg.find.end/ranges.find_end.pass.cpp | 353 - .../alg.find.first.of/find_first_of.pass.cpp | 74 - .../find_first_of_pred.pass.cpp | 80 - .../ranges.find_first_of.pass.cpp | 236 - .../alg.nonmodifying/alg.find/find.pass.cpp | 244 - .../alg.find/find_if.pass.cpp | 69 - .../alg.find/find_if_not.pass.cpp | 69 - .../alg.find/pstl.exception_handling.pass.cpp | 87 - .../alg.find/pstl.find.pass.cpp | 68 - .../alg.find/pstl.find_if.pass.cpp | 74 - .../alg.find/pstl.find_if_not.pass.cpp | 75 - .../alg.find/ranges.find.pass.cpp | 289 - .../alg.find/ranges.find_if.pass.cpp | 234 - .../alg.find/ranges.find_if_not.pass.cpp | 228 - .../alg.fold/left_folds.pass.cpp | 323 - .../alg.fold/requirements.compile.pass.cpp | 259 - .../alg.foreach/for_each.pass.cpp | 100 - .../alg.foreach/for_each_n.pass.cpp | 82 - .../pstl.exception_handling.pass.cpp | 53 - .../alg.foreach/pstl.for_each.pass.cpp | 55 - .../alg.foreach/pstl.for_each_n.pass.cpp | 54 - .../alg.foreach/ranges.for_each.pass.cpp | 157 - .../alg.foreach/ranges.for_each_n.pass.cpp | 100 - .../is_permutation.pass.cpp | 623 - .../is_permutation_pred.pass.cpp | 774 - .../ranges.is_permutation.pass.cpp | 280 - .../alg.none_of/none_of.pass.cpp | 71 - .../pstl.exception_handling.pass.cpp | 44 - .../alg.none_of/pstl.none_of.pass.cpp | 67 - .../alg.none_of/ranges.none_of.pass.cpp | 158 - .../alg.search/ranges.search.pass.cpp | 354 - .../alg.search/ranges.search_n.pass.cpp | 297 - .../alg.search/search.pass.cpp | 150 - .../alg.search/search_n.pass.cpp | 93 - .../alg.search/search_n_pred.pass.cpp | 195 - .../alg.search/search_pred.pass.cpp | 130 - .../ranges.starts_with.pass.cpp | 259 - .../mismatch/mismatch.pass.cpp | 188 - .../mismatch/ranges_mismatch.pass.cpp | 293 - .../binary.search/binary_search.pass.cpp | 81 - .../binary.search/binary_search_comp.pass.cpp | 82 - .../ranges.binary_search.pass.cpp | 182 - .../equal.range/equal_range.pass.cpp | 89 - .../equal.range/equal_range_comp.pass.cpp | 88 - .../equal.range/ranges_equal_range.pass.cpp | 228 - .../lower.bound/lower_bound.pass.cpp | 85 - .../lower.bound/lower_bound_comp.pass.cpp | 84 - .../lower.bound/ranges.lower_bound.pass.cpp | 289 - .../upper.bound/ranges.upper_bound.pass.cpp | 288 - .../upper.bound/upper_bound.pass.cpp | 81 - .../upper.bound/upper_bound_comp.pass.cpp | 84 - .../alg.clamp/assert.ranges_clamp.pass.cpp | 34 - .../alg.sorting/alg.clamp/clamp.comp.pass.cpp | 130 - .../alg.sorting/alg.clamp/clamp.pass.cpp | 128 - .../alg.clamp/ranges.clamp.pass.cpp | 124 - .../is.heap/is_heap.pass.cpp | 542 - .../is.heap/is_heap_comp.pass.cpp | 543 - .../is.heap/is_heap_until.pass.cpp | 542 - .../is.heap/is_heap_until_comp.pass.cpp | 543 - .../is.heap/ranges_is_heap.pass.cpp | 175 - .../is.heap/ranges_is_heap_until.pass.cpp | 183 - .../make.heap/make_heap.pass.cpp | 66 - .../make.heap/make_heap_comp.pass.cpp | 67 - .../make.heap/ranges_make_heap.pass.cpp | 206 - .../pop.heap/assert.pop_heap.pass.cpp | 29 - .../pop.heap/assert.ranges_pop_heap.pass.cpp | 30 - .../pop.heap/pop_heap.pass.cpp | 68 - .../pop.heap/pop_heap_comp.pass.cpp | 68 - .../pop.heap/ranges_pop_heap.pass.cpp | 205 - .../push.heap/push_heap.pass.cpp | 65 - .../push.heap/push_heap_comp.pass.cpp | 65 - .../push.heap/ranges_push_heap.pass.cpp | 208 - .../sort.heap/complexity.pass.cpp | 80 - .../sort.heap/ranges_sort_heap.pass.cpp | 263 - .../sort.heap/sort_heap.pass.cpp | 70 - .../sort.heap/sort_heap_comp.pass.cpp | 70 - .../lexicographical_compare.pass.cpp | 86 - .../lexicographical_compare_comp.pass.cpp | 91 - .../ranges.lexicographical_compare.pass.cpp | 226 - .../alg.merge/inplace_merge.pass.cpp | 126 - .../alg.merge/inplace_merge_comp.pass.cpp | 174 - .../alg.sorting/alg.merge/merge.pass.cpp | 97 - .../alg.sorting/alg.merge/merge_comp.pass.cpp | 98 - .../pstl.exception_handling.pass.cpp | 51 - .../alg.sorting/alg.merge/pstl.merge.pass.cpp | 155 - .../alg.merge/ranges_inplace_merge.pass.cpp | 340 - .../alg.merge/ranges_merge.pass.cpp | 578 - .../alg.sorting/alg.min.max/max.pass.cpp | 57 - .../alg.sorting/alg.min.max/max_comp.pass.cpp | 59 - .../alg.min.max/max_element.pass.cpp | 85 - .../alg.min.max/max_element_comp.pass.cpp | 105 - .../alg.min.max/max_init_list.pass.cpp | 45 - .../alg.min.max/max_init_list_comp.pass.cpp | 46 - .../alg.sorting/alg.min.max/min.pass.cpp | 57 - .../alg.sorting/alg.min.max/min_comp.pass.cpp | 59 - .../alg.min.max/min_element.pass.cpp | 85 - .../alg.min.max/min_element_comp.pass.cpp | 105 - .../alg.min.max/min_init_list.pass.cpp | 45 - .../alg.min.max/min_init_list_comp.pass.cpp | 46 - .../alg.sorting/alg.min.max/minmax.pass.cpp | 66 - .../alg.min.max/minmax_comp.pass.cpp | 69 - .../alg.min.max/minmax_element.pass.cpp | 103 - .../alg.min.max/minmax_element_comp.pass.cpp | 109 - .../alg.min.max/minmax_init_list.pass.cpp | 43 - .../minmax_init_list_comp.pass.cpp | 77 - .../alg.min.max/ranges.max.pass.cpp | 280 - .../alg.min.max/ranges.max_element.pass.cpp | 193 - .../alg.min.max/ranges.min.pass.cpp | 277 - .../alg.min.max/ranges.min_element.pass.cpp | 193 - .../alg.min.max/ranges.minmax.pass.cpp | 363 - .../ranges.minmax_element.pass.cpp | 316 - .../requires_forward_iterator.verify.cpp | 38 - .../alg.nth.element/nth_element.pass.cpp | 86 - .../alg.nth.element/nth_element_comp.pass.cpp | 87 - .../ranges_nth_element.pass.cpp | 273 - .../pstl.is_partitioned.pass.cpp | 75 - .../ranges.is_partitioned.pass.cpp | 229 - .../next_permutation.pass.cpp | 75 - .../next_permutation_comp.pass.cpp | 77 - .../prev_permutation.pass.cpp | 75 - .../prev_permutation_comp.pass.cpp | 77 - .../ranges.next_permutation.pass.cpp | 271 - .../ranges.prev_permutation.pass.cpp | 271 - .../includes/includes.pass.cpp | 96 - .../includes/includes_comp.pass.cpp | 97 - .../includes/ranges_includes.pass.cpp | 353 - .../ranges_set_difference.pass.cpp | 552 - .../set.difference/set_difference.pass.cpp | 97 - .../set_difference_comp.pass.cpp | 98 - .../ranges_set_intersection.pass.cpp | 576 - .../set_intersection.pass.cpp | 97 - .../set_intersection_comp.pass.cpp | 98 - .../ranges_set_symmetric_difference.pass.cpp | 507 - .../set_symmetric_difference.pass.cpp | 97 - .../set_symmetric_difference_comp.pass.cpp | 98 - .../set.union/ranges_set_union.pass.cpp | 507 - .../set.union/set_union.pass.cpp | 97 - .../set.union/set_union_comp.pass.cpp | 98 - .../set.union/set_union_move.pass.cpp | 48 - .../alg.sort/is.sorted/is_sorted.pass.cpp | 198 - .../is.sorted/is_sorted_comp.pass.cpp | 199 - .../is.sorted/is_sorted_until.pass.cpp | 198 - .../is.sorted/is_sorted_until_comp.pass.cpp | 199 - .../is.sorted/ranges.is_sorted.pass.cpp | 177 - .../is.sorted/ranges.is_sorted_until.pass.cpp | 179 - .../partial_sort_copy.pass.cpp | 95 - .../partial_sort_copy_comp.pass.cpp | 98 - .../ranges_partial_sort_copy.pass.cpp | 303 - .../partial.sort/partial_sort.pass.cpp | 74 - .../partial.sort/partial_sort_comp.pass.cpp | 76 - .../partial.sort/ranges_partial_sort.pass.cpp | 211 - .../alg.sort/sort/pstl.sort.pass.cpp | 113 - .../alg.sort/sort/ranges.sort.pass.cpp | 218 - .../alg.sorting/alg.sort/sort/sort.pass.cpp | 290 - .../alg.sort/sort/sort_comp.pass.cpp | 58 - .../alg.sort/sort/sort_constexpr.pass.cpp | 118 - .../sort/sort_constexpr_comp.pass.cpp | 119 - .../pstl.exception_handling.pass.cpp | 41 - .../stable.sort/pstl.stable_sort.pass.cpp | 150 - .../stable.sort/ranges.stable.sort.pass.cpp | 271 - .../alg.sort/stable.sort/stable_sort.pass.cpp | 168 - .../stable.sort/stable_sort_comp.pass.cpp | 88 - ...lexicographical_compare_three_way.pass.cpp | 131 - ...ographical_compare_three_way_comp.pass.cpp | 187 - ...raphical_compare_three_way_comp.verify.cpp | 47 - .../algorithms/alg.sorting/sortable_helpers.h | 127 - .../algorithms.general/nothing_to_do.pass.cpp | 13 - .../in_found_result.pass.cpp | 97 - .../algorithms.results/in_fun_result.pass.cpp | 97 - .../in_in_out_result.pass.cpp | 101 - .../algorithms.results/in_in_result.pass.cpp | 90 - .../in_out_out_result.pass.cpp | 99 - .../algorithms.results/in_out_result.pass.cpp | 94 - .../in_value_result.pass.cpp | 104 - .../min_max_result.pass.cpp | 95 - .../no_unique_address.compile.pass.cpp | 75 - .../reduce/pstl.exception_handling.pass.cpp | 52 - .../numeric.ops/reduce/pstl.reduce.pass.cpp | 73 - .../pstl.exception_handling.pass.cpp | 62 - .../pstl.transform_reduce.binary.pass.cpp | 124 - .../pstl.transform_reduce.unary.pass.cpp | 69 - ...result_alias_declarations.compile.pass.cpp | 70 - .../ranges_robust_against_dangling.pass.cpp | 220 - ...ust_against_differing_projections.pass.cpp | 93 - ...es_robust_against_nonbool.compile.pass.cpp | 285 - ...es_robust_against_omitting_invoke.pass.cpp | 189 - ...es_robust_against_proxy_iterators.pass.cpp | 197 - .../robust_against_adl.compile.pass.cpp | 232 - .../robust_against_adl_on_new.pass.cpp | 37 - ...nst_proxy_iterators_lifetime_bugs.pass.cpp | 769 - ...robust_re_difference_type.compile.pass.cpp | 264 - .../atomic_signal_fence.pass.cpp | 22 - .../atomic_thread_fence.pass.cpp | 22 - .../atomics.flag/atomic_flag_clear.pass.cpp | 39 - .../atomic_flag_clear_explicit.pass.cpp | 67 - .../atomics.flag/atomic_flag_test.pass.cpp | 39 - .../atomic_flag_test_and_set.pass.cpp | 37 - ...atomic_flag_test_and_set_explicit.pass.cpp | 97 - .../atomic_flag_test_explicit.pass.cpp | 113 - .../std/atomics/atomics.flag/clear.pass.cpp | 81 - .../atomics.flag/copy_assign.compile.fail.cpp | 25 - .../atomics.flag/copy_ctor.compile.fail.cpp | 24 - .../copy_volatile_assign.compile.fail.cpp | 25 - .../std/atomics/atomics.flag/default.pass.cpp | 35 - .../std/atomics/atomics.flag/init.pass.cpp | 28 - .../atomics.flag/test_and_set.pass.cpp | 109 - .../replace_failure_order.pass.cpp | 42 - .../replace_failure_order_codegen.sh.cpp | 37 - .../isalwayslockfree.pass.cpp | 120 - .../atomics.lockfree/lockfree.pass.cpp | 67 - .../atomics.order/kill_dependency.pass.cpp | 24 - .../atomics.order/memory_order.pass.cpp | 35 - .../atomics.order/memory_order_new.pass.cpp | 25 - .../atomics.syn/nothing_to_do.pass.cpp | 13 - .../atomics.types.generic/address.pass.cpp | 143 - .../atomics.types.float/assign.pass.cpp | 62 - .../compare_exchange_strong.pass.cpp | 226 - .../compare_exchange_weak.pass.cpp | 242 - .../atomics.types.float/copy.compile.pass.cpp | 29 - .../atomics.types.float/ctor.pass.cpp | 68 - .../atomics.types.float/exchange.pass.cpp | 75 - .../atomics.types.float/fetch_add.pass.cpp | 119 - .../atomics.types.float/fetch_sub.pass.cpp | 120 - .../atomics.types.float/load.pass.cpp | 138 - .../atomics.types.float/lockfree.pass.cpp | 61 - .../atomics.types.float/notify_all.pass.cpp | 99 - .../atomics.types.float/notify_one.pass.cpp | 83 - .../operator.float.pass.cpp | 58 - .../operator.minus_equals.pass.cpp | 102 - .../operator.plus_equals.pass.cpp | 102 - .../atomics.types.float/store.pass.cpp | 113 - .../atomics.types.float/test_helper.h | 122 - .../types.compile.pass.cpp | 28 - .../atomics.types.float/wait.pass.cpp | 123 - .../atomics.types.generic/bool.pass.cpp | 241 - .../constexpr_noexcept.compile.pass.cpp | 41 - .../copy_semantics_traits.pass.cpp | 45 - .../cstdint_typedefs.pass.cpp | 70 - .../general.compile.pass.cpp | 105 - .../atomics.types.generic/integral.pass.cpp | 231 - .../integral_typedefs.pass.cpp | 80 - .../pointer.compile.pass.cpp | 139 - .../standard_layout.compile.pass.cpp | 32 - .../atomics.types.generic/throw.pass.cpp | 30 - .../trivially_copyable.pass.cpp | 45 - .../trivially_copyable.verify.cpp | 31 - .../nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../atomic_compare_exchange_strong.pass.cpp | 69 - ..._compare_exchange_strong_explicit.pass.cpp | 77 - .../atomic_compare_exchange_weak.pass.cpp | 70 - ...ic_compare_exchange_weak_explicit.pass.cpp | 79 - .../atomic_exchange.pass.cpp | 50 - .../atomic_exchange_explicit.pass.cpp | 54 - .../atomic_fetch_add.pass.cpp | 80 - .../atomic_fetch_add_explicit.pass.cpp | 85 - .../atomic_fetch_and.pass.cpp | 55 - .../atomic_fetch_and_explicit.pass.cpp | 59 - .../atomic_fetch_or.pass.cpp | 55 - .../atomic_fetch_or_explicit.pass.cpp | 59 - .../atomic_fetch_sub.pass.cpp | 80 - .../atomic_fetch_sub_explicit.pass.cpp | 84 - .../atomic_fetch_xor.pass.cpp | 55 - .../atomic_fetch_xor_explicit.pass.cpp | 59 - .../atomic_init.pass.cpp | 50 - .../atomic_is_lock_free.pass.cpp | 55 - .../atomic_load.pass.cpp | 47 - .../atomic_load_explicit.pass.cpp | 47 - .../atomic_store.pass.cpp | 50 - .../atomic_store_explicit.pass.cpp | 52 - .../atomic_var_init.pass.cpp | 28 - .../copy.assign.ptr.volatile.verify.cpp | 21 - .../copy.assign.volatile.verify.cpp | 21 - .../ctor.pass.cpp | 54 - .../dtor.pass.cpp | 36 - .../nothing_to_do.pass.cpp | 13 - .../atomic_notify_all.pass.cpp | 96 - .../atomic_notify_one.pass.cpp | 68 - .../atomic_wait.pass.cpp | 71 - .../atomic_wait_explicit.pass.cpp | 73 - .../stdatomic.h.syn/types.compile.pass.cpp | 237 - .../src/test/std/atomics/types.pass.cpp | 190 - .../equivalence_relation.compile.pass.cpp | 58 - ...ence_relation.subsumption.compile.pass.cpp | 80 - .../invocable.compile.pass.cpp | 413 - .../predicate.compile.pass.cpp | 63 - .../predicate.subsumption.compile.pass.cpp | 30 - .../regular_invocable.compile.pass.cpp | 461 - .../relation.compile.pass.cpp | 56 - .../relation.subsumption.compile.pass.cpp | 63 - .../strict_weak_order.compile.pass.cpp | 57 - ...ct_weak_order.subsumption.compile.pass.cpp | 79 - .../equality_comparable.compile.pass.cpp | 143 - .../equality_comparable_with.compile.pass.cpp | 1122 - .../totally_ordered.pass.cpp | 173 - .../totally_ordered_with.pass.cpp | 1141 - .../assignable_from.compile.pass.cpp | 105 - .../common_with.compile.pass.cpp | 992 - .../common_reference.compile.pass.cpp | 345 - .../constructible_from.compile.pass.cpp | 150 - .../convertible_to.pass.cpp | 421 - .../copy_constructible.compile.pass.cpp | 174 - .../default_initializable.compile.pass.cpp | 263 - .../default_initializable.verify.cpp | 67 - .../concept.derived/derived_from.pass.cpp | 497 - .../destructible.compile.pass.cpp | 75 - .../move_constructible.compile.pass.cpp | 78 - .../concept.same/same_as.pass.cpp | 295 - .../concept.swappable/swappable.pass.cpp | 307 - .../swappable_with.compile.pass.cpp | 685 - .../concepts.arithmetic/arithmetic.h | 38 - .../floating_point.pass.cpp | 78 - .../concepts.arithmetic/integral.pass.cpp | 92 - .../signed_integral.pass.cpp | 96 - .../unsigned_integral.pass.cpp | 97 - .../concepts.object/copyable.compile.pass.cpp | 115 - .../concepts.object/movable.compile.pass.cpp | 135 - .../concepts.object/regular.compile.pass.cpp | 165 - .../semiregular.compile.pass.cpp | 128 - .../libc++/src/test/std/containers/Copyable.h | 17 - .../src/test/std/containers/Emplaceable.h | 57 - .../test/std/containers/NotConstructible.h | 40 - .../from_range_associative_containers.h | 304 - .../associative/iterator_types.pass.cpp | 132 - ...PR28469_undefined_behavior_segfault.sh.cpp | 34 - .../map/allocator_mismatch.verify.cpp | 15 - .../associative/map/compare.pass.cpp | 55 - .../associative/map/gcc_workaround.pass.cpp | 19 - .../associative/map/get_allocator.pass.cpp | 37 - .../associative/map/incomplete_type.pass.cpp | 32 - ...rator_concept_conformance.compile.pass.cpp | 51 - .../associative/map/map.access/at.pass.cpp | 165 - .../associative/map/map.access/empty.pass.cpp | 45 - .../map/map.access/empty.verify.cpp | 22 - .../map/map.access/index_key.pass.cpp | 144 - .../map/map.access/index_rv_key.pass.cpp | 81 - .../map/map.access/index_tuple.pass.cpp | 27 - .../map/map.access/iterator.pass.cpp | 266 - .../map/map.access/max_size.pass.cpp | 52 - .../associative/map/map.access/size.pass.cpp | 61 - .../associative/map/map.cons/alloc.pass.cpp | 52 - .../map.cons/assign_initializer_list.pass.cpp | 97 - .../associative/map/map.cons/compare.pass.cpp | 42 - .../map/map.cons/compare_alloc.pass.cpp | 56 - ...ompare_copy_constructible.compile.fail.cpp | 30 - .../associative/map/map.cons/copy.pass.cpp | 131 - .../map/map.cons/copy_alloc.pass.cpp | 131 - .../copy_assign.addressof.compile.pass.cpp | 33 - .../map/map.cons/copy_assign.pass.cpp | 348 - .../associative/map/map.cons/deduct.pass.cpp | 197 - .../map/map.cons/deduct.verify.cpp | 105 - .../map/map.cons/deduct_const.pass.cpp | 107 - .../associative/map/map.cons/default.pass.cpp | 56 - .../map/map.cons/default_noexcept.pass.cpp | 59 - .../map/map.cons/default_recursive.pass.cpp | 31 - .../map/map.cons/dtor_noexcept.pass.cpp | 53 - .../map/map.cons/from_range.pass.cpp | 51 - .../map/map.cons/initializer_list.pass.cpp | 67 - .../initializer_list_compare.pass.cpp | 69 - .../initializer_list_compare_alloc.pass.cpp | 122 - .../map/map.cons/iter_iter.pass.cpp | 70 - .../map/map.cons/iter_iter_comp.pass.cpp | 75 - .../map.cons/iter_iter_comp_alloc.pass.cpp | 124 - .../associative/map/map.cons/move.pass.cpp | 120 - .../map/map.cons/move_alloc.pass.cpp | 277 - .../map/map.cons/move_assign.pass.cpp | 190 - .../map.cons/move_assign_noexcept.pass.cpp | 59 - .../map/map.cons/move_noexcept.pass.cpp | 57 - .../map/map.erasure/erase_if.pass.cpp | 78 - .../map/map.modifiers/clear.pass.cpp | 67 - .../map/map.modifiers/emplace.pass.cpp | 165 - .../map/map.modifiers/emplace_hint.pass.cpp | 160 - .../map/map.modifiers/erase_iter.pass.cpp | 261 - .../map.modifiers/erase_iter_iter.pass.cpp | 159 - .../map/map.modifiers/erase_key.pass.cpp | 277 - .../map.modifiers/extract_iterator.pass.cpp | 69 - .../map/map.modifiers/extract_key.pass.cpp | 78 - ...nd_emplace_allocator_requirements.pass.cpp | 33 - .../map/map.modifiers/insert_cv.pass.cpp | 73 - .../insert_initializer_list.pass.cpp | 71 - .../map/map.modifiers/insert_iter_cv.pass.cpp | 69 - .../map.modifiers/insert_iter_iter.pass.cpp | 79 - .../map/map.modifiers/insert_iter_rv.pass.cpp | 99 - .../map.modifiers/insert_node_type.pass.cpp | 87 - .../insert_node_type_hint.pass.cpp | 66 - .../map.modifiers/insert_or_assign.pass.cpp | 288 - .../map/map.modifiers/insert_range.pass.cpp | 40 - .../map/map.modifiers/insert_rv.pass.cpp | 108 - .../map/map.modifiers/merge.pass.cpp | 150 - .../map/map.modifiers/try.emplace.pass.cpp | 185 - .../map.nonmember/compare.three_way.pass.cpp | 28 - .../compare.three_way.verify.cpp | 61 - .../map/map.nonmember/op_compare.pass.cpp | 81 - .../map/map.observers/key_comp.pass.cpp | 30 - .../map/map.observers/value_comp.pass.cpp | 30 - .../associative/map/map.ops/contains.pass.cpp | 61 - .../map/map.ops/contains_transparent.pass.cpp | 48 - .../associative/map/map.ops/count.pass.cpp | 89 - .../associative/map/map.ops/count0.pass.cpp | 40 - .../map/map.ops/count1.compile.fail.cpp | 35 - .../map/map.ops/count2.compile.fail.cpp | 35 - .../map/map.ops/count3.compile.fail.cpp | 35 - .../map/map.ops/count_transparent.pass.cpp | 47 - .../map/map.ops/equal_range.pass.cpp | 492 - .../map/map.ops/equal_range0.pass.cpp | 47 - .../map/map.ops/equal_range1.compile.fail.cpp | 36 - .../map/map.ops/equal_range2.compile.fail.cpp | 36 - .../map/map.ops/equal_range3.compile.fail.cpp | 36 - .../map.ops/equal_range_transparent.pass.cpp | 57 - .../associative/map/map.ops/find.pass.cpp | 262 - .../associative/map/map.ops/find0.pass.cpp | 43 - .../map/map.ops/find1.compile.fail.cpp | 36 - .../map/map.ops/find2.compile.fail.cpp | 36 - .../map/map.ops/find3.compile.fail.cpp | 36 - .../map/map.ops/lower_bound.pass.cpp | 374 - .../map/map.ops/lower_bound0.pass.cpp | 43 - .../map/map.ops/lower_bound1.compile.fail.cpp | 36 - .../map/map.ops/lower_bound2.compile.fail.cpp | 36 - .../map/map.ops/lower_bound3.compile.fail.cpp | 35 - .../map/map.ops/upper_bound.pass.cpp | 337 - .../map/map.ops/upper_bound0.pass.cpp | 43 - .../map/map.ops/upper_bound1.compile.fail.cpp | 36 - .../map/map.ops/upper_bound2.compile.fail.cpp | 36 - .../map/map.ops/upper_bound3.compile.fail.cpp | 36 - .../map/map.special/member_swap.pass.cpp | 178 - .../map/map.special/non_member_swap.pass.cpp | 283 - .../map/map.special/swap_noexcept.pass.cpp | 143 - .../map/map.value_compare/invoke.pass.cpp | 47 - .../map/map.value_compare/types.pass.cpp | 30 - ...range_concept_conformance.compile.pass.cpp | 37 - .../containers/associative/map/types.pass.cpp | 72 - .../multimap/allocator_mismatch.verify.cpp | 15 - .../associative/multimap/empty.pass.cpp | 45 - .../associative/multimap/empty.verify.cpp | 22 - .../multimap/get_allocator.pass.cpp | 37 - .../multimap/incomplete_type.pass.cpp | 32 - .../associative/multimap/iterator.pass.cpp | 274 - ...rator_concept_conformance.compile.pass.cpp | 51 - .../associative/multimap/max_size.pass.cpp | 52 - .../multimap/multimap.cons/alloc.pass.cpp | 52 - .../assign_initializer_list.pass.cpp | 85 - .../multimap/multimap.cons/compare.pass.cpp | 42 - .../multimap.cons/compare_alloc.pass.cpp | 56 - ...ompare_copy_constructible.compile.fail.cpp | 30 - .../multimap/multimap.cons/copy.pass.cpp | 104 - .../multimap.cons/copy_alloc.pass.cpp | 104 - .../copy_assign.addressof.compile.pass.cpp | 33 - .../multimap.cons/copy_assign.pass.cpp | 127 - .../multimap/multimap.cons/deduct.pass.cpp | 197 - .../multimap/multimap.cons/deduct.verify.cpp | 105 - .../multimap.cons/deduct_const.pass.cpp | 107 - .../multimap/multimap.cons/default.pass.cpp | 56 - .../multimap.cons/default_noexcept.pass.cpp | 59 - .../multimap.cons/default_recursive.pass.cpp | 31 - .../multimap.cons/dtor_noexcept.pass.cpp | 53 - .../multimap.cons/from_range.pass.cpp | 47 - .../multimap.cons/initializer_list.pass.cpp | 83 - .../initializer_list_compare.pass.cpp | 91 - .../initializer_list_compare_alloc.pass.cpp | 161 - .../multimap/multimap.cons/iter_iter.pass.cpp | 114 - .../multimap.cons/iter_iter_comp.pass.cpp | 88 - .../iter_iter_comp_alloc.pass.cpp | 124 - .../multimap/multimap.cons/move.pass.cpp | 132 - .../multimap.cons/move_alloc.pass.cpp | 276 - .../multimap.cons/move_assign.pass.cpp | 190 - .../move_assign_noexcept.pass.cpp | 59 - .../multimap.cons/move_noexcept.pass.cpp | 57 - .../multimap.erasure/erase_if.pass.cpp | 89 - .../multimap.modifiers/clear.pass.cpp | 67 - .../multimap.modifiers/emplace.pass.cpp | 150 - .../multimap.modifiers/emplace_hint.pass.cpp | 160 - .../multimap.modifiers/erase_iter.pass.cpp | 303 - .../erase_iter_iter.pass.cpp | 159 - .../multimap.modifiers/erase_key.pass.cpp | 155 - .../extract_iterator.pass.cpp | 69 - .../multimap.modifiers/extract_key.pass.cpp | 78 - .../insert_allocator_requirements.pass.cpp | 30 - .../multimap.modifiers/insert_cv.pass.cpp | 70 - .../insert_initializer_list.pass.cpp | 91 - .../insert_iter_cv.pass.cpp | 68 - .../insert_iter_iter.pass.cpp | 103 - .../insert_iter_rv.pass.cpp | 100 - .../insert_node_type.pass.cpp | 80 - .../insert_node_type_hint.pass.cpp | 66 - .../multimap.modifiers/insert_range.pass.cpp | 41 - .../multimap.modifiers/insert_rv.pass.cpp | 94 - .../multimap.modifiers/merge.pass.cpp | 150 - .../compare.three_way.pass.cpp | 28 - .../compare.three_way.verify.cpp | 61 - .../multimap.nonmember/op_compare.pass.cpp | 90 - .../multimap.observers/key_comp.pass.cpp | 30 - .../multimap.observers/value_comp.pass.cpp | 30 - .../multimap/multimap.ops/count.pass.cpp | 177 - .../multimap/multimap.ops/count0.pass.cpp | 40 - .../multimap.ops/count1.compile.fail.cpp | 33 - .../multimap.ops/count2.compile.fail.cpp | 33 - .../multimap.ops/count3.compile.fail.cpp | 33 - .../multimap.ops/count_transparent.pass.cpp | 47 - .../multimap.ops/equal_range.pass.cpp | 288 - .../multimap.ops/equal_range0.pass.cpp | 47 - .../equal_range1.compile.fail.cpp | 34 - .../equal_range2.compile.fail.cpp | 36 - .../equal_range3.compile.fail.cpp | 36 - .../equal_range_transparent.pass.cpp | 57 - .../multimap/multimap.ops/find.pass.cpp | 224 - .../multimap/multimap.ops/find0.pass.cpp | 43 - .../multimap.ops/find1.compile.fail.cpp | 36 - .../multimap.ops/find2.compile.fail.cpp | 36 - .../multimap.ops/find3.compile.fail.cpp | 36 - .../multimap.ops/lower_bound.pass.cpp | 238 - .../multimap.ops/lower_bound0.pass.cpp | 43 - .../lower_bound1.compile.fail.cpp | 36 - .../lower_bound2.compile.fail.cpp | 36 - .../lower_bound3.compile.fail.cpp | 36 - .../multimap.ops/upper_bound.pass.cpp | 237 - .../multimap.ops/upper_bound0.pass.cpp | 43 - .../upper_bound1.compile.fail.cpp | 36 - .../upper_bound2.compile.fail.cpp | 36 - .../upper_bound3.compile.fail.cpp | 36 - .../multimap.special/member_swap.pass.cpp | 178 - .../multimap.special/non_member_swap.pass.cpp | 283 - .../multimap.special/swap_noexcept.pass.cpp | 142 - .../multimap.value_compare/invoke.pass.cpp | 47 - .../multimap.value_compare/types.pass.cpp | 30 - ...range_concept_conformance.compile.pass.cpp | 37 - .../associative/multimap/scary.pass.cpp | 28 - .../associative/multimap/size.pass.cpp | 61 - .../associative/multimap/types.pass.cpp | 72 - .../multiset/allocator_mismatch.verify.cpp | 15 - .../associative/multiset/clear.pass.cpp | 67 - .../associative/multiset/count.pass.cpp | 162 - .../multiset/count_transparent.pass.cpp | 46 - .../associative/multiset/emplace.pass.cpp | 83 - .../multiset/emplace_hint.pass.cpp | 83 - .../associative/multiset/empty.pass.cpp | 45 - .../associative/multiset/empty.verify.cpp | 22 - .../associative/multiset/equal_range.pass.cpp | 265 - .../multiset/equal_range_transparent.pass.cpp | 57 - .../associative/multiset/erase_iter.pass.cpp | 205 - .../multiset/erase_iter_iter.pass.cpp | 143 - .../associative/multiset/erase_key.pass.cpp | 131 - .../multiset/extract_iterator.pass.cpp | 62 - .../associative/multiset/extract_key.pass.cpp | 73 - .../associative/multiset/find.pass.cpp | 242 - .../multiset/get_allocator.pass.cpp | 33 - .../multiset/incomplete_type.pass.cpp | 32 - .../associative/multiset/insert_cv.pass.cpp | 63 - ...rt_emplace_allocator_requirements.pass.cpp | 29 - .../multiset/insert_initializer_list.pass.cpp | 62 - .../multiset/insert_iter_cv.pass.cpp | 75 - .../multiset/insert_iter_iter.pass.cpp | 87 - .../multiset/insert_iter_rv.pass.cpp | 76 - .../multiset/insert_node_type.pass.cpp | 79 - .../multiset/insert_node_type_hint.pass.cpp | 61 - .../multiset/insert_range.pass.cpp | 36 - .../associative/multiset/insert_rv.pass.cpp | 76 - .../associative/multiset/iterator.pass.cpp | 246 - ...rator_concept_conformance.compile.pass.cpp | 51 - .../associative/multiset/lower_bound.pass.cpp | 225 - .../associative/multiset/max_size.pass.cpp | 51 - .../associative/multiset/merge.pass.cpp | 149 - .../multiset/multiset.cons/alloc.pass.cpp | 31 - .../assign_initializer_list.pass.cpp | 57 - .../multiset/multiset.cons/compare.pass.cpp | 31 - .../multiset.cons/compare_alloc.pass.cpp | 33 - ...ompare_copy_constructible.compile.fail.cpp | 30 - .../multiset/multiset.cons/copy.pass.cpp | 120 - .../multiset.cons/copy_alloc.pass.cpp | 70 - .../copy_assign.addressof.compile.pass.cpp | 26 - .../multiset.cons/copy_assign.pass.cpp | 140 - .../multiset/multiset.cons/deduct.pass.cpp | 232 - .../multiset/multiset.cons/deduct.verify.cpp | 69 - .../multiset/multiset.cons/default.pass.cpp | 56 - .../multiset.cons/default_noexcept.pass.cpp | 58 - .../multiset.cons/dtor_noexcept.pass.cpp | 52 - .../multiset.cons/from_range.pass.cpp | 44 - .../multiset.cons/initializer_list.pass.cpp | 71 - .../initializer_list_compare.pass.cpp | 40 - .../initializer_list_compare_alloc.pass.cpp | 43 - .../multiset/multiset.cons/iter_iter.pass.cpp | 85 - .../multiset.cons/iter_iter_alloc.pass.cpp | 96 - .../multiset.cons/iter_iter_comp.pass.cpp | 55 - .../multiset/multiset.cons/move.pass.cpp | 119 - .../multiset.cons/move_alloc.pass.cpp | 193 - .../multiset.cons/move_assign.pass.cpp | 186 - .../move_assign_noexcept.pass.cpp | 58 - .../multiset.cons/move_noexcept.pass.cpp | 56 - .../multiset.erasure/erase_if.pass.cpp | 78 - .../compare.three_way.pass.cpp | 27 - .../compare.three_way.verify.cpp | 60 - .../multiset.nonmember/op_compare.pass.cpp | 74 - .../multiset/multiset.observers/comp.pass.cpp | 33 - .../multiset.special/member_swap.pass.cpp | 179 - .../multiset.special/non_member_swap.pass.cpp | 169 - .../multiset.special/swap_noexcept.pass.cpp | 141 - ...range_concept_conformance.compile.pass.cpp | 36 - .../associative/multiset/scary.pass.cpp | 28 - .../associative/multiset/size.pass.cpp | 61 - .../associative/multiset/types.pass.cpp | 72 - .../associative/multiset/upper_bound.pass.cpp | 224 - .../set/allocator_mismatch.verify.cpp | 15 - .../containers/associative/set/clear.pass.cpp | 67 - .../associative/set/contains.pass.cpp | 43 - .../set/contains_transparent.pass.cpp | 51 - .../containers/associative/set/count.pass.cpp | 172 - .../set/count_transparent.pass.cpp | 46 - .../associative/set/emplace.pass.cpp | 90 - .../associative/set/emplace_hint.pass.cpp | 83 - .../containers/associative/set/empty.pass.cpp | 45 - .../associative/set/empty.verify.cpp | 22 - .../associative/set/equal_range.pass.cpp | 372 - .../set/equal_range_transparent.pass.cpp | 57 - .../associative/set/erase_iter.pass.cpp | 205 - .../associative/set/erase_iter_iter.pass.cpp | 143 - .../associative/set/erase_key.pass.cpp | 205 - .../associative/set/extract_iterator.pass.cpp | 62 - .../associative/set/extract_key.pass.cpp | 73 - .../containers/associative/set/find.pass.cpp | 242 - .../associative/set/gcc_workaround.pass.cpp | 19 - .../associative/set/get_allocator.pass.cpp | 33 - .../associative/set/incomplete_type.pass.cpp | 32 - ...nd_emplace_allocator_requirements.pass.cpp | 31 - .../associative/set/insert_cv.pass.cpp | 68 - .../set/insert_initializer_list.pass.cpp | 62 - .../associative/set/insert_iter_cv.pass.cpp | 75 - .../associative/set/insert_iter_iter.pass.cpp | 75 - .../associative/set/insert_iter_rv.pass.cpp | 77 - .../associative/set/insert_node_type.pass.cpp | 85 - .../set/insert_node_type_hint.pass.cpp | 63 - .../associative/set/insert_range.pass.cpp | 36 - .../associative/set/insert_rv.pass.cpp | 84 - .../associative/set/iterator.pass.cpp | 238 - ...rator_concept_conformance.compile.pass.cpp | 51 - .../associative/set/lower_bound.pass.cpp | 339 - .../associative/set/max_size.pass.cpp | 51 - .../containers/associative/set/merge.pass.cpp | 149 - ...range_concept_conformance.compile.pass.cpp | 39 - .../associative/set/set.cons/alloc.pass.cpp | 31 - .../set.cons/assign_initializer_list.pass.cpp | 77 - .../associative/set/set.cons/compare.pass.cpp | 31 - .../set/set.cons/compare_alloc.pass.cpp | 33 - ...ompare_copy_constructible.compile.fail.cpp | 30 - .../associative/set/set.cons/copy.pass.cpp | 96 - .../set/set.cons/copy_alloc.pass.cpp | 58 - .../copy_assign.addressof.compile.pass.cpp | 26 - .../set/set.cons/copy_assign.pass.cpp | 111 - .../associative/set/set.cons/deduct.pass.cpp | 230 - .../set/set.cons/deduct.verify.cpp | 69 - .../associative/set/set.cons/default.pass.cpp | 56 - .../set/set.cons/default_noexcept.pass.cpp | 58 - .../set/set.cons/dtor_noexcept.pass.cpp | 52 - .../set/set.cons/from_range.pass.cpp | 50 - .../set/set.cons/initializer_list.pass.cpp | 55 - .../initializer_list_compare.pass.cpp | 40 - .../initializer_list_compare_alloc.pass.cpp | 63 - .../set/set.cons/iter_iter.pass.cpp | 73 - .../set/set.cons/iter_iter_alloc.pass.cpp | 88 - .../set/set.cons/iter_iter_comp.pass.cpp | 49 - .../associative/set/set.cons/move.pass.cpp | 107 - .../set/set.cons/move_alloc.pass.cpp | 194 - .../set/set.cons/move_assign.pass.cpp | 186 - .../set.cons/move_assign_noexcept.pass.cpp | 58 - .../set/set.cons/move_noexcept.pass.cpp | 56 - .../set/set.erasure/erase_if.pass.cpp | 67 - .../set.nonmember/compare.three_way.pass.cpp | 27 - .../compare.three_way.verify.cpp | 60 - .../set/set.nonmember/op_compare.pass.cpp | 65 - .../set/set.observers/comp.pass.cpp | 33 - .../set/set.special/member_swap.pass.cpp | 179 - .../set/set.special/non_member_swap.pass.cpp | 169 - .../set/set.special/swap_noexcept.pass.cpp | 142 - .../containers/associative/set/size.pass.cpp | 61 - .../containers/associative/set/types.pass.cpp | 72 - .../associative/set/upper_bound.pass.cpp | 338 - .../test/std/containers/check_consecutive.h | 47 - .../format.functions.format.pass.cpp | 57 - .../format.functions.tests.h | 981 - .../format.functions.vformat.pass.cpp | 65 - .../container.adaptors.format/format.pass.cpp | 75 - .../container.adaptors.format/parse.pass.cpp | 81 - .../types.compile.pass.cpp | 45 - .../from_range_container_adaptors.h | 223 - .../priqueue.cons.alloc/ctor_alloc.pass.cpp | 50 - .../ctor_comp_alloc.pass.cpp | 50 - .../ctor_comp_cont_alloc.pass.cpp | 64 - .../ctor_comp_rcont_alloc.pass.cpp | 63 - .../ctor_copy_alloc.pass.cpp | 60 - .../ctor_iter_iter_alloc.pass.cpp | 41 - .../ctor_iter_iter_comp_alloc.pass.cpp | 42 - .../ctor_iter_iter_comp_cont_alloc.pass.cpp | 42 - .../ctor_iter_iter_comp_rcont_alloc.pass.cpp | 46 - .../ctor_move_alloc.pass.cpp | 68 - .../assign_copy.addressof.compile.pass.cpp | 24 - .../priqueue.cons/assign_copy.pass.cpp | 39 - .../priqueue.cons/assign_move.pass.cpp | 42 - .../priqueue.cons/ctor_comp.pass.cpp | 39 - .../ctor_comp_container.pass.cpp | 48 - .../ctor_comp_rcontainer.pass.cpp | 45 - .../priqueue.cons/ctor_copy.pass.cpp | 38 - .../priqueue.cons/ctor_default.pass.cpp | 41 - .../ctor_iter_constraint.compile.pass.cpp | 59 - .../priqueue.cons/ctor_iter_iter.pass.cpp | 29 - .../ctor_iter_iter_comp.pass.cpp | 31 - .../ctor_iter_iter_comp_cont.pass.cpp | 30 - .../ctor_iter_iter_comp_rcont.pass.cpp | 34 - .../priqueue.cons/ctor_move.pass.cpp | 41 - .../priqueue.cons/deduct.pass.cpp | 429 - .../priqueue.cons/deduct.verify.cpp | 58 - .../priqueue.cons/default_noexcept.pass.cpp | 36 - .../priqueue.cons/dtor_noexcept.pass.cpp | 29 - .../priqueue.cons/from_range.pass.cpp | 59 - .../move_assign_noexcept.pass.cpp | 33 - .../priqueue.cons/move_noexcept.pass.cpp | 33 - .../priqueue.members/emplace.pass.cpp | 34 - .../priqueue.members/empty.pass.cpp | 30 - .../priqueue.members/empty.verify.cpp | 22 - .../priqueue.members/pop.pass.cpp | 37 - .../priqueue.members/push.pass.cpp | 31 - .../priqueue.members/push_range.pass.cpp | 33 - .../priqueue.members/push_rvalue.pass.cpp | 34 - .../priqueue.members/size.pass.cpp | 30 - .../priqueue.members/swap.pass.cpp | 33 - .../priqueue.members/top.pass.cpp | 31 - .../priqueue.special/swap.pass.cpp | 35 - .../priqueue.special/swap_noexcept.pass.cpp | 34 - .../priority.queue/types.compile.fail.cpp | 36 - .../priority.queue/types.pass.cpp | 71 - .../push_range_container_adaptors.h | 293 - .../queue.cons.alloc/ctor_alloc.pass.cpp | 40 - .../ctor_container_alloc.pass.cpp | 60 - .../queue.cons.alloc/ctor_iterators.pass.cpp | 50 - .../ctor_queue_alloc.pass.cpp | 54 - .../ctor_rcontainer_alloc.pass.cpp | 59 - .../ctor_rqueue_alloc.pass.cpp | 60 - .../queue/queue.cons/ctor_container.pass.cpp | 50 - .../queue/queue.cons/ctor_copy.pass.cpp | 35 - .../queue/queue.cons/ctor_default.pass.cpp | 42 - .../queue/queue.cons/ctor_iterators.pass.cpp | 53 - .../queue/queue.cons/ctor_move.pass.cpp | 41 - .../queue/queue.cons/ctor_rcontainer.pass.cpp | 48 - .../queue/queue.cons/deduct.pass.cpp | 175 - .../queue/queue.cons/deduct.verify.cpp | 46 - .../queue.cons/default_noexcept.pass.cpp | 34 - .../queue/queue.cons/dtor_noexcept.pass.cpp | 29 - .../queue/queue.cons/from_range.pass.cpp | 32 - .../queue.cons/move_assign_noexcept.pass.cpp | 32 - .../queue/queue.cons/move_noexcept.pass.cpp | 35 - .../assign_copy.addressof.compile.pass.cpp | 24 - .../queue/queue.defn/assign_copy.pass.cpp | 36 - .../queue/queue.defn/assign_move.pass.cpp | 42 - .../queue/queue.defn/back.pass.cpp | 29 - .../queue/queue.defn/back_const.pass.cpp | 30 - .../queue/queue.defn/emplace.pass.cpp | 66 - .../queue/queue.defn/empty.pass.cpp | 28 - .../queue/queue.defn/empty.verify.cpp | 22 - .../queue/queue.defn/front.pass.cpp | 29 - .../queue/queue.defn/front_const.pass.cpp | 30 - .../queue/queue.defn/pop.pass.cpp | 40 - .../queue/queue.defn/push.pass.cpp | 35 - .../queue/queue.defn/push_range.pass.cpp | 33 - .../queue/queue.defn/push_rv.pass.cpp | 38 - .../queue/queue.defn/size.pass.cpp | 26 - .../queue/queue.defn/swap.pass.cpp | 39 - .../queue/queue.defn/types.compile.fail.cpp | 21 - .../queue/queue.defn/types.pass.cpp | 61 - .../queue.ops/compare.three_way.pass.cpp | 32 - .../queue/queue.ops/eq.pass.cpp | 43 - .../queue/queue.ops/lt.pass.cpp | 48 - .../queue/queue.special/swap.pass.cpp | 40 - .../queue.special/swap_noexcept.pass.cpp | 33 - .../stack/compare.three_way.pass.cpp | 35 - .../stack.cons.alloc/ctor_alloc.pass.cpp | 40 - .../ctor_container_alloc.pass.cpp | 60 - .../stack.cons.alloc/ctor_copy_alloc.pass.cpp | 54 - .../stack.cons.alloc/ctor_iterators.pass.cpp | 50 - .../ctor_rcontainer_alloc.pass.cpp | 59 - .../ctor_rqueue_alloc.pass.cpp | 60 - .../stack/stack.cons/ctor_container.pass.cpp | 50 - .../stack/stack.cons/ctor_copy.pass.cpp | 35 - .../stack/stack.cons/ctor_default.pass.cpp | 42 - .../stack/stack.cons/ctor_iterators.pass.cpp | 51 - .../stack/stack.cons/ctor_move.pass.cpp | 41 - .../stack/stack.cons/ctor_rcontainer.pass.cpp | 48 - .../stack/stack.cons/deduct.pass.cpp | 179 - .../stack/stack.cons/deduct.verify.cpp | 52 - .../stack.cons/default_noexcept.pass.cpp | 35 - .../stack/stack.cons/dtor_noexcept.pass.cpp | 29 - .../stack/stack.cons/from_range.pass.cpp | 32 - .../stack.cons/move_assign_noexcept.pass.cpp | 32 - .../stack/stack.cons/move_noexcept.pass.cpp | 34 - .../stack/stack.defn/assign_copy.pass.cpp | 36 - .../stack/stack.defn/assign_move.pass.cpp | 42 - .../stack/stack.defn/emplace.pass.cpp | 62 - .../stack/stack.defn/empty.pass.cpp | 28 - .../stack/stack.defn/empty.verify.cpp | 22 - .../stack/stack.defn/pop.pass.cpp | 37 - .../stack/stack.defn/push.pass.cpp | 32 - .../stack/stack.defn/push_range.pass.cpp | 33 - .../stack/stack.defn/push_rv.pass.cpp | 35 - .../stack/stack.defn/size.pass.cpp | 26 - .../stack/stack.defn/swap.pass.cpp | 39 - .../stack/stack.defn/top.pass.cpp | 29 - .../stack/stack.defn/top_const.pass.cpp | 30 - .../stack/stack.defn/types.compile.fail.cpp | 36 - .../stack/stack.defn/types.pass.cpp | 62 - .../stack/stack.ops/eq.pass.cpp | 43 - .../stack/stack.ops/lt.pass.cpp | 48 - .../stack/stack.special/swap.pass.cpp | 40 - .../stack.special/swap_noexcept.pass.cpp | 33 - .../node_handle.nodiscard.verify.cpp | 57 - .../container.node/node_handle.pass.cpp | 147 - .../nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../allocator_move.pass.cpp | 108 - .../sequence.reqmts/nothing_to_do.pass.cpp | 13 - .../unord.req.except/nothing_to_do.pass.cpp | 13 - .../containers.general/nothing_to_do.pass.cpp | 13 - .../std/containers/exception_safety_helpers.h | 106 - .../test/std/containers/from_range_helpers.h | 117 - .../std/containers/insert_range_helpers.h | 124 - .../std/containers/insert_range_maps_sets.h | 415 - .../iterator.rel_ops.compile.pass.cpp | 139 - ...map_allocator_requirement_test_templates.h | 735 - .../sequences/array/aggregate.pass.cpp | 47 - .../array/array.cons/deduct.pass.cpp | 63 - .../array/array.cons/deduct.verify.cpp | 31 - .../implicit_copy.addressof.compile.pass.cpp | 24 - .../array/array.cons/implicit_copy.pass.cpp | 119 - .../array/array.cons/initialization.pass.cpp | 214 - .../array/array.creation/to_array.pass.cpp | 124 - .../array/array.creation/to_array.verify.cpp | 43 - .../sequences/array/array.data/data.pass.cpp | 100 - .../array/array.data/data_const.pass.cpp | 92 - .../sequences/array/array.fill/fill.pass.cpp | 48 - .../array/array.fill/fill.verify.cpp | 26 - .../sequences/array/array.size/size.pass.cpp | 56 - .../array/array.special/swap.pass.cpp | 93 - .../sequences/array/array.swap/swap.pass.cpp | 98 - .../array/array.swap/swap.verify.cpp | 27 - .../sequences/array/array.tuple/get.pass.cpp | 71 - .../array/array.tuple/get.verify.cpp | 25 - .../array/array.tuple/get_const.pass.cpp | 50 - .../array/array.tuple/get_const_rv.pass.cpp | 48 - .../array/array.tuple/get_rv.pass.cpp | 33 - .../array/array.tuple/tuple_element.pass.cpp | 57 - .../array.tuple/tuple_element.verify.cpp | 19 - .../array/array.tuple/tuple_size.pass.cpp | 45 - .../array.zero/tested_elsewhere.pass.cpp | 21 - .../containers/sequences/array/at.pass.cpp | 109 - .../sequences/array/at_const.pass.cpp | 105 - .../sequences/array/compare.pass.cpp | 79 - .../array/compare.three_way.pass.cpp | 87 - .../array/compare.three_way.verify.cpp | 37 - .../sequences/array/compare.verify.cpp | 62 - .../sequences/array/contiguous.pass.cpp | 48 - .../containers/sequences/array/empty.pass.cpp | 54 - .../sequences/array/empty.verify.cpp | 24 - .../sequences/array/front_back.pass.cpp | 73 - .../sequences/array/front_back_const.pass.cpp | 68 - .../sequences/array/indexing.pass.cpp | 74 - .../sequences/array/indexing_const.pass.cpp | 68 - ...rator_concept_conformance.compile.pass.cpp | 76 - .../sequences/array/iterators.pass.cpp | 205 - .../sequences/array/max_size.pass.cpp | 54 - ...range_concept_conformance.compile.pass.cpp | 37 - .../array/size_and_alignment.compile.pass.cpp | 146 - .../containers/sequences/array/types.pass.cpp | 94 - .../deque/allocator_mismatch.verify.cpp | 15 - .../sequences/deque/compare.pass.cpp | 119 - .../deque/compare.three_way.pass.cpp | 25 - .../deque/deque.capacity/access.pass.cpp | 127 - .../deque/deque.capacity/empty.pass.cpp | 52 - .../deque/deque.capacity/empty.verify.cpp | 22 - .../deque/deque.capacity/max_size.pass.cpp | 52 - .../deque/deque.capacity/resize_size.pass.cpp | 103 - .../deque.capacity/resize_size_value.pass.cpp | 103 - .../deque.capacity/shrink_to_fit.pass.cpp | 87 - .../deque/deque.capacity/size.pass.cpp | 78 - .../sequences/deque/deque.cons/alloc.pass.cpp | 46 - .../assign_initializer_list.pass.cpp | 46 - .../deque.cons/assign_iter_iter.pass.cpp | 161 - .../deque.cons/assign_size_value.pass.cpp | 87 - .../sequences/deque/deque.cons/copy.pass.cpp | 71 - .../deque/deque.cons/copy_alloc.pass.cpp | 61 - .../deque/deque.cons/deduct.pass.cpp | 163 - .../deque/deque.cons/deduct.verify.cpp | 40 - .../deque/deque.cons/default.pass.cpp | 46 - .../deque.cons/default_noexcept.pass.cpp | 55 - .../deque/deque.cons/dtor_noexcept.pass.cpp | 53 - .../deque/deque.cons/from_range.pass.cpp | 36 - .../deque.cons/initializer_list.pass.cpp | 44 - .../initializer_list_alloc.pass.cpp | 47 - .../deque/deque.cons/iter_iter.pass.cpp | 116 - .../deque/deque.cons/iter_iter_alloc.pass.cpp | 110 - .../sequences/deque/deque.cons/move.pass.cpp | 84 - .../deque/deque.cons/move_alloc.pass.cpp | 100 - .../move_assign.addressof.compile.pass.cpp | 24 - .../deque/deque.cons/move_assign.pass.cpp | 104 - .../deque.cons/move_assign_noexcept.pass.cpp | 57 - .../deque/deque.cons/move_noexcept.pass.cpp | 55 - .../deque/deque.cons/op_equal.pass.cpp | 74 - .../op_equal_initializer_list.pass.cpp | 46 - .../sequences/deque/deque.cons/size.pass.cpp | 122 - .../deque/deque.cons/size_value.pass.cpp | 56 - .../deque.cons/size_value_alloc.pass.cpp | 72 - .../deque/deque.erasure/erase.pass.cpp | 81 - .../deque/deque.erasure/erase_if.pass.cpp | 83 - .../deque.modifiers/append_range.pass.cpp | 39 - .../deque.modifiers/assign_range.pass.cpp | 38 - .../deque/deque.modifiers/clear.pass.cpp | 75 - .../deque/deque.modifiers/emplace.pass.cpp | 117 - .../deque.modifiers/emplace_back.pass.cpp | 112 - .../deque.modifiers/emplace_front.pass.cpp | 113 - .../erase_iter.invalidation.pass.cpp | 75 - .../deque/deque.modifiers/erase_iter.pass.cpp | 128 - .../erase_iter_iter.invalidation.pass.cpp | 84 - .../deque.modifiers/erase_iter_iter.pass.cpp | 136 - .../insert_iter_initializer_list.pass.cpp | 68 - .../deque.modifiers/insert_iter_iter.pass.cpp | 311 - .../deque.modifiers/insert_range.pass.cpp | 39 - .../deque.modifiers/insert_rvalue.pass.cpp | 122 - .../insert_size_value.pass.cpp | 170 - .../deque.modifiers/insert_value.pass.cpp | 149 - .../pop_back.invalidation.pass.cpp | 55 - .../deque/deque.modifiers/pop_back.pass.cpp | 96 - .../pop_front.invalidation.pass.cpp | 54 - .../deque/deque.modifiers/pop_front.pass.cpp | 89 - .../deque.modifiers/prepend_range.pass.cpp | 39 - .../deque/deque.modifiers/push_back.pass.cpp | 77 - .../push_back_exception_safety.pass.cpp | 105 - .../deque.modifiers/push_back_rvalue.pass.cpp | 86 - .../deque/deque.modifiers/push_front.pass.cpp | 95 - .../push_front_exception_safety.pass.cpp | 104 - .../push_front_rvalue.pass.cpp | 91 - .../deque/deque.special/copy.pass.cpp | 103 - .../deque.special/copy_backward.pass.cpp | 102 - .../deque/deque.special/move.pass.cpp | 102 - .../deque.special/move_backward.pass.cpp | 102 - .../deque/deque.special/swap.pass.cpp | 123 - .../deque.special/swap_noexcept.pass.cpp | 92 - .../sequences/deque/get_allocator.pass.cpp | 34 - ...rator_concept_conformance.compile.pass.cpp | 79 - .../sequences/deque/iterators.pass.cpp | 81 - ...range_concept_conformance.compile.pass.cpp | 37 - .../containers/sequences/deque/types.pass.cpp | 114 - .../forwardlist/allocator_mismatch.verify.cpp | 15 - .../forwardlist/compare.three_way.pass.cpp | 25 - .../sequences/forwardlist/empty.pass.cpp | 47 - .../sequences/forwardlist/empty.verify.cpp | 22 - .../forwardlist/exception_safety.pass.cpp | 209 - .../forwardlist.access/front.pass.cpp | 63 - .../forwardlist.cons/alloc.compile.fail.cpp | 31 - .../forwardlist.cons/alloc.pass.cpp | 51 - .../assign_copy.addressof.compile.pass.cpp | 24 - .../forwardlist.cons/assign_copy.pass.cpp | 148 - .../forwardlist.cons/assign_init.pass.cpp | 70 - .../forwardlist.cons/assign_move.pass.cpp | 199 - .../forwardlist.cons/assign_op_init.pass.cpp | 70 - .../forwardlist.cons/assign_range.pass.cpp | 80 - .../assign_size_value.pass.cpp | 70 - .../forwardlist.cons/copy.pass.cpp | 69 - .../forwardlist.cons/copy_alloc.pass.cpp | 69 - .../forwardlist.cons/deduct.pass.cpp | 153 - .../forwardlist.cons/deduct.verify.cpp | 40 - .../forwardlist.cons/default.pass.cpp | 43 - .../default_noexcept.pass.cpp | 55 - .../default_recursive.pass.cpp | 28 - .../forwardlist.cons/dtor_noexcept.pass.cpp | 53 - .../forwardlist.cons/from_range.pass.cpp | 33 - .../forwardlist.cons/init.pass.cpp | 43 - .../forwardlist.cons/init_alloc.pass.cpp | 48 - .../forwardlist.cons/move.pass.cpp | 73 - .../forwardlist.cons/move_alloc.pass.cpp | 73 - .../move_assign_noexcept.pass.cpp | 57 - .../forwardlist.cons/move_noexcept.pass.cpp | 55 - .../forwardlist.cons/range.pass.cpp | 50 - .../forwardlist.cons/range_alloc.pass.cpp | 56 - .../forwardlist.cons/size.pass.cpp | 75 - .../forwardlist.cons/size_value.pass.cpp | 47 - .../size_value_alloc.pass.cpp | 52 - .../forwardlist.erasure/erase.pass.cpp | 76 - .../forwardlist.erasure/erase_if.pass.cpp | 78 - .../forwardlist.iter/before_begin.pass.cpp | 106 - ...rator_concept_conformance.compile.pass.cpp | 53 - .../forwardlist.iter/iterators.pass.cpp | 147 - .../assign_range.pass.cpp | 38 - .../forwardlist.modifiers/clear.pass.cpp | 69 - .../emplace_after.pass.cpp | 89 - .../emplace_front.pass.cpp | 72 - .../erase_after_many.pass.cpp | 158 - .../erase_after_one.pass.cpp | 100 - .../insert_after_const.pass.cpp | 89 - .../insert_after_init.pass.cpp | 75 - .../insert_after_range.pass.cpp | 82 - .../insert_after_rv.pass.cpp | 90 - .../insert_after_size_value.pass.cpp | 75 - .../insert_range_after.pass.cpp | 383 - .../forwardlist.modifiers/pop_front.pass.cpp | 76 - .../prepend_range.pass.cpp | 38 - .../push_front_const.pass.cpp | 49 - .../push_front_exception_safety.pass.cpp | 77 - .../push_front_rv.pass.cpp | 50 - .../resize_size.pass.cpp | 117 - .../resize_size_value.pass.cpp | 104 - .../merge_lvalue.addressof.compile.pass.cpp | 24 - .../forwardlist.ops/merge_lvalue.pass.cpp | 113 - ...rge_lvalue_pred.addressof.compile.pass.cpp | 24 - .../merge_lvalue_pred.pass.cpp | 114 - .../merge_rvalue.addressof.compile.pass.cpp | 26 - .../forwardlist.ops/merge_rvalue.pass.cpp | 106 - ...rge_rvalue_pred.addressof.compile.pass.cpp | 26 - .../merge_rvalue_pred.pass.cpp | 107 - .../forwardlist.ops/remove.pass.cpp | 173 - .../forwardlist.ops/remove_if.pass.cpp | 198 - .../forwardlist.ops/reverse.pass.cpp | 44 - .../forwardlist/forwardlist.ops/sort.pass.cpp | 95 - .../forwardlist.ops/sort_pred.pass.cpp | 97 - .../splice_after_flist.pass.cpp | 78 - .../forwardlist.ops/splice_after_one.pass.cpp | 142 - .../splice_after_range.pass.cpp | 172 - .../forwardlist.ops/unique.pass.cpp | 137 - .../forwardlist.ops/unique_pred.pass.cpp | 169 - .../forwardlist.spec/equal.pass.cpp | 61 - .../forwardlist.spec/member_swap.pass.cpp | 262 - .../forwardlist.spec/non_member_swap.pass.cpp | 263 - .../forwardlist.spec/relational.pass.cpp | 66 - .../forwardlist.spec/swap_noexcept.pass.cpp | 91 - .../forwardlist/get_allocator.pass.cpp | 34 - .../sequences/forwardlist/incomplete.pass.cpp | 54 - .../sequences/forwardlist/max_size.pass.cpp | 49 - ...range_concept_conformance.compile.pass.cpp | 37 - .../sequences/forwardlist/types.pass.cpp | 78 - .../from_range_sequence_containers.h | 155 - .../insert_range_sequence_containers.h | 801 - .../list/allocator_mismatch.verify.cpp | 15 - .../sequences/list/compare.pass.cpp | 117 - .../sequences/list/compare.three_way.pass.cpp | 25 - .../sequences/list/exception_safety.pass.cpp | 225 - .../sequences/list/get_allocator.pass.cpp | 34 - .../sequences/list/incomplete_type.pass.cpp | 30 - ...rator_concept_conformance.compile.pass.cpp | 79 - .../sequences/list/iterators.pass.cpp | 157 - .../list/list.capacity/empty.pass.cpp | 47 - .../list/list.capacity/empty.verify.cpp | 22 - .../list/list.capacity/max_size.pass.cpp | 48 - .../list/list.capacity/resize_size.pass.cpp | 79 - .../list.capacity/resize_size_value.pass.cpp | 55 - .../list/list.capacity/size.pass.cpp | 63 - .../assign_copy.addressof.compile.pass.cpp | 24 - .../list/list.cons/assign_copy.pass.cpp | 46 - .../assign_initializer_list.pass.cpp | 45 - .../assign_move.addressof.compile.pass.cpp | 26 - .../list/list.cons/assign_move.pass.cpp | 88 - .../sequences/list/list.cons/copy.pass.cpp | 55 - .../list/list.cons/copy_alloc.pass.cpp | 44 - .../sequences/list/list.cons/deduct.pass.cpp | 152 - .../list/list.cons/deduct.verify.cpp | 40 - .../sequences/list/list.cons/default.pass.cpp | 70 - .../list/list.cons/default_noexcept.pass.cpp | 55 - .../list.cons/default_stack_alloc.pass.cpp | 50 - .../sequences/list/list.cons/dtor.pass.cpp | 45 - .../list/list.cons/dtor_noexcept.pass.cpp | 53 - .../list/list.cons/from_range.pass.cpp | 34 - .../list/list.cons/initializer_list.pass.cpp | 43 - .../list.cons/initializer_list_alloc.pass.cpp | 46 - .../list/list.cons/input_iterator.pass.cpp | 256 - .../sequences/list/list.cons/move.pass.cpp | 71 - .../list/list.cons/move_alloc.pass.cpp | 78 - .../list.cons/move_assign_noexcept.pass.cpp | 57 - .../list/list.cons/move_noexcept.pass.cpp | 55 - .../op_equal_initializer_list.pass.cpp | 44 - .../list/list.cons/size_type.pass.cpp | 105 - .../list/list.cons/size_value_alloc.pass.cpp | 82 - .../list/list.erasure/erase.pass.cpp | 76 - .../list/list.erasure/erase_if.pass.cpp | 78 - .../list/list.modifiers/append_range.pass.cpp | 38 - .../list/list.modifiers/assign_range.pass.cpp | 38 - .../list/list.modifiers/clear.pass.cpp | 39 - .../emplace.addressof.compile.pass.cpp | 22 - .../list/list.modifiers/emplace.pass.cpp | 68 - .../list/list.modifiers/emplace_back.pass.cpp | 89 - .../list.modifiers/emplace_front.pass.cpp | 90 - .../erase_iter.addressof.compile.pass.cpp | 23 - .../list/list.modifiers/erase_iter.pass.cpp | 67 - .../list.modifiers/erase_iter_iter.pass.cpp | 86 - .../insert_iter_initializer_list.pass.cpp | 67 - .../insert_iter_iter_iter.pass.cpp | 92 - ...ert_iter_rvalue.addressof.compile.pass.cpp | 25 - .../insert_iter_rvalue.pass.cpp | 46 - ...iter_size_value.addressof.compile.pass.cpp | 20 - .../insert_iter_size_value.pass.cpp | 55 - ...sert_iter_value.addressof.compile.pass.cpp | 20 - .../list.modifiers/insert_iter_value.pass.cpp | 57 - .../list/list.modifiers/insert_range.pass.cpp | 38 - .../list/list.modifiers/pop_back.pass.cpp | 45 - .../list/list.modifiers/pop_front.pass.cpp | 45 - .../list.modifiers/prepend_range.pass.cpp | 38 - .../list/list.modifiers/push_back.pass.cpp | 39 - .../push_back_exception_safety.pass.cpp | 77 - .../list.modifiers/push_back_rvalue.pass.cpp | 46 - .../list/list.modifiers/push_front.pass.cpp | 39 - .../push_front_exception_safety.pass.cpp | 77 - .../list.modifiers/push_front_rvalue.pass.cpp | 46 - .../sequences/list/list.ops/merge.pass.cpp | 54 - .../merge_comp.addressof.compile.pass.cpp | 24 - .../list/list.ops/merge_comp.pass.cpp | 54 - .../sequences/list/list.ops/remove.pass.cpp | 105 - .../list/list.ops/remove_if.pass.cpp | 104 - .../sequences/list/list.ops/reverse.pass.cpp | 39 - .../sequences/list/list.ops/sort.pass.cpp | 88 - .../list/list.ops/sort_comp.pass.cpp | 129 - .../list/list.ops/splice_pos_list.pass.cpp | 785 - ...e_pos_list_iter.addressof.compile.pass.cpp | 23 - .../list.ops/splice_pos_list_iter.pass.cpp | 339 - ..._list_iter_iter.addressof.compile.pass.cpp | 23 - .../splice_pos_list_iter_iter.pass.cpp | 219 - .../sequences/list/list.ops/unique.pass.cpp | 51 - .../list/list.ops/unique_pred.pass.cpp | 84 - .../swap.addressof.compile.pass.cpp | 25 - .../sequences/list/list.special/swap.pass.cpp | 138 - .../list/list.special/swap_noexcept.pass.cpp | 92 - ...range_concept_conformance.compile.pass.cpp | 37 - .../containers/sequences/list/types.pass.cpp | 73 - .../vector.bool/append_range.pass.cpp | 72 - .../vector.bool/assign_copy.pass.cpp | 55 - .../assign_initializer_list.pass.cpp | 52 - .../vector.bool/assign_move.pass.cpp | 90 - .../vector.bool/assign_range.pass.cpp | 65 - .../sequences/vector.bool/capacity.pass.cpp | 55 - .../sequences/vector.bool/compare.pass.cpp | 89 - .../vector.bool/compare.three_way.pass.cpp | 96 - .../vector.bool/const_reference.pass.cpp | 40 - .../vector.bool/construct_default.pass.cpp | 87 - .../vector.bool/construct_from_range.pass.cpp | 40 - .../vector.bool/construct_iter_iter.pass.cpp | 59 - .../construct_iter_iter_alloc.pass.cpp | 66 - .../vector.bool/construct_size.pass.cpp | 74 - .../vector.bool/construct_size_value.pass.cpp | 47 - .../construct_size_value_alloc.pass.cpp | 50 - .../sequences/vector.bool/copy.pass.cpp | 74 - .../sequences/vector.bool/copy_alloc.pass.cpp | 73 - .../vector.bool/ctor_exceptions.pass.cpp | 144 - .../vector.bool/default_noexcept.pass.cpp | 55 - .../vector.bool/dtor_noexcept.pass.cpp | 51 - .../sequences/vector.bool/emplace.pass.cpp | 78 - .../vector.bool/emplace_back.pass.cpp | 101 - .../sequences/vector.bool/empty.pass.cpp | 56 - .../sequences/vector.bool/empty.verify.cpp | 22 - .../vector.bool/enabled_hash.pass.cpp | 37 - .../sequences/vector.bool/erase_iter.pass.cpp | 77 - .../vector.bool/erase_iter_iter.pass.cpp | 97 - .../sequences/vector.bool/find.pass.cpp | 54 - .../vector.bool/get_allocator.pass.cpp | 43 - .../vector.bool/initializer_list.pass.cpp | 50 - .../initializer_list_alloc.pass.cpp | 53 - .../insert_iter_initializer_list.pass.cpp | 74 - .../insert_iter_iter_iter.pass.cpp | 155 - .../insert_iter_size_value.pass.cpp | 100 - .../vector.bool/insert_iter_value.pass.cpp | 97 - .../vector.bool/insert_range.pass.cpp | 72 - ...rator_concept_conformance.compile.pass.cpp | 60 - .../sequences/vector.bool/iterators.pass.cpp | 147 - .../sequences/vector.bool/move.pass.cpp | 104 - .../sequences/vector.bool/move_alloc.pass.cpp | 86 - .../vector.bool/move_assign_noexcept.pass.cpp | 102 - .../vector.bool/move_noexcept.pass.cpp | 61 - .../op_equal_initializer_list.pass.cpp | 52 - .../sequences/vector.bool/push_back.pass.cpp | 60 - ...range_concept_conformance.compile.pass.cpp | 37 - .../vector.bool/reference.swap.pass.cpp | 49 - .../reference/assign_bool.pass.cpp | 55 - .../reference/assign_copy.pass.cpp | 82 - .../vector.bool/reference/ctor_copy.pass.cpp | 38 - .../vector.bool/reference/flip.pass.cpp | 43 - .../reference/operator_bool.pass.cpp | 43 - .../reference/triviality.compile.pass.cpp | 21 - .../sequences/vector.bool/reserve.pass.cpp | 89 - .../vector.bool/resize_size.pass.cpp | 67 - .../vector.bool/resize_size_value.pass.cpp | 63 - .../vector.bool/shrink_to_fit.pass.cpp | 49 - .../sequences/vector.bool/size.pass.cpp | 72 - .../sequences/vector.bool/swap.pass.cpp | 109 - .../vector.bool/swap_noexcept.pass.cpp | 94 - .../sequences/vector.bool/types.pass.cpp | 86 - .../format.functions.format.pass.cpp | 56 - .../vector.bool.fmt/format.functions.tests.h | 128 - .../format.functions.vformat.pass.cpp | 63 - .../vector.bool.fmt/format.pass.cpp | 70 - .../vector.bool.fmt/parse.pass.cpp | 71 - .../vector.bool.fmt/types.compile.pass.cpp | 40 - .../vector.bool/vector_bool.pass.cpp | 69 - .../sequences/vector/access.pass.cpp | 130 - .../vector/allocator_mismatch.verify.cpp | 15 - .../sequences/vector/compare.pass.cpp | 129 - .../vector/compare.three_way.pass.cpp | 27 - .../vector/constant_initialization.pass.cpp | 22 - .../sequences/vector/contiguous.pass.cpp | 70 - .../sequences/vector/get_allocator.pass.cpp | 43 - ...rator_concept_conformance.compile.pass.cpp | 81 - .../sequences/vector/iterators.pass.cpp | 180 - ...range_concept_conformance.compile.pass.cpp | 37 - .../vector/reverse_iterators.pass.cpp | 86 - .../sequences/vector/types.pass.cpp | 118 - .../vector/vector.capacity/capacity.pass.cpp | 59 - .../vector/vector.capacity/empty.pass.cpp | 65 - .../vector/vector.capacity/empty.verify.cpp | 22 - .../vector/vector.capacity/max_size.pass.cpp | 59 - .../vector/vector.capacity/reserve.pass.cpp | 149 - .../vector.capacity/resize_size.pass.cpp | 106 - .../resize_size_value.pass.cpp | 114 - .../vector.capacity/shrink_to_fit.pass.cpp | 81 - .../vector/vector.capacity/size.pass.cpp | 90 - .../vector/vector.capacity/swap.pass.cpp | 73 - .../assign_copy.addressof.compile.pass.cpp | 24 - .../vector/vector.cons/assign_copy.pass.cpp | 100 - .../assign_initializer_list.pass.cpp | 62 - .../vector.cons/assign_iter_iter.pass.cpp | 90 - .../assign_move.addressof.compile.pass.cpp | 25 - .../vector/vector.cons/assign_move.pass.cpp | 127 - .../vector.cons/assign_size_value.pass.cpp | 68 - .../vector.cons/construct_default.pass.cpp | 109 - .../vector.cons/construct_from_range.pass.cpp | 42 - .../vector.cons/construct_iter_iter.pass.cpp | 221 - .../construct_iter_iter_alloc.pass.cpp | 201 - .../vector.cons/construct_size.pass.cpp | 89 - .../vector.cons/construct_size_value.pass.cpp | 57 - .../construct_size_value_alloc.pass.cpp | 54 - .../vector.cons/copy.move_only.verify.cpp | 20 - .../vector/vector.cons/copy.pass.cpp | 119 - .../vector/vector.cons/copy_alloc.pass.cpp | 90 - .../vector/vector.cons/deduct.pass.cpp | 173 - .../vector/vector.cons/deduct.verify.cpp | 33 - .../vector.cons/default.recursive.pass.cpp | 26 - .../vector.cons/default_noexcept.pass.cpp | 61 - .../vector/vector.cons/dtor_noexcept.pass.cpp | 62 - .../vector/vector.cons/exceptions.pass.cpp | 237 - .../vector.cons/initializer_list.pass.cpp | 61 - .../initializer_list_alloc.pass.cpp | 78 - .../move.addressof.compile.pass.cpp | 32 - .../vector/vector.cons/move.pass.cpp | 172 - .../vector/vector.cons/move_alloc.pass.cpp | 125 - .../vector.cons/move_assign_noexcept.pass.cpp | 100 - .../vector/vector.cons/move_noexcept.pass.cpp | 58 - .../op_equal_initializer_list.pass.cpp | 55 - .../vector/vector.data/data.pass.cpp | 89 - .../vector/vector.data/data_const.pass.cpp | 89 - .../vector/vector.erasure/erase.pass.cpp | 86 - .../vector/vector.erasure/erase_if.pass.cpp | 88 - .../vector.modifiers/append_range.pass.cpp | 70 - .../vector.modifiers/assign_range.pass.cpp | 78 - .../vector/vector.modifiers/clear.pass.cpp | 62 - .../destory_elements.pass.cpp | 71 - .../emplace.addressof.compile.pass.cpp | 25 - .../vector/vector.modifiers/emplace.pass.cpp | 170 - .../vector.modifiers/emplace_back.pass.cpp | 197 - .../vector.modifiers/emplace_extra.pass.cpp | 101 - .../erase_iter.addressof.compile.pass.cpp | 23 - .../vector.modifiers/erase_iter.pass.cpp | 167 - ...erase_iter_iter.addressof.compile.pass.cpp | 23 - .../vector.modifiers/erase_iter_iter.pass.cpp | 189 - .../insert_iter_initializer_list.pass.cpp | 114 - ..._iter_iter_iter.addressof.compile.pass.cpp | 31 - .../insert_iter_iter_iter.pass.cpp | 195 - .../insert_iter_lvalue.pass.cpp | 144 - ...ert_iter_rvalue.addressof.compile.pass.cpp | 25 - .../insert_iter_rvalue.pass.cpp | 89 - ...iter_size_value.addressof.compile.pass.cpp | 24 - .../insert_iter_size_value.pass.cpp | 125 - ...sert_iter_value.addressof.compile.pass.cpp | 24 - .../vector.modifiers/insert_range.pass.cpp | 71 - .../vector/vector.modifiers/pop_back.pass.cpp | 63 - .../vector.modifiers/push_back.pass.cpp | 123 - .../push_back_exception_safety.pass.cpp | 90 - .../push_back_rvalue.pass.cpp | 124 - .../resize_not_move_insertable.verify.cpp | 48 - .../swap.addressof.compile.pass.cpp | 25 - .../vector/vector.special/swap.pass.cpp | 198 - .../swap_noexcept.compile.pass.cpp | 90 - ...set_allocator_requirement_test_templates.h | 389 - .../src/test/std/containers/test_compare.h | 36 - .../src/test/std/containers/test_hash.h | 29 - .../unord/from_range_unordered_containers.h | 435 - .../unord/iterator_difference_type.pass.cpp | 155 - .../unord.map/allocator_mismatch.verify.cpp | 15 - .../unord/unord.map/bucket.pass.cpp | 68 - .../unord/unord.map/bucket_count.pass.cpp | 77 - .../unord/unord.map/bucket_size.pass.cpp | 72 - .../unord/unord.map/compare.pass.cpp | 49 - .../unord/unord.map/contains.pass.cpp | 61 - .../unord.map/contains.transparent.pass.cpp | 63 - .../containers/unord/unord.map/count.pass.cpp | 68 - .../unord.map/count.transparent.pass.cpp | 64 - .../containers/unord/unord.map/empty.pass.cpp | 47 - .../unord/unord.map/empty.verify.cpp | 22 - .../unord.map/eq.different_hash.pass.cpp | 152 - .../containers/unord/unord.map/eq.pass.cpp | 201 - .../equal_range.transparent.pass.cpp | 64 - .../unord.map/equal_range_const.pass.cpp | 78 - .../unord.map/equal_range_non_const.pass.cpp | 78 - .../unord/unord.map/erase_if.pass.cpp | 80 - .../unord/unord.map/find.transparent.pass.cpp | 64 - .../unord/unord.map/find_const.pass.cpp | 74 - .../unord/unord.map/find_non_const.pass.cpp | 74 - .../unord/unord.map/get_allocator.pass.cpp | 38 - .../unord/unord.map/hash_function.pass.cpp | 32 - .../unord/unord.map/incomplete_type.pass.cpp | 40 - ...rator.operators.addressof.compile.pass.cpp | 49 - ...rator_concept_conformance.compile.pass.cpp | 75 - .../unord/unord.map/iterators.pass.cpp | 131 - .../unord/unord.map/key_eq.pass.cpp | 36 - .../unord/unord.map/load_factor.pass.cpp | 79 - .../unord/unord.map/local_iterators.pass.cpp | 423 - .../unord/unord.map/max_bucket_count.pass.cpp | 41 - .../unord/unord.map/max_load_factor.pass.cpp | 57 - .../unord/unord.map/max_size.pass.cpp | 54 - ...range_concept_conformance.compile.pass.cpp | 39 - .../unord/unord.map/rehash.pass.cpp | 105 - .../unord/unord.map/reserve.pass.cpp | 109 - .../containers/unord/unord.map/size.pass.cpp | 63 - .../unord/unord.map/swap_member.pass.cpp | 573 - .../containers/unord/unord.map/types.pass.cpp | 74 - .../unord.map.cnstr/allocator.pass.cpp | 131 - .../assign_copy.addressof.compile.pass.cpp | 35 - .../unord.map.cnstr/assign_copy.pass.cpp | 190 - .../unord.map.cnstr/assign_init.pass.cpp | 99 - .../assign_move.addressof.compile.pass.cpp | 42 - .../unord.map.cnstr/assign_move.pass.cpp | 225 - ...ompare_copy_constructible.compile.fail.cpp | 33 - .../unord.map/unord.map.cnstr/copy.pass.cpp | 153 - .../unord.map.cnstr/copy_alloc.pass.cpp | 153 - .../unord.map/unord.map.cnstr/deduct.pass.cpp | 303 - .../unord.map.cnstr/deduct.verify.cpp | 105 - .../unord.map.cnstr/deduct_const.pass.cpp | 172 - .../unord.map.cnstr/default.pass.cpp | 113 - .../unord.map.cnstr/default_noexcept.pass.cpp | 77 - .../unord.map.cnstr/dtor_noexcept.pass.cpp | 70 - .../unord.map.cnstr/from_range.pass.cpp | 57 - .../hash_copy_constructible.compile.fail.cpp | 33 - .../unord.map/unord.map.cnstr/init.pass.cpp | 164 - .../unord.map.cnstr/init_size.pass.cpp | 102 - .../init_size_allocator.pass.cpp | 76 - .../unord.map.cnstr/init_size_hash.pass.cpp | 104 - .../init_size_hash_allocator.pass.cpp | 78 - .../init_size_hash_equal.pass.cpp | 107 - .../init_size_hash_equal_allocator.pass.cpp | 145 - .../unord.map.cnstr/iter_iter.pass.cpp | 174 - .../unord.map.cnstr/iter_iter_size.pass.cpp | 109 - .../iter_iter_size_allocator.pass.cpp | 81 - .../iter_iter_size_hash.pass.cpp | 112 - .../iter_iter_size_hash_allocator.pass.cpp | 83 - .../iter_iter_size_hash_equal.pass.cpp | 114 - ...er_iter_size_hash_equal_allocator.pass.cpp | 155 - .../move.addressof.compile.pass.cpp | 33 - .../unord.map/unord.map.cnstr/move.pass.cpp | 178 - .../move_alloc.addressof.compile.pass.cpp | 36 - .../unord.map.cnstr/move_alloc.pass.cpp | 200 - .../move_assign_noexcept.pass.cpp | 76 - .../unord.map.cnstr/move_noexcept.pass.cpp | 73 - .../unord.map.cnstr/size.compile.fail.cpp | 71 - .../unord.map/unord.map.cnstr/size.pass.cpp | 71 - .../unord.map.cnstr/size_allocator.pass.cpp | 59 - .../unord.map.cnstr/size_hash.pass.cpp | 75 - .../size_hash_allocator.pass.cpp | 59 - .../unord.map.cnstr/size_hash_equal.pass.cpp | 77 - .../size_hash_equal_allocator.pass.cpp | 101 - .../unord.map/unord.map.elem/at.pass.cpp | 145 - .../unord.map/unord.map.elem/index.pass.cpp | 164 - .../unord.map.elem/index_tuple.pass.cpp | 34 - .../unord.map.modifiers/clear.pass.cpp | 65 - .../unord.map.modifiers/emplace.pass.cpp | 80 - .../emplace_hint.addressof.compile.pass.cpp | 30 - .../unord.map.modifiers/emplace_hint.pass.cpp | 77 - ...rase_const_iter.addressof.compile.pass.cpp | 27 - .../erase_const_iter.pass.cpp | 94 - .../unord.map.modifiers/erase_key.pass.cpp | 179 - .../erase_range.addressof.compile.pass.cpp | 27 - .../unord.map.modifiers/erase_range.pass.cpp | 102 - .../extract_iterator.pass.cpp | 69 - .../unord.map.modifiers/extract_key.pass.cpp | 80 - ...nd_emplace_allocator_requirements.pass.cpp | 33 - .../insert_const_lvalue.pass.cpp | 83 - ...nt_const_lvalue.addressof.compile.pass.cpp | 28 - .../insert_hint_const_lvalue.pass.cpp | 69 - .../insert_hint_rvalue.pass.cpp | 163 - .../unord.map.modifiers/insert_init.pass.cpp | 72 - .../insert_iter_iter.pass.cpp | 73 - .../insert_node_type.pass.cpp | 86 - .../insert_node_type_hint.pass.cpp | 66 - .../insert_or_assign.pass.cpp | 196 - .../unord.map.modifiers/insert_range.pass.cpp | 40 - .../insert_rvalue.pass.cpp | 178 - ...ible_value_type.addressof.compile.pass.cpp | 28 - ...alue_value_type.addressof.compile.pass.cpp | 28 - .../unord.map.modifiers/merge.pass.cpp | 157 - .../unord.map.modifiers/try.emplace.pass.cpp | 193 - ...ry_emplace_hint.addressof.compile.pass.cpp | 40 - .../swap.addressof.compile.pass.cpp | 29 - .../unord.map.swap/swap_noexcept.pass.cpp | 193 - .../unord.map.swap/swap_non_member.pass.cpp | 580 - .../allocator_mismatch.verify.cpp | 15 - .../unord/unord.multimap/bucket.pass.cpp | 68 - .../unord.multimap/bucket_count.pass.cpp | 50 - .../unord/unord.multimap/bucket_size.pass.cpp | 76 - .../contains.transparent.pass.cpp | 63 - .../unord/unord.multimap/count.pass.cpp | 74 - .../unord.multimap/count.transparent.pass.cpp | 64 - .../unord/unord.multimap/empty.pass.cpp | 47 - .../unord/unord.multimap/empty.verify.cpp | 22 - .../unord.multimap/eq.different_hash.pass.cpp | 151 - .../unord/unord.multimap/eq.pass.cpp | 250 - .../equal_range.transparent.pass.cpp | 64 - .../unord.multimap/equal_range_const.pass.cpp | 107 - .../equal_range_non_const.pass.cpp | 107 - .../unord/unord.multimap/erase_if.pass.cpp | 91 - .../unord.multimap/find.transparent.pass.cpp | 64 - .../unord/unord.multimap/find_const.pass.cpp | 74 - .../unord.multimap/find_non_const.pass.cpp | 74 - .../unord.multimap/get_allocator.pass.cpp | 38 - .../unord.multimap/hash_function.pass.cpp | 33 - .../unord/unord.multimap/incomplete.pass.cpp | 40 - ...rator_concept_conformance.compile.pass.cpp | 75 - .../unord.multimap/iterators.compile.fail.cpp | 72 - .../unord/unord.multimap/iterators.pass.cpp | 137 - .../unord/unord.multimap/key_eq.pass.cpp | 47 - .../unord/unord.multimap/load_factor.pass.cpp | 79 - .../local_iterators.compile.fail.cpp | 289 - .../unord.multimap/local_iterators.pass.cpp | 664 - .../unord.multimap/max_bucket_count.pass.cpp | 41 - .../unord.multimap/max_load_factor.pass.cpp | 57 - .../unord/unord.multimap/max_size.pass.cpp | 56 - ...range_concept_conformance.compile.pass.cpp | 39 - .../unord/unord.multimap/rehash.pass.cpp | 149 - .../unord/unord.multimap/reserve.pass.cpp | 124 - .../unord/unord.multimap/scary.pass.cpp | 28 - .../unord/unord.multimap/size.pass.cpp | 63 - .../unord/unord.multimap/swap_member.pass.cpp | 659 - .../unord/unord.multimap/types.pass.cpp | 74 - .../unord.multimap.cnstr/allocator.pass.cpp | 131 - .../assign_copy.addressof.compile.pass.cpp | 35 - .../unord.multimap.cnstr/assign_copy.pass.cpp | 213 - .../unord.multimap.cnstr/assign_init.pass.cpp | 140 - .../unord.multimap.cnstr/assign_move.pass.cpp | 284 - ...ompare_copy_constructible.compile.fail.cpp | 33 - .../unord.multimap.cnstr/copy.pass.cpp | 176 - .../unord.multimap.cnstr/copy_alloc.pass.cpp | 176 - .../unord.multimap.cnstr/deduct.pass.cpp | 302 - .../unord.multimap.cnstr/deduct.verify.cpp | 105 - .../deduct_const.pass.cpp | 173 - .../unord.multimap.cnstr/default.pass.cpp | 113 - .../default_noexcept.pass.cpp | 76 - .../dtor_noexcept.pass.cpp | 69 - .../unord.multimap.cnstr/from_range.pass.cpp | 53 - .../hash_copy_constructible.compile.fail.cpp | 33 - .../unord.multimap.cnstr/init.pass.cpp | 238 - .../unord.multimap.cnstr/init_size.pass.cpp | 138 - .../init_size_allocator.pass.cpp | 100 - .../init_size_hash.pass.cpp | 140 - .../init_size_hash_allocator.pass.cpp | 101 - .../init_size_hash_equal.pass.cpp | 143 - .../init_size_hash_equal_allocator.pass.cpp | 199 - .../unord.multimap.cnstr/iter_iter.pass.cpp | 249 - .../iter_iter_size.pass.cpp | 145 - .../iter_iter_size_allocator.pass.cpp | 105 - .../iter_iter_size_hash.pass.cpp | 148 - .../iter_iter_size_hash_allocator.pass.cpp | 106 - .../iter_iter_size_hash_equal.pass.cpp | 150 - ...er_iter_size_hash_equal_allocator.pass.cpp | 209 - .../move.addressof.compile.pass.cpp | 33 - .../unord.multimap.cnstr/move.pass.cpp | 211 - .../move_alloc.addressof.compile.pass.cpp | 36 - .../unord.multimap.cnstr/move_alloc.pass.cpp | 274 - .../move_assign_noexcept.pass.cpp | 75 - .../move_noexcept.pass.cpp | 72 - .../size.compile.fail.cpp | 71 - .../unord.multimap.cnstr/size.pass.cpp | 71 - .../size_allocator.pass.cpp | 58 - .../unord.multimap.cnstr/size_hash.pass.cpp | 75 - .../size_hash_allocator.pass.cpp | 59 - .../size_hash_equal.pass.cpp | 77 - .../size_hash_equal_allocator.pass.cpp | 101 - .../unord.multimap.modifiers/clear.pass.cpp | 65 - .../unord.multimap.modifiers/emplace.pass.cpp | 74 - .../emplace_hint.addressof.compile.pass.cpp | 30 - .../emplace_hint.pass.cpp | 94 - .../erase_const_iter.pass.cpp | 149 - .../erase_key.pass.cpp | 359 - .../erase_range.pass.cpp | 168 - .../extract_iterator.pass.cpp | 69 - .../extract_key.pass.cpp | 79 - .../insert_allocator_requirements.pass.cpp | 29 - .../insert_const_lvalue.pass.cpp | 67 - .../insert_hint_const_lvalue.pass.cpp | 68 - .../insert_hint_rvalue.pass.cpp | 163 - .../insert_init.pass.cpp | 115 - .../insert_iter_iter.pass.cpp | 116 - .../insert_node_type.pass.cpp | 79 - .../insert_node_type_hint.pass.cpp | 65 - .../insert_range.pass.cpp | 41 - .../insert_rvalue.pass.cpp | 158 - .../unord.multimap.modifiers/merge.pass.cpp | 157 - .../swap_noexcept.pass.cpp | 192 - .../swap_non_member.pass.cpp | 613 - .../allocator_mismatch.verify.cpp | 15 - .../unord/unord.multiset/bucket.pass.cpp | 66 - .../unord.multiset/bucket_count.pass.cpp | 75 - .../unord/unord.multiset/bucket_size.pass.cpp | 73 - .../unord/unord.multiset/clear.pass.cpp | 64 - .../contains.transparent.pass.cpp | 63 - .../unord/unord.multiset/count.pass.cpp | 72 - .../unord.multiset/count.transparent.pass.cpp | 64 - .../unord/unord.multiset/emplace.pass.cpp | 64 - .../unord.multiset/emplace_hint.pass.cpp | 67 - .../unord/unord.multiset/empty.pass.cpp | 47 - .../unord/unord.multiset/empty.verify.cpp | 22 - .../unord.multiset/eq.different_hash.pass.cpp | 137 - .../unord/unord.multiset/eq.pass.cpp | 215 - .../equal_range.transparent.pass.cpp | 64 - .../unord.multiset/equal_range_const.pass.cpp | 92 - .../equal_range_non_const.pass.cpp | 92 - .../unord.multiset/erase_const_iter.pass.cpp | 102 - .../unord/unord.multiset/erase_if.pass.cpp | 92 - .../unord/unord.multiset/erase_key.pass.cpp | 178 - .../unord/unord.multiset/erase_range.pass.cpp | 97 - .../unord.multiset/extract_iterator.pass.cpp | 62 - .../unord/unord.multiset/extract_key.pass.cpp | 73 - .../unord.multiset/find.transparent.pass.cpp | 64 - .../unord/unord.multiset/find_const.pass.cpp | 70 - .../unord.multiset/find_non_const.pass.cpp | 70 - .../unord.multiset/get_allocator.pass.cpp | 36 - .../unord.multiset/hash_function.pass.cpp | 32 - .../unord/unord.multiset/incomplete.pass.cpp | 41 - .../insert_const_lvalue.pass.cpp | 62 - ...rt_emplace_allocator_requirements.pass.cpp | 28 - .../insert_hint_const_lvalue.pass.cpp | 63 - .../insert_hint_rvalue.pass.cpp | 120 - .../unord/unord.multiset/insert_init.pass.cpp | 71 - .../unord.multiset/insert_iter_iter.pass.cpp | 72 - .../unord.multiset/insert_node_type.pass.cpp | 78 - .../insert_node_type_hint.pass.cpp | 61 - .../unord.multiset/insert_range.pass.cpp | 37 - .../unord.multiset/insert_rvalue.pass.cpp | 116 - ...rator_concept_conformance.compile.pass.cpp | 75 - .../unord.multiset/iterators.compile.fail.cpp | 70 - .../unord/unord.multiset/iterators.pass.cpp | 130 - .../unord/unord.multiset/key_eq.pass.cpp | 44 - .../unord/unord.multiset/load_factor.pass.cpp | 77 - .../local_iterators.compile.fail.cpp | 264 - .../unord.multiset/local_iterators.pass.cpp | 502 - .../unord.multiset/max_bucket_count.pass.cpp | 40 - .../unord.multiset/max_load_factor.pass.cpp | 56 - .../unord/unord.multiset/max_size.pass.cpp | 55 - .../unord/unord.multiset/merge.pass.cpp | 154 - ...range_concept_conformance.compile.pass.cpp | 39 - .../unord/unord.multiset/rehash.pass.cpp | 104 - .../unord/unord.multiset/reserve.pass.cpp | 108 - .../unord/unord.multiset/scary.pass.cpp | 28 - .../unord/unord.multiset/size.pass.cpp | 63 - .../unord/unord.multiset/swap_member.pass.cpp | 571 - .../unord/unord.multiset/types.pass.cpp | 71 - .../unord.multiset.cnstr/allocator.pass.cpp | 111 - .../assign_copy.addressof.compile.pass.cpp | 28 - .../unord.multiset.cnstr/assign_copy.pass.cpp | 191 - .../unord.multiset.cnstr/assign_init.pass.cpp | 99 - .../unord.multiset.cnstr/assign_move.pass.cpp | 269 - ...ompare_copy_constructible.compile.fail.cpp | 31 - .../unord.multiset.cnstr/copy.pass.cpp | 150 - .../unord.multiset.cnstr/copy_alloc.pass.cpp | 112 - .../unord.multiset.cnstr/deduct.pass.cpp | 275 - .../unord.multiset.cnstr/deduct.verify.cpp | 97 - .../unord.multiset.cnstr/default.pass.cpp | 109 - .../default_noexcept.pass.cpp | 76 - .../dtor_noexcept.pass.cpp | 69 - .../unord.multiset.cnstr/from_range.pass.cpp | 48 - .../hash_copy_constructible.compile.fail.cpp | 31 - .../unord.multiset.cnstr/init.pass.cpp | 165 - .../unord.multiset.cnstr/init_size.pass.cpp | 99 - .../init_size_allocator.pass.cpp | 72 - .../init_size_hash.pass.cpp | 102 - .../init_size_hash_allocator.pass.cpp | 74 - .../init_size_hash_equal.pass.cpp | 104 - .../init_size_hash_equal_allocator.pass.cpp | 106 - .../unord.multiset.cnstr/iter_iter.pass.cpp | 171 - .../iter_iter_size.pass.cpp | 105 - .../iter_iter_size_allocator.pass.cpp | 77 - .../iter_iter_size_hash.pass.cpp | 108 - .../iter_iter_size_hash_allocator.pass.cpp | 78 - .../iter_iter_size_hash_equal.pass.cpp | 110 - ...er_iter_size_hash_equal_allocator.pass.cpp | 113 - .../move.addressof.compile.pass.cpp | 29 - .../unord.multiset.cnstr/move.pass.cpp | 169 - .../move_alloc.addressof.compile.pass.cpp | 33 - .../unord.multiset.cnstr/move_alloc.pass.cpp | 200 - .../move_assign_noexcept.pass.cpp | 75 - .../move_noexcept.pass.cpp | 72 - .../size.compile.fail.cpp | 67 - .../unord.multiset.cnstr/size.pass.cpp | 67 - .../size_allocator.pass.cpp | 56 - .../unord.multiset.cnstr/size_hash.pass.cpp | 71 - .../size_hash_allocator.pass.cpp | 56 - .../size_hash_equal.pass.cpp | 73 - .../size_hash_equal_allocator.pass.cpp | 75 - .../swap_noexcept.pass.cpp | 191 - .../swap_non_member.pass.cpp | 579 - .../unord.set/allocator_mismatch.verify.cpp | 15 - .../unord/unord.set/bucket.pass.cpp | 65 - .../unord/unord.set/bucket_count.pass.cpp | 73 - .../unord/unord.set/bucket_size.pass.cpp | 69 - .../containers/unord/unord.set/clear.pass.cpp | 63 - .../unord/unord.set/contains.pass.cpp | 43 - .../unord.set/contains.transparent.pass.cpp | 63 - .../containers/unord/unord.set/count.pass.cpp | 71 - .../unord.set/count.transparent.pass.cpp | 64 - .../unord/unord.set/emplace.pass.cpp | 70 - .../emplace_hint.addressof.compile.pass.cpp | 30 - .../unord/unord.set/emplace_hint.pass.cpp | 65 - .../containers/unord/unord.set/empty.pass.cpp | 47 - .../unord/unord.set/empty.verify.cpp | 22 - .../unord.set/eq.different_hash.pass.cpp | 139 - .../containers/unord/unord.set/eq.pass.cpp | 161 - .../equal_range.transparent.pass.cpp | 64 - .../unord.set/equal_range_const.pass.cpp | 83 - .../unord.set/equal_range_non_const.pass.cpp | 83 - .../unord/unord.set/erase_const_iter.pass.cpp | 100 - .../unord/unord.set/erase_if.pass.cpp | 81 - .../unord/unord.set/erase_key.pass.cpp | 177 - .../unord/unord.set/erase_range.pass.cpp | 96 - .../unord/unord.set/extract_iterator.pass.cpp | 62 - .../unord/unord.set/extract_key.pass.cpp | 73 - .../unord/unord.set/find.transparent.pass.cpp | 64 - .../unord/unord.set/find_const.pass.cpp | 69 - .../unord/unord.set/find_non_const.pass.cpp | 69 - .../unord/unord.set/get_allocator.pass.cpp | 36 - .../unord/unord.set/hash_function.pass.cpp | 31 - .../unord/unord.set/incomplete.pass.cpp | 41 - ...nd_emplace_allocator_requirements.pass.cpp | 31 - .../unord.set/insert_const_lvalue.pass.cpp | 66 - ...nt_const_lvalue.addressof.compile.pass.cpp | 28 - .../insert_hint_const_lvalue.pass.cpp | 63 - ...ert_hint_rvalue.addressof.compile.pass.cpp | 27 - .../unord.set/insert_hint_rvalue.pass.cpp | 120 - .../unord/unord.set/insert_init.pass.cpp | 71 - .../unord/unord.set/insert_iter_iter.pass.cpp | 72 - .../unord/unord.set/insert_node_type.pass.cpp | 85 - .../unord.set/insert_node_type_hint.pass.cpp | 63 - .../unord/unord.set/insert_range.pass.cpp | 36 - .../unord/unord.set/insert_rvalue.pass.cpp | 132 - ...rator.operators.addressof.compile.pass.cpp | 47 - ...rator_concept_conformance.compile.pass.cpp | 74 - .../unord.set/iterators.compile.fail.cpp | 68 - .../unord/unord.set/iterators.pass.cpp | 130 - .../unord/unord.set/key_eq.pass.cpp | 37 - .../unord/unord.set/load_factor.pass.cpp | 77 - .../local_iterators.compile.fail.cpp | 262 - .../unord/unord.set/local_iterators.pass.cpp | 390 - .../unord/unord.set/max_bucket_count.pass.cpp | 40 - .../unord/unord.set/max_load_factor.pass.cpp | 56 - .../unord/unord.set/max_size.pass.cpp | 51 - .../containers/unord/unord.set/merge.pass.cpp | 154 - ...range_concept_conformance.compile.pass.cpp | 39 - .../unord/unord.set/rehash.pass.cpp | 104 - .../unord/unord.set/reserve.pass.cpp | 108 - .../containers/unord/unord.set/size.pass.cpp | 63 - .../unord/unord.set/swap_member.pass.cpp | 571 - .../containers/unord/unord.set/types.pass.cpp | 71 - .../unord.set.cnstr/allocator.pass.cpp | 111 - .../assign_copy.addressof.compile.pass.cpp | 28 - .../unord.set.cnstr/assign_copy.pass.cpp | 189 - .../unord.set.cnstr/assign_init.pass.cpp | 99 - .../unord.set.cnstr/assign_move.pass.cpp | 221 - ...ompare_copy_constructible.compile.fail.cpp | 31 - .../unord.set/unord.set.cnstr/copy.pass.cpp | 149 - .../unord.set.cnstr/copy_alloc.pass.cpp | 111 - .../unord.set/unord.set.cnstr/deduct.pass.cpp | 276 - .../unord.set.cnstr/deduct.verify.cpp | 97 - .../unord.set.cnstr/default.pass.cpp | 109 - .../unord.set.cnstr/default_noexcept.pass.cpp | 76 - .../unord.set.cnstr/dtor_noexcept.pass.cpp | 69 - .../unord.set.cnstr/from_range.pass.cpp | 56 - .../hash_copy_constructible.compile.fail.cpp | 31 - .../unord.set/unord.set.cnstr/init.pass.cpp | 165 - .../unord.set.cnstr/init_size.pass.cpp | 99 - .../init_size_allocator.pass.cpp | 72 - .../unord.set.cnstr/init_size_hash.pass.cpp | 102 - .../init_size_hash_allocator.pass.cpp | 74 - .../init_size_hash_equal.pass.cpp | 104 - .../init_size_hash_equal_allocator.pass.cpp | 106 - .../unord.set.cnstr/iter_iter.pass.cpp | 172 - .../unord.set.cnstr/iter_iter_size.pass.cpp | 105 - .../iter_iter_size_allocator.pass.cpp | 77 - .../iter_iter_size_hash.pass.cpp | 108 - .../iter_iter_size_hash_allocator.pass.cpp | 78 - .../iter_iter_size_hash_equal.pass.cpp | 110 - ...er_iter_size_hash_equal_allocator.pass.cpp | 113 - .../move.addressof.compile.pass.cpp | 29 - .../unord.set/unord.set.cnstr/move.pass.cpp | 169 - .../move_alloc.addressof.compile.pass.cpp | 35 - .../unord.set.cnstr/move_alloc.pass.cpp | 158 - .../move_assign_noexcept.pass.cpp | 75 - .../unord.set.cnstr/move_noexcept.pass.cpp | 72 - .../unord.set.cnstr/size.compile.fail.cpp | 47 - .../unord.set/unord.set.cnstr/size.pass.cpp | 67 - .../unord.set.cnstr/size_allocator.pass.cpp | 56 - .../unord.set.cnstr/size_hash.pass.cpp | 71 - .../size_hash_allocator.pass.cpp | 56 - .../unord.set.cnstr/size_hash_equal.pass.cpp | 73 - .../size_hash_equal_allocator.pass.cpp | 75 - .../unord.set.swap/swap_noexcept.pass.cpp | 191 - .../unord.set.swap/swap_non_member.pass.cpp | 579 - .../views/mdspan/ConvertibleToIntegral.h | 44 - .../views/mdspan/CustomTestLayouts.h | 338 - .../views/mdspan/MinimalElementType.h | 46 - .../mdspan/default_accessor/access.pass.cpp | 49 - .../default_accessor/ctor.conversion.pass.cpp | 68 - .../default_accessor/ctor.default.pass.cpp | 45 - .../default_accessor/element_type.verify.cpp | 33 - .../mdspan/default_accessor/offset.pass.cpp | 49 - .../mdspan/default_accessor/types.pass.cpp | 54 - .../mdspan/extents/CtorTestCombinations.h | 99 - .../views/mdspan/extents/comparison.pass.cpp | 95 - .../views/mdspan/extents/conversion.pass.cpp | 138 - .../views/mdspan/extents/ctad.pass.cpp | 54 - .../mdspan/extents/ctor_default.pass.cpp | 49 - .../mdspan/extents/ctor_from_array.pass.cpp | 98 - .../extents/ctor_from_integral.pass.cpp | 69 - .../mdspan/extents/ctor_from_span.pass.cpp | 100 - .../views/mdspan/extents/dextents.pass.cpp | 39 - .../views/mdspan/extents/obs_static.pass.cpp | 88 - .../views/mdspan/extents/types.pass.cpp | 85 - .../mdspan/layout_left/comparison.pass.cpp | 114 - .../mdspan/layout_left/ctor.default.pass.cpp | 55 - .../mdspan/layout_left/ctor.extents.pass.cpp | 57 - .../layout_left/ctor.layout_right.pass.cpp | 128 - .../layout_left/ctor.layout_stride.pass.cpp | 114 - .../mdspan/layout_left/ctor.mapping.pass.cpp | 136 - .../mdspan/layout_left/extents.verify.cpp | 33 - .../layout_left/index_operator.pass.cpp | 116 - .../mdspan/layout_left/properties.pass.cpp | 66 - .../layout_left/required_span_size.pass.cpp | 51 - .../layout_left/static_requirements.pass.cpp | 131 - .../views/mdspan/layout_left/stride.pass.cpp | 51 - .../mdspan/layout_right/comparison.pass.cpp | 114 - .../mdspan/layout_right/ctor.default.pass.cpp | 55 - .../mdspan/layout_right/ctor.extents.pass.cpp | 57 - .../layout_right/ctor.layout_left.pass.cpp | 128 - .../layout_right/ctor.layout_stride.pass.cpp | 114 - .../mdspan/layout_right/ctor.mapping.pass.cpp | 136 - .../mdspan/layout_right/extents.verify.cpp | 33 - .../layout_right/index_operator.pass.cpp | 116 - .../mdspan/layout_right/properties.pass.cpp | 66 - .../layout_right/required_span_size.pass.cpp | 51 - .../layout_right/static_requirements.pass.cpp | 131 - .../views/mdspan/layout_right/stride.pass.cpp | 51 - .../mdspan/layout_stride/comparison.pass.cpp | 198 - .../layout_stride/ctor.default.pass.cpp | 73 - .../layout_stride/ctor.extents_array.pass.cpp | 138 - .../layout_stride/ctor.extents_span.pass.cpp | 141 - .../ctor.strided_mapping.pass.cpp | 187 - .../mdspan/layout_stride/deduction.pass.cpp | 55 - .../mdspan/layout_stride/extents.verify.cpp | 33 - .../layout_stride/index_operator.pass.cpp | 121 - .../is_exhaustive_corner_case.pass.cpp | 54 - .../mdspan/layout_stride/properties.pass.cpp | 116 - .../layout_stride/required_span_size.pass.cpp | 56 - .../static_requirements.pass.cpp | 131 - .../mdspan/layout_stride/stride.pass.cpp | 57 - .../views/mdspan/mdspan/CustomTestAccessors.h | 314 - .../views/mdspan/mdspan/assign.pass.cpp | 109 - .../views/mdspan/mdspan/conversion.pass.cpp | 284 - .../views/mdspan/mdspan/conversion.verify.cpp | 57 - .../views/mdspan/mdspan/ctor.copy.pass.cpp | 97 - .../views/mdspan/mdspan/ctor.default.pass.cpp | 110 - .../mdspan/mdspan/ctor.dh_array.pass.cpp | 195 - .../mdspan/mdspan/ctor.dh_extents.pass.cpp | 139 - .../mdspan/mdspan/ctor.dh_integers.pass.cpp | 163 - .../views/mdspan/mdspan/ctor.dh_map.pass.cpp | 129 - .../mdspan/mdspan/ctor.dh_map_acc.pass.cpp | 130 - .../views/mdspan/mdspan/ctor.dh_span.pass.cpp | 195 - .../views/mdspan/mdspan/ctor.move.pass.cpp | 97 - .../views/mdspan/mdspan/deduction.pass.cpp | 159 - .../mdspan/mdspan/element_type.verify.cpp | 39 - .../views/mdspan/mdspan/extents.verify.cpp | 23 - .../mdspan/mdspan/index_operator.pass.cpp | 259 - .../views/mdspan/mdspan/mapping.verify.cpp | 23 - .../views/mdspan/mdspan/move.pass.cpp | 99 - .../views/mdspan/mdspan/properties.pass.cpp | 216 - .../views/mdspan/mdspan/swap.pass.cpp | 76 - .../views/mdspan/mdspan/types.pass.cpp | 180 - .../enable_borrowed_range.compile.pass.cpp | 27 - ...range_concept_conformance.compile.pass.cpp | 37 - .../views/views.span/span.cons/array.pass.cpp | 162 - .../views.span/span.cons/assign.pass.cpp | 297 - .../views/views.span/span.cons/copy.pass.cpp | 71 - .../views.span/span.cons/deduct.pass.cpp | 115 - .../views.span/span.cons/default.pass.cpp | 87 - .../initializer_list.assert.pass.cpp | 32 - .../span.cons/initializer_list.pass.cpp | 138 - .../span.cons/initializer_list.verify.cpp | 48 - .../span.cons/iterator_len.pass.cpp | 68 - .../span.cons/iterator_len.verify.cpp | 43 - .../span.cons/iterator_sentinel.pass.cpp | 147 - .../span.cons/iterator_sentinel.verify.cpp | 30 - .../views/views.span/span.cons/range.pass.cpp | 82 - .../span.cons/span.dtor.compile.pass.cpp | 26 - .../views/views.span/span.cons/span.pass.cpp | 118 - .../views.span/span.cons/span.verify.cpp | 114 - .../views.span/span.cons/stdarray.pass.cpp | 120 - .../views/views.span/span.elem/at.pass.cpp | 188 - .../views/views.span/span.elem/back.pass.cpp | 82 - .../views/views.span/span.elem/data.pass.cpp | 121 - .../views/views.span/span.elem/front.pass.cpp | 83 - .../views.span/span.elem/op_idx.pass.cpp | 113 - .../views.span/span.iterators/begin.pass.cpp | 107 - .../views.span/span.iterators/end.pass.cpp | 111 - ...rator_concept_conformance.compile.pass.cpp | 33 - .../views.span/span.iterators/rbegin.pass.cpp | 108 - .../views.span/span.iterators/rend.pass.cpp | 107 - .../span.objectrep/as_bytes.pass.cpp | 78 - .../span.objectrep/as_writable_bytes.pass.cpp | 78 - .../as_writable_bytes.verify.cpp | 43 - .../span.obs/empty.nodiscard.verify.cpp | 23 - .../views/views.span/span.obs/empty.pass.cpp | 73 - .../views/views.span/span.obs/size.pass.cpp | 91 - .../views.span/span.obs/size_bytes.pass.cpp | 92 - .../views/views.span/span.sub/first.pass.cpp | 135 - .../views.span/span.sub/first.verify.cpp | 29 - .../views/views.span/span.sub/last.pass.cpp | 135 - .../views/views.span/span.sub/last.verify.cpp | 29 - .../views.span/span.sub/subspan.pass.cpp | 209 - .../views.span/span.sub/subspan.verify.cpp | 39 - .../trivially_copyable.compile.pass.cpp | 18 - .../views/views.span/types.pass.cpp | 95 - .../test/std/depr.cerro/cerrno.syn.verify.cpp | 37 - .../depr.cerro/system.error.syn.verify.cpp | 28 - .../atomic_init.depr_in_cxx20.verify.cpp | 23 - .../test/std/depr/depr.auto.ptr/auto.ptr/A.h | 31 - .../test/std/depr/depr.auto.ptr/auto.ptr/AB.h | 42 - .../auto.ptr.cons/assignment.compile.fail.cpp | 45 - .../auto.ptr.cons/assignment.pass.cpp | 49 - .../auto.ptr.cons/convert.compile.fail.cpp | 41 - .../auto.ptr/auto.ptr.cons/convert.pass.cpp | 45 - .../convert_assignment.compile.fail.cpp | 50 - .../auto.ptr.cons/convert_assignment.pass.cpp | 52 - .../auto.ptr.cons/copy.compile.fail.cpp | 41 - .../auto.ptr/auto.ptr.cons/copy.pass.cpp | 43 - .../auto.ptr.cons/explicit.compile.fail.cpp | 43 - .../auto.ptr/auto.ptr.cons/pointer.pass.cpp | 45 - .../assign_from_auto_ptr_ref.pass.cpp | 45 - .../convert_from_auto_ptr_ref.pass.cpp | 44 - .../convert_to_auto_ptr.pass.cpp | 41 - .../convert_to_auto_ptr_ref.pass.cpp | 42 - .../auto.ptr/auto.ptr.members/arrow.pass.cpp | 42 - .../auto.ptr/auto.ptr.members/deref.pass.cpp | 42 - .../auto.ptr.members/release.pass.cpp | 43 - .../auto.ptr/auto.ptr.members/reset.pass.cpp | 59 - .../auto.ptr/element_type.pass.cpp | 43 - .../std/depr/depr.c.headers/assert_h.pass.cpp | 21 - .../depr.c.headers/ciso646.compile.pass.cpp | 11 - .../depr.c.headers/complex_h.compile.pass.cpp | 13 - .../std/depr/depr.c.headers/ctype_h.pass.cpp | 105 - .../depr.c.headers/errno_h.compile.pass.cpp | 27 - .../depr.c.headers/fenv_h.compile.pass.cpp | 75 - .../depr.c.headers/float_h.compile.pass.cpp | 179 - .../inttypes_h.compile.pass.cpp | 922 - .../depr.c.headers/iso646_h.compile.pass.cpp | 11 - .../depr.c.headers/limits_h.compile.pass.cpp | 90 - .../depr.c.headers/locale_h.compile.pass.cpp | 47 - .../std/depr/depr.c.headers/math_h.pass.cpp | 1000 - .../depr.c.headers/setjmp_h.compile.pass.cpp | 24 - .../depr.c.headers/signal_h.compile.pass.cpp | 54 - .../depr.c.headers/stdarg_h.compile.pass.cpp | 33 - .../depr.c.headers/stdbool_h.compile.pass.cpp | 27 - .../depr.c.headers/stddef_h.compile.pass.cpp | 55 - .../depr.c.headers/stddef_h.nullptr.pass.cpp | 25 - .../std/depr/depr.c.headers/stdint_h.pass.cpp | 281 - .../depr.c.headers/stdio_h.compile.pass.cpp | 172 - .../stdlib_h.aligned_alloc.compile.pass.cpp | 27 - .../std/depr/depr.c.headers/stdlib_h.pass.cpp | 153 - .../std/depr/depr.c.headers/string_h.pass.cpp | 136 - .../std/depr/depr.c.headers/tgmath_h.pass.cpp | 20 - .../depr.c.headers/time_h.compile.pass.cpp | 37 - .../depr.c.headers/uchar_h.compile.pass.cpp | 35 - .../depr.c.headers/wchar_h.compile.pass.cpp | 114 - .../depr.c.headers/wctype_h.compile.pass.cpp | 113 - ..._to_binary_function.cxx1z.compile.fail.cpp | 28 - .../pointer_to_binary_function.pass.cpp | 32 - ...r_to_unary_function.cxx1z.compile.fail.cpp | 28 - .../pointer_to_unary_function.pass.cpp | 32 - .../ptr_fun1.cxx1z.compile.fail.cpp | 31 - .../ptr_fun1.pass.cpp | 31 - .../ptr_fun2.cxx1z.compile.fail.cpp | 31 - .../ptr_fun2.pass.cpp | 31 - .../const_mem_fun.cxx1z.compile.fail.cpp | 38 - .../const_mem_fun.pass.cpp | 37 - .../const_mem_fun1.cxx1z.compile.fail.cpp | 38 - .../const_mem_fun1.pass.cpp | 37 - ...onst_mem_fun1_ref_t.cxx1z.compile.fail.cpp | 36 - .../const_mem_fun1_ref_t.pass.cpp | 39 - .../const_mem_fun1_t.cxx1z.compile.fail.cpp | 36 - .../const_mem_fun1_t.pass.cpp | 39 - .../const_mem_fun_ref.cxx1z.compile.fail.cpp | 38 - .../const_mem_fun_ref.pass.cpp | 37 - .../const_mem_fun_ref1.cxx1z.compile.fail.cpp | 38 - .../const_mem_fun_ref1.pass.cpp | 37 - ...const_mem_fun_ref_t.cxx1z.compile.fail.cpp | 36 - .../const_mem_fun_ref_t.pass.cpp | 39 - .../const_mem_fun_t.cxx1z.compile.fail.cpp | 36 - .../const_mem_fun_t.pass.cpp | 39 - .../mem_fun.cxx1z.compile.fail.cpp | 38 - .../mem_fun.pass.cpp | 37 - .../mem_fun1.cxx1z.compile.fail.cpp | 38 - .../mem_fun1.pass.cpp | 37 - .../mem_fun1_ref_t.cxx1z.compile.fail.cpp | 36 - .../mem_fun1_ref_t.pass.cpp | 39 - .../mem_fun1_t.cxx1z.compile.fail.cpp | 36 - .../mem_fun1_t.pass.cpp | 39 - .../mem_fun_ref.cxx1z.compile.fail.cpp | 38 - .../mem_fun_ref.pass.cpp | 37 - .../mem_fun_ref1.cxx1z.compile.fail.cpp | 38 - .../mem_fun_ref1.pass.cpp | 37 - .../mem_fun_ref_t.cxx1z.compile.fail.cpp | 36 - .../mem_fun_ref_t.pass.cpp | 39 - .../mem_fun_t.cxx1z.compile.fail.cpp | 36 - .../mem_fun_t.pass.cpp | 39 - .../depr.base/binary_function.depr.verify.cpp | 17 - .../depr.base/binary_function.pass.cpp | 35 - .../depr.base/unary_function.depr.verify.cpp | 17 - .../depr.base/unary_function.pass.cpp | 33 - .../depr/depr.ios.members/io_state.pass.cpp | 33 - .../std/depr/depr.ios.members/lit.local.cfg | 2 - .../depr/depr.ios.members/open_mode.pass.cpp | 33 - .../depr/depr.ios.members/seek_dir.pass.cpp | 33 - .../depr/depr.ios.members/streamoff.pass.cpp | 31 - .../depr/depr.ios.members/streampos.pass.cpp | 30 - .../bind1st.depr_in_cxx11.verify.cpp | 22 - .../depr.lib.bind.1st/bind1st.pass.cpp | 29 - .../bind2nd.depr_in_cxx11.verify.cpp | 22 - .../depr.lib.bind.2nd/bind2nd.pass.cpp | 29 - .../binder1st.depr_in_cxx11.verify.cpp | 20 - .../depr.lib.binder.1st/binder1st.pass.cpp | 63 - .../binder2nd.depr_in_cxx11.verify.cpp | 20 - .../depr.lib.binder.2nd/binder2nd.pass.cpp | 63 - .../std/depr/depr.lib.binders/test_func.h | 32 - .../deprecated.verify.cpp | 102 - .../depr.istrstream.cons/ccp.pass.cpp | 49 - .../depr.istrstream.cons/ccp_size.pass.cpp | 49 - .../depr.istrstream.cons/cp.pass.cpp | 49 - .../depr.istrstream.cons/cp_size.pass.cpp | 49 - .../depr.istrstream.members/rdbuf.pass.cpp | 32 - .../depr.istrstream.members/str.pass.cpp | 31 - .../depr.istrstream/depr.verify.cpp | 15 - .../depr.istrstream/types.pass.cpp | 28 - .../cp_size_mode.pass.cpp | 47 - .../depr.ostrstream.cons/default.pass.cpp | 34 - .../depr.ostrstream.members/freeze.pass.cpp | 39 - .../depr.ostrstream.members/pcount.pass.cpp | 32 - .../depr.ostrstream.members/rdbuf.pass.cpp | 33 - .../depr.ostrstream.members/str.pass.cpp | 32 - .../depr.ostrstream/depr.verify.cpp | 15 - .../depr.ostrstream/types.pass.cpp | 28 - .../depr.strstream.cons/cp_size_mode.pass.cpp | 65 - .../depr.strstream.cons/default.pass.cpp | 42 - .../depr.strstream.dest/rdbuf.pass.cpp | 33 - .../depr.strstream.oper/freeze.pass.cpp | 39 - .../depr.strstream.oper/pcount.pass.cpp | 32 - .../depr.strstream.oper/str.pass.cpp | 32 - .../depr.strstream/depr.verify.cpp | 15 - .../depr.strstream/types.pass.cpp | 37 - .../depr.strstreambuf.cons/ccp_size.pass.cpp | 45 - .../cp_size_cp.pass.cpp | 102 - .../depr.strstreambuf.cons/cscp_size.pass.cpp | 45 - .../depr.strstreambuf.cons/cucp_size.pass.cpp | 45 - .../custom_alloc.pass.cpp | 56 - .../depr.strstreambuf.cons/default.pass.cpp | 49 - .../scp_size_scp.pass.cpp | 102 - .../ucp_size_ucp.pass.cpp | 102 - .../depr.strstreambuf.members/freeze.pass.cpp | 33 - .../overflow.pass.cpp | 35 - .../depr.strstreambuf.members/pcount.pass.cpp | 37 - .../depr.strstreambuf.members/str.pass.cpp | 33 - .../overflow.pass.cpp | 52 - .../pbackfail.pass.cpp | 67 - .../seekoff.pass.cpp | 62 - .../seekpos.pass.cpp | 44 - .../setbuf.pass.cpp | 32 - .../underflow.pass.cpp | 56 - .../depr.strstreambuf/depr.verify.cpp | 15 - .../depr.strstreambuf/types.pass.cpp | 26 - .../depr/depr.str.strstreams/lit.local.cfg | 2 - .../set.unexpected/get_unexpected.pass.cpp | 44 - .../set.unexpected/set_unexpected.pass.cpp | 40 - .../unexpected_handler.pass.cpp | 25 - .../unexpected/unexpected.pass.cpp | 31 - .../diagnostics/assertions/cassert.pass.cpp | 23 - .../nothing_to_do.pass.cpp | 13 - .../std/diagnostics/errno/cerrno.pass.cpp | 347 - .../domain.error/domain_error.pass.cpp | 45 - .../invalid_argument.pass.cpp | 45 - .../length.error/length_error.pass.cpp | 45 - .../logic.error/logic_error.pass.cpp | 45 - .../out.of.range/out_of_range.pass.cpp | 45 - .../overflow.error/overflow_error.pass.cpp | 45 - .../range.error/range_error.pass.cpp | 45 - .../runtime.error/runtime_error.pass.cpp | 45 - .../underflow.error/underflow_error.pass.cpp | 45 - .../test/std/diagnostics/syserr/errc.pass.cpp | 110 - .../syserr/is_error_code_enum.pass.cpp | 53 - .../syserr/is_error_condition_enum.pass.cpp | 54 - .../syserr.compare/cmp_error_code.pass.cpp | 41 - .../cmp_error_condition.pass.cpp | 41 - .../eq_error_code_error_code.pass.cpp | 108 - .../syserr.errcat.derived/message.pass.cpp | 36 - .../syserr.errcat.nonvirtuals/cmp.pass.cpp | 36 - .../default_ctor.pass.cpp | 38 - .../syserr.errcat.nonvirtuals/eq.pass.cpp | 29 - .../syserr.errcat.nonvirtuals/lt.pass.cpp | 29 - .../syserr.errcat.nonvirtuals/neq.pass.cpp | 29 - .../generic_category.pass.cpp | 65 - .../system_category.pass.cpp | 71 - .../error_category.pass.cpp | 23 - .../default_error_condition.pass.cpp | 28 - .../equivalent_error_code_int.pass.cpp | 27 - .../equivalent_int_error_condition.pass.cpp | 28 - .../ErrorCodeEnum.pass.cpp | 48 - .../default.pass.cpp | 27 - .../int_error_category.pass.cpp | 34 - .../lwg3629.pass.cpp | 40 - .../ErrorCodeEnum.pass.cpp | 49 - .../syserr.errcode.modifiers/assign.pass.cpp | 36 - .../syserr.errcode.modifiers/clear.pass.cpp | 33 - .../syserr.errcode.modifiers/lwg3629.pass.cpp | 41 - .../syserr.errcode.nonmembers/lt.pass.cpp | 30 - .../make_error_code.pass.cpp | 29 - .../stream_inserter.pass.cpp | 32 - .../syserr.errcode.observers/bool.pass.cpp | 37 - .../category.pass.cpp | 26 - .../default_error_condition.pass.cpp | 34 - .../syserr.errcode.observers/message.pass.cpp | 27 - .../syserr.errcode.observers/value.pass.cpp | 26 - .../syserr.errcode.overview/types.pass.cpp | 25 - .../ErrorConditionEnum.pass.cpp | 29 - .../default.pass.cpp | 27 - .../int_error_category.pass.cpp | 34 - .../lwg3629.pass.cpp | 40 - .../ErrorConditionEnum.pass.cpp | 30 - .../assign.pass.cpp | 36 - .../clear.pass.cpp | 33 - .../lwg3629.pass.cpp | 42 - .../lt.pass.cpp | 30 - .../make_error_condition.pass.cpp | 29 - .../bool.pass.cpp | 33 - .../category.pass.cpp | 26 - .../message.pass.cpp | 27 - .../value.pass.cpp | 26 - .../types.pass.cpp | 24 - .../syserr/syserr.hash/enabled_hash.pass.cpp | 30 - .../syserr/syserr.hash/error_code.pass.cpp | 47 - .../syserr.hash/error_condition.pass.cpp | 47 - .../ctor_error_code.pass.cpp | 31 - ...tor_error_code_const_char_pointer.pass.cpp | 32 - .../ctor_error_code_string.pass.cpp | 32 - .../ctor_int_error_category.pass.cpp | 31 - ...error_category_const_char_pointer.pass.cpp | 33 - .../ctor_int_error_category_string.pass.cpp | 33 - .../nothing_to_do.pass.cpp | 13 - .../ostream_joiner.cons.pass.cpp | 67 - .../make_ostream_joiner.pass.cpp | 55 - .../ostream_joiner.op.assign.pass.cpp | 127 - .../ostream_joiner.op.postincrement.pass.cpp | 52 - .../ostream_joiner.op.pretincrement.pass.cpp | 52 - .../ostream_joiner.op.star.pass.cpp | 52 - .../src/test/std/experimental/lit.local.cfg | 3 - .../memory.observer.ptr/compare.pass.cpp | 179 - .../memory.observer.ptr/ctor.convert.pass.cpp | 75 - .../ctor.copy_move.pass.cpp | 60 - .../memory.observer.ptr/ctor.default.pass.cpp | 50 - .../ctor.element_type.pass.cpp | 49 - .../memory.observer.ptr/ctor.nullptr.pass.cpp | 51 - .../memory/memory.observer.ptr/deref.pass.cpp | 65 - .../memory/memory.observer.ptr/get.pass.cpp | 50 - .../memory/memory.observer.ptr/hash.pass.cpp | 52 - .../make_observer.pass.cpp | 48 - .../operator-bool.pass.cpp | 61 - .../operator-element_type.pass.cpp | 58 - .../memory.observer.ptr/release.pass.cpp | 53 - .../memory/memory.observer.ptr/reset.pass.cpp | 61 - .../memory/memory.observer.ptr/swap.pass.cpp | 79 - .../types.compile.pass.cpp | 23 - .../simd/simd.class/simd_alias.pass.cpp | 37 - .../simd.class/simd_ctor_broadcast.pass.cpp | 125 - .../simd.class/simd_ctor_conversion.pass.cpp | 81 - .../simd.class/simd_ctor_default.pass.cpp | 108 - .../simd.class/simd_ctor_generator.pass.cpp | 57 - .../simd/simd.class/simd_ctor_load.pass.cpp | 92 - .../simd/simd.class/simd_subscr.pass.cpp | 53 - .../simd/simd.class/simd_width.pass.cpp | 31 - .../simd.mask.class/simd_mask_alias.pass.cpp | 37 - .../simd_mask_ctor_broadcast.pass.cpp | 35 - .../simd_mask_ctor_conversion.pass.cpp | 76 - .../simd_mask_ctor_default.pass.cpp | 123 - .../simd_mask_ctor_load.pass.cpp | 67 - .../simd.mask.class/simd_mask_subscr.pass.cpp | 52 - .../simd.mask.class/simd_mask_width.pass.cpp | 31 - .../simd.reference/reference_alias.pass.cpp | 32 - .../reference_assignment.pass.cpp | 85 - .../reference_value_type.pass.cpp | 50 - .../simd/simd.traits/is_abi_tag.pass.cpp | 42 - .../simd/simd.traits/is_simd.pass.cpp | 41 - .../simd.traits/is_simd_flag_type.pass.cpp | 46 - .../simd/simd.traits/is_simd_mask.pass.cpp | 40 - .../simd.traits/memory_alignment.pass.cpp | 119 - .../simd.traits/memory_alignment.verify.cpp | 42 - .../simd/simd.traits/simd_size.pass.cpp | 92 - .../simd/simd.traits/simd_size.verify.cpp | 42 - .../test/std/experimental/simd/test_utils.h | 106 - .../meta/meta.detect/detected_or.pass.cpp | 41 - .../meta/meta.detect/detected_t.pass.cpp | 49 - .../meta/meta.detect/is_detected.pass.cpp | 38 - .../is_detected_convertible.pass.cpp | 51 - .../meta.detect/is_detected_exact.pass.cpp | 50 - .../meta/meta.detect/nonesuch.pass.cpp | 29 - .../meta/meta.detect/nonesuch.verify.cpp | 32 - .../assign.pass.cpp | 26 - .../assign_convertible_element_type.pass.cpp | 36 - ...ssign_convertible_propagate_const.pass.cpp | 27 - .../assign_element_type.pass.cpp | 36 - .../move_assign.pass.cpp | 34 - .../move_assign_convertible.pass.cpp | 35 - ...ssign_convertible_propagate_const.pass.cpp | 35 - ...rtible_element_type.explicit.ctor.pass.cpp | 29 - ...le_element_type.non-explicit.ctor.pass.cpp | 33 - ...ertible_propagate_const.copy_ctor.pass.cpp | 27 - ...ropagate_const.explicit.move_ctor.pass.cpp | 30 - ...ertible_propagate_const.move_ctor.pass.cpp | 32 - .../propagate_const.ctors/copy_ctor.pass.cpp | 26 - .../element_type.explicit.ctor.pass.cpp | 29 - .../element_type.non-explicit.ctor.pass.cpp | 30 - .../propagate_const.ctors/move_ctor.pass.cpp | 31 - .../dereference.pass.cpp | 36 - ...xplicit_operator_element_type_ptr.pass.cpp | 26 - .../get.pass.cpp | 36 - .../op_arrow.pass.cpp | 36 - .../operator_element_type_ptr.pass.cpp | 37 - .../dereference.pass.cpp | 31 - ...xplicit_operator_element_type_ptr.pass.cpp | 28 - .../propagate_const.observers/get.pass.cpp | 31 - .../op_arrow.pass.cpp | 31 - .../operator_element_type_ptr.pass.cpp | 30 - .../propagate_const.class/swap.pass.cpp | 33 - .../propagate_const.nonmembers/hash.pass.cpp | 46 - .../equal_to.pass.cpp | 38 - .../greater.pass.cpp | 40 - .../greater_equal.pass.cpp | 40 - .../less.pass.cpp | 40 - .../less_equal.pass.cpp | 40 - .../not_equal_to.pass.cpp | 38 - .../propagate_const.relops/equal.pass.cpp | 66 - .../greater_equal.pass.cpp | 56 - .../greater_than.pass.cpp | 52 - .../less_equal.pass.cpp | 57 - .../propagate_const.relops/less_than.pass.cpp | 52 - .../propagate_const.relops/not_equal.pass.cpp | 64 - .../propagate_const.nonmembers/swap.pass.cpp | 33 - .../utility.erased.type/erased_type.pass.cpp | 21 - .../utility/utility.synop/includes.pass.cpp | 23 - .../file.streams/c.files/cinttypes.pass.cpp | 936 - .../file.streams/c.files/cstdio.pass.cpp | 168 - .../c.files/gets.compile.fail.cpp | 21 - .../filebuf.assign/member_swap.pass.cpp | 59 - .../filebuf.assign/move_assign.pass.cpp | 59 - .../filebuf.assign/nonmember_swap.pass.cpp | 105 - .../nonmember_swap_min.pass.cpp | 62 - .../fstreams/filebuf.cons/default.pass.cpp | 35 - .../fstreams/filebuf.cons/move.pass.cpp | 57 - .../fstreams/filebuf.members/close.pass.cpp | 61 - .../native_handle.assert.pass.cpp | 32 - .../filebuf.members/native_handle.pass.cpp | 58 - .../filebuf.members/open_path.pass.cpp | 63 - .../filebuf.members/open_pointer.pass.cpp | 110 - .../filebuf.virtuals/overflow.pass.cpp | 149 - .../filebuf.virtuals/pbackfail.pass.cpp | 67 - .../filebuf.virtuals/seekoff.pass.cpp | 70 - .../fstreams/filebuf.virtuals/setbuf.pass.cpp | 120 - .../fstreams/filebuf.virtuals/underflow.dat | 1 - .../filebuf.virtuals/underflow.pass.cpp | 130 - .../filebuf.virtuals/underflow_utf8.dat | 1 - .../fstreams/filebuf/types.pass.cpp | 44 - .../fstream.assign/member_swap.pass.cpp | 96 - .../fstream.assign/move_assign.pass.cpp | 53 - .../fstream.assign/nonmember_swap.pass.cpp | 98 - .../fstreams/fstream.cons/default.pass.cpp | 33 - .../fstreams/fstream.cons/move.pass.cpp | 51 - .../fstreams/fstream.cons/path.pass.cpp | 56 - .../fstreams/fstream.cons/pointer.pass.cpp | 99 - .../fstreams/fstream.cons/string.pass.cpp | 51 - .../fstreams/fstream.members/close.pass.cpp | 47 - .../native_handle.assert.pass.cpp | 32 - .../fstream.members/native_handle.pass.cpp | 27 - .../fstream.members/open_path.pass.cpp | 59 - .../fstream.members/open_pointer.pass.cpp | 109 - .../fstream.members/open_string.pass.cpp | 55 - .../fstreams/fstream.members/rdbuf.pass.cpp | 36 - .../fstreams/fstream/types.pass.cpp | 44 - .../ifstream.assign/member_swap.pass.cpp | 49 - .../ifstream.assign/move_assign.pass.cpp | 45 - .../ifstream.assign/nonmember_swap.pass.cpp | 50 - .../fstreams/ifstream.assign/test.dat | 1 - .../fstreams/ifstream.assign/test2.dat | 1 - .../fstreams/ifstream.cons/default.pass.cpp | 33 - .../fstreams/ifstream.cons/move.pass.cpp | 43 - .../fstreams/ifstream.cons/path.pass.cpp | 64 - .../fstreams/ifstream.cons/pointer.pass.cpp | 48 - .../fstreams/ifstream.cons/string.pass.cpp | 48 - .../fstreams/ifstream.cons/test.dat | 1 - .../ifstream.members/buffered_reads.pass.cpp | 230 - .../fstreams/ifstream.members/close.pass.cpp | 45 - .../native_handle.assert.pass.cpp | 32 - .../ifstream.members/native_handle.pass.cpp | 27 - .../ifstream.members/open_path.pass.cpp | 57 - .../ifstream.members/open_pointer.pass.cpp | 53 - .../ifstream.members/open_string.pass.cpp | 53 - .../fstreams/ifstream.members/rdbuf.pass.cpp | 39 - .../fstreams/ifstream.members/test.dat | 1 - .../fstreams/ifstream/types.pass.cpp | 44 - .../native_handle_assert_test_helpers.h | 28 - .../fstreams/native_handle_test_helpers.h | 84 - .../ofstream.assign/member_swap.pass.cpp | 104 - .../ofstream.assign/move_assign.pass.cpp | 55 - .../ofstream.assign/nonmember_swap.pass.cpp | 105 - .../fstreams/ofstream.cons/default.pass.cpp | 33 - .../fstreams/ofstream.cons/move.pass.cpp | 53 - .../fstreams/ofstream.cons/path.pass.cpp | 78 - .../fstreams/ofstream.cons/pointer.pass.cpp | 113 - .../fstreams/ofstream.cons/string.pass.cpp | 63 - .../ofstream.members/buffered_writes.pass.cpp | 228 - .../fstreams/ofstream.members/close.pass.cpp | 47 - .../native_handle.assert.pass.cpp | 32 - .../ofstream.members/native_handle.pass.cpp | 27 - .../ofstream.members/open_path.pass.cpp | 69 - .../ofstream.members/open_pointer.pass.cpp | 116 - .../ofstream.members/open_string.pass.cpp | 63 - .../fstreams/ofstream.members/rdbuf.pass.cpp | 41 - .../fstreams/ofstream/types.pass.cpp | 44 - .../file.streams/fstreams/types.h | 93 - .../input.output/file.streams/lit.local.cfg | 6 - .../directory_entry.cons/copy.pass.cpp | 77 - .../directory_entry.cons/copy_assign.pass.cpp | 85 - .../directory_entry.cons/default.pass.cpp | 35 - .../default_const.pass.cpp | 35 - .../directory_entry.cons/move.pass.cpp | 75 - .../directory_entry.cons/move_assign.pass.cpp | 81 - .../directory_entry.cons/path.pass.cpp | 211 - .../directory_entry.io.pass.cpp | 55 - .../directory_entry.mods/assign.pass.cpp | 156 - .../directory_entry.mods/refresh.pass.cpp | 377 - .../replace_filename.pass.cpp | 181 - .../directory_entry.obs/comparisons.pass.cpp | 54 - .../directory_entry.obs/file_size.pass.cpp | 264 - .../file_type_obs.pass.cpp | 288 - .../hard_link_count.pass.cpp | 268 - .../last_write_time.pass.cpp | 232 - .../directory_entry.obs/path.pass.cpp | 91 - .../directory_entry.obs/status.pass.cpp | 62 - .../symlink_status.pass.cpp | 61 - .../class.directory_entry/lit.local.cfg | 5 - .../directory_iterator.members/copy.pass.cpp | 65 - .../copy_assign.pass.cpp | 107 - .../directory_iterator.members/ctor.pass.cpp | 280 - .../default_ctor.pass.cpp | 38 - .../directory_iterator.members/equal.pass.cpp | 36 - .../increment.pass.cpp | 124 - .../directory_iterator.members/move.pass.cpp | 68 - .../move_assign.pass.cpp | 125 - .../begin_end.pass.cpp | 68 - ...rator_concept_conformance.compile.pass.cpp | 44 - ...range_concept_conformance.compile.pass.cpp | 44 - .../class.directory_iterator/types.pass.cpp | 42 - .../file_status.cons.pass.cpp | 63 - .../file_status.mods.pass.cpp | 52 - .../file_status.obs.pass.cpp | 48 - .../file_status.status.eq.ops.pass.cpp | 54 - .../filesystem_error.members.pass.cpp | 106 - .../class.path/path.itr/iterator.pass.cpp | 139 - .../path.member/path.append.pass.cpp | 406 - .../path.member/path.assign/copy.pass.cpp | 39 - .../path.member/path.assign/move.pass.cpp | 47 - .../path.member/path.assign/source.pass.cpp | 250 - .../path.member/path.charconv.pass.cpp | 415 - .../path.member/path.compare.pass.cpp | 203 - .../path.member/path.concat.pass.cpp | 413 - .../path.member/path.construct/copy.pass.cpp | 37 - .../path.construct/default.pass.cpp | 32 - .../path.member/path.construct/move.pass.cpp | 45 - .../path.construct/source.pass.cpp | 142 - .../path.decompose/empty.verify.cpp | 24 - .../path.decompose/path.decompose.pass.cpp | 262 - .../path.gen/lexically_normal.pass.cpp | 142 - .../lexically_relative_and_proximate.pass.cpp | 99 - .../generic_string_alloc.pass.cpp | 76 - .../path.generic.obs/named_overloads.pass.cpp | 83 - .../path.member/path.hash_enabled.pass.cpp | 26 - .../path.member/path.modifiers/clear.pass.cpp | 45 - .../path.modifiers/make_preferred.pass.cpp | 63 - .../path.modifiers/remove_filename.pass.cpp | 85 - .../path.modifiers/replace_extension.pass.cpp | 73 - .../path.modifiers/replace_filename.pass.cpp | 78 - .../path.member/path.modifiers/swap.pass.cpp | 81 - .../path.native.obs/c_str.pass.cpp | 45 - .../path.native.obs/named_overloads.pass.cpp | 77 - .../path.native.obs/native.pass.cpp | 43 - .../path.native.obs/operator_string.pass.cpp | 50 - .../tested_in_path_decompose.pass.cpp | 33 - .../path.nonmember/append_op.pass.cpp | 35 - .../path.nonmember/append_op.verify.cpp | 29 - .../path.nonmember/comparison_ops.verify.cpp | 34 - .../comparison_ops_tested_elsewhere.pass.cpp | 15 - .../hash.tested_elswhere.compile.pass.cpp | 10 - ...ash_value.tested_elswhere.compile.pass.cpp | 10 - .../path.nonmember/path.factory.pass.cpp | 78 - .../path.nonmember/path.io.pass.cpp | 106 - .../path.io.unicode_bug.pass.cpp | 72 - .../class.path/path.nonmember/swap.pass.cpp | 67 - .../filesystems/class.path/path_helper.h | 102 - ...range_concept_conformance.compile.pass.cpp | 36 - .../filesystems/class.path/synop.pass.cpp | 49 - ...range_concept_conformance.compile.pass.cpp | 43 - .../rec.dir.itr.members/copy.pass.cpp | 85 - .../rec.dir.itr.members/copy_assign.pass.cpp | 170 - .../rec.dir.itr.members/ctor.pass.cpp | 280 - .../rec.dir.itr.members/depth.pass.cpp | 71 - .../disable_recursion_pending.pass.cpp | 47 - .../rec.dir.itr.members/equal.pass.cpp | 36 - .../rec.dir.itr.members/increment.pass.cpp | 517 - .../rec.dir.itr.members/move.pass.cpp | 86 - .../rec.dir.itr.members/move_assign.pass.cpp | 178 - .../rec.dir.itr.members/pop.pass.cpp | 98 - .../recursion_pending.pass.cpp | 174 - .../rec.dir.itr.nonmembers/begin_end.pass.cpp | 68 - .../filesystems/fs.enum/check_bitmask_types.h | 75 - .../fs.enum/enum.copy_options.pass.cpp | 65 - .../fs.enum/enum.directory_options.pass.cpp | 45 - .../fs.enum/enum.file_type.pass.cpp | 49 - .../fs.enum/enum.path.format.pass.cpp | 37 - .../fs.enum/enum.perm_options.pass.cpp | 48 - .../filesystems/fs.enum/enum.perms.pass.cpp | 64 - .../fs.error.report/tested_elsewhere.pass.cpp | 13 - .../enable_borrowed_range.compile.pass.cpp | 33 - .../enable_view.compile.pass.cpp | 33 - .../file_time_type.pass.cpp | 41 - ...file_time_type_resolution.compile.pass.cpp | 29 - .../space_info.pass.cpp | 40 - .../fs.op.absolute/absolute.pass.cpp | 63 - .../fs.op.canonical/canonical.pass.cpp | 128 - .../fs.op.funcs/fs.op.copy/copy.pass.cpp | 334 - .../fs.op.copy_file/copy_file.pass.cpp | 203 - .../fs.op.copy_file/copy_file_large.pass.cpp | 89 - .../fs.op.copy_symlink/copy_symlink.pass.cpp | 112 - .../create_directories.pass.cpp | 184 - .../create_directory.pass.cpp | 148 - .../create_directory_with_attributes.pass.cpp | 189 - .../create_directory_symlink.pass.cpp | 69 - .../create_hard_link.pass.cpp | 84 - .../create_symlink.pass.cpp | 101 - .../fs.op.current_path/current_path.pass.cpp | 107 - .../fs.op.equivalent/equivalent.pass.cpp | 130 - .../fs.op.funcs/fs.op.exists/exists.pass.cpp | 132 - .../fs.op.file_size/file_size.pass.cpp | 99 - .../fs.op.hard_lk_ct/hard_link_count.pass.cpp | 114 - .../is_block_file.pass.cpp | 101 - .../is_character_file.pass.cpp | 101 - .../fs.op.is_directory/is_directory.pass.cpp | 110 - .../fs.op.is_empty/is_empty.pass.cpp | 149 - .../fs.op.is_fifo/is_fifo.pass.cpp | 101 - .../fs.op.is_other/is_other.pass.cpp | 101 - .../is_regular_file.pass.cpp | 104 - .../fs.op.is_socket/is_socket.pass.cpp | 101 - .../fs.op.is_symlink/is_symlink.pass.cpp | 124 - .../last_write_time.pass.cpp | 662 - .../fs.op.permissions/permissions.pass.cpp | 200 - .../fs.op.proximate/proximate.pass.cpp | 174 - .../fs.op.read_symlink/read_symlink.pass.cpp | 105 - .../fs.op.relative/relative.pass.cpp | 156 - .../fs.op.funcs/fs.op.remove/remove.pass.cpp | 119 - .../fs.op.remove_all/remove_all.pass.cpp | 164 - .../fs.op.remove_all/toctou.pass.cpp | 92 - .../fs.op.funcs/fs.op.rename/rename.pass.cpp | 164 - .../fs.op.resize_file/resize_file.pass.cpp | 113 - .../fs.op.funcs/fs.op.space/space.pass.cpp | 124 - .../fs.op.funcs/fs.op.status/status.pass.cpp | 190 - .../fs.op.status_known/status_known.pass.cpp | 62 - .../symlink_status.pass.cpp | 216 - .../temp_directory_path.pass.cpp | 172 - .../weakly_canonical.pass.cpp | 84 - .../namespace.compile.pass.cpp | 18 - .../input.output.general/lit.local.cfg | 3 - .../nothing_to_do.pass.cpp | 13 - .../ext.manip/get_money.pass.cpp | 99 - .../ext.manip/get_time.pass.cpp | 80 - .../ext.manip/put_money.pass.cpp | 115 - .../ext.manip/put_time.pass.cpp | 91 - .../iostream.assign/member_swap.pass.cpp | 90 - .../iostream.assign/move_assign.pass.cpp | 93 - .../iostreamclass/iostream.cons/move.pass.cpp | 79 - .../iostream.cons/streambuf.pass.cpp | 60 - .../iostream.dest/nothing_to_do.pass.cpp | 13 - .../iostreamclass/types.pass.cpp | 40 - .../bool.pass.cpp | 123 - .../double.pass.cpp | 123 - .../float.pass.cpp | 123 - .../istream.formatted.arithmetic/int.pass.cpp | 124 - .../long.pass.cpp | 123 - .../long_double.pass.cpp | 123 - .../long_long.pass.cpp | 123 - .../pointer.pass.cpp | 143 - .../short.pass.cpp | 124 - .../unsigned_int.pass.cpp | 123 - .../unsigned_long.pass.cpp | 123 - .../unsigned_long_long.pass.cpp | 123 - .../unsigned_short.pass.cpp | 123 - .../tested_elsewhere.pass.cpp | 13 - .../istream_extractors/basic_ios.pass.cpp | 41 - .../istream_extractors/chart.pass.cpp | 169 - .../istream_extractors/ios_base.pass.cpp | 39 - .../istream_extractors/istream.pass.cpp | 41 - .../istream_extractors/signed_char.pass.cpp | 110 - .../signed_char_pointer.pass.cpp | 149 - .../istream_extractors/streambuf.pass.cpp | 178 - .../istream_extractors/unsigned_char.pass.cpp | 110 - .../unsigned_char_pointer.pass.cpp | 149 - .../wchar_t_pointer.pass.cpp | 204 - .../input.streams/istream.manip/ws.pass.cpp | 123 - .../istream.rvalue/not_istreamable.verify.cpp | 18 - .../istream.rvalue/rvalue.pass.cpp | 86 - .../istream.unformatted/get.pass.cpp | 152 - .../istream.unformatted/get_chart.pass.cpp | 157 - .../get_pointer_size.pass.cpp | 199 - .../get_pointer_size_chart.pass.cpp | 199 - .../get_streambuf.pass.cpp | 166 - .../get_streambuf_chart.pass.cpp | 166 - .../getline_pointer_size.pass.cpp | 183 - .../getline_pointer_size_chart.pass.cpp | 183 - .../istream.unformatted/ignore.pass.cpp | 117 - .../istream.unformatted/ignore_0xff.pass.cpp | 37 - .../istream.unformatted/peek.pass.cpp | 109 - .../istream.unformatted/putback.pass.cpp | 128 - .../istream.unformatted/read.pass.cpp | 123 - .../istream.unformatted/readsome.pass.cpp | 90 - .../istream.unformatted/seekg.pass.cpp | 80 - .../istream.unformatted/seekg_off.pass.cpp | 90 - .../istream.unformatted/sync.pass.cpp | 212 - .../istream.unformatted/tellg.pass.cpp | 68 - .../istream.unformatted/unget.pass.cpp | 120 - .../istream.assign/member_swap.pass.cpp | 90 - .../istream.assign/move_assign.pass.cpp | 93 - .../istream/istream.cons/copy.verify.cpp | 51 - .../istream/istream.cons/move.pass.cpp | 77 - .../istream/istream.cons/streambuf.pass.cpp | 60 - .../istream/istream_sentry/ctor.pass.cpp | 134 - .../input.streams/istream/types.pass.cpp | 38 - .../iostream.format/lit.local.cfg | 3 - .../ostream.assign/member_swap.pass.cpp | 90 - .../ostream.assign/move_assign.pass.cpp | 93 - .../output.streams/ostream.cons/move.pass.cpp | 75 - .../ostream.cons/streambuf.pass.cpp | 58 - .../locale-specific_form.pass.cpp | 2199 -- .../ostream.formatted.print/print.pass.cpp | 192 - .../ostream.formatted.print/print_tests.h | 83 - .../ostream.formatted.print/println.pass.cpp | 62 - .../vprint_nonunicode.pass.cpp | 208 - .../vprint_unicode.pass.cpp | 207 - .../tested_elsewhere.pass.cpp | 13 - .../bool.pass.cpp | 94 - .../double.pass.cpp | 86 - .../float.pass.cpp | 86 - .../ostream.inserters.arithmetic/int.pass.cpp | 86 - .../long.pass.cpp | 86 - .../long_double.pass.cpp | 86 - .../long_long.pass.cpp | 86 - .../minmax_showbase.pass.cpp | 102 - .../minus1.pass.cpp | 117 - .../pointer.pass.cpp | 94 - .../pointer.volatile.pass.cpp | 94 - .../short.pass.cpp | 86 - .../unsigned_int.pass.cpp | 86 - .../unsigned_long.pass.cpp | 86 - .../unsigned_long_long.pass.cpp | 86 - .../unsigned_short.pass.cpp | 86 - .../CharT.pass.cpp | 93 - .../CharT_pointer.pass.cpp | 93 - .../ostream.inserters.character/char.pass.cpp | 91 - .../char_pointer.pass.cpp | 91 - .../char_to_wide.pass.cpp | 93 - .../char_to_wide_pointer.pass.cpp | 93 - .../signed_char.pass.cpp | 91 - .../signed_char_pointer.pass.cpp | 91 - .../unsigned_char.pass.cpp | 91 - .../unsigned_char_pointer.pass.cpp | 91 - .../ostream.inserters/basic_ios.pass.cpp | 73 - .../ostream.inserters/ios_base.pass.cpp | 64 - .../ostream.inserters/ostream.pass.cpp | 72 - .../ostream.inserters/streambuf.pass.cpp | 83 - .../ostream.manip/endl.pass.cpp | 85 - .../ostream.manip/ends.pass.cpp | 76 - .../ostream.manip/flush.pass.cpp | 63 - .../ostream.rvalue/not_ostreamable.verify.cpp | 17 - .../ostream.rvalue/rvalue.pass.cpp | 82 - .../ostream.seeks/seekp.pass.cpp | 71 - .../ostream.seeks/seekp2.pass.cpp | 73 - .../ostream.seeks/tellp.pass.cpp | 57 - .../ostream.unformatted/flush.pass.cpp | 57 - .../ostream.unformatted/put.pass.cpp | 87 - .../ostream.unformatted/write.pass.cpp | 87 - .../deleted_output_functions.verify.cpp | 64 - .../output.streams/ostream/types.pass.cpp | 38 - .../ostream_sentry/construct.pass.cpp | 64 - .../ostream_sentry/destruct.pass.cpp | 80 - .../iostream.format/print.fun/echo.sh | 1 - .../print.fun/includes.compile.pass.cpp | 28 - .../print.fun/no_file_description.pass.cpp | 103 - .../print.fun/print.file.pass.cpp | 139 - .../iostream.format/print.fun/print.sh.cpp | 44 - .../iostream.format/print.fun/print_tests.h | 83 - .../print.fun/println.file.pass.cpp | 142 - .../iostream.format/print.fun/println.sh.cpp | 51 - .../print.fun/vprint_nonunicode.file.pass.cpp | 148 - .../print.fun/vprint_nonunicode.sh.cpp | 46 - .../print.fun/vprint_unicode.file.pass.cpp | 155 - .../print.fun/vprint_unicode.sh.cpp | 46 - .../quoted.manip/quoted.pass.cpp | 193 - .../quoted.manip/quoted_char.verify.cpp | 31 - .../quoted_traits.compile.pass.cpp | 166 - .../quoted.manip/quoted_traits.verify.cpp | 35 - .../std.manip/resetiosflags.pass.cpp | 61 - .../std.manip/setbase.pass.cpp | 81 - .../std.manip/setfill.pass.cpp | 44 - .../std.manip/setiosflags.pass.cpp | 61 - .../std.manip/setprecision.pass.cpp | 57 - .../iostream.format/std.manip/setw.pass.cpp | 57 - .../iostream.forward/iosfwd.pass.cpp | 166 - .../iostream.forward/lit.local.cfg | 3 - .../iostream.objects/init.pass.cpp | 100 - .../iostream.objects/lit.local.cfg | 3 - .../narrow.stream.objects/cerr.sh.cpp | 30 - .../narrow.stream.objects/cin.sh.cpp | 34 - .../narrow.stream.objects/clog.sh.cpp | 25 - .../narrow.stream.objects/cout.sh.cpp | 23 - .../wide.stream.objects/test.dat | Bin 16 -> 0 bytes .../wide.stream.objects/wcerr-imbue.sh.cpp | 42 - .../wcerr-wide-mode.sh.cpp | 32 - .../wide.stream.objects/wcerr.sh.cpp | 30 - .../wide.stream.objects/wcin-imbue.sh.cpp | 48 - .../wide.stream.objects/wcin-wide-mode.sh.cpp | 34 - .../wide.stream.objects/wcin.sh.cpp | 31 - .../wide.stream.objects/wclog.sh.cpp | 25 - .../wide.stream.objects/wcout-imbue.sh.cpp | 42 - .../wcout-wide-mode.sh.cpp | 32 - .../wide.stream.objects/wcout.sh.cpp | 25 - .../fpos/fpos.members/state.pass.cpp | 27 - .../fpos/fpos.operations/addition.pass.cpp | 31 - .../fpos/fpos.operations/ctor_int.pass.cpp | 27 - .../fpos/fpos.operations/difference.pass.cpp | 29 - .../fpos/fpos.operations/eq_int.pass.cpp | 29 - .../fpos/fpos.operations/fpos.pass.cpp | 101 - .../fpos/fpos.operations/offset.pass.cpp | 28 - .../fpos/fpos.operations/streamsize.pass.cpp | 27 - .../fpos/fpos.operations/subtraction.pass.cpp | 31 - .../ios.base/fmtflags.state/flags.pass.cpp | 36 - .../fmtflags.state/flags_fmtflags.pass.cpp | 39 - .../fmtflags.state/precision.pass.cpp | 36 - .../precision_streamsize.pass.cpp | 39 - .../fmtflags.state/setf_fmtflags.pass.cpp | 39 - .../setf_fmtflags_mask.pass.cpp | 39 - .../fmtflags.state/unsetf_mask.pass.cpp | 38 - .../ios.base/fmtflags.state/width.pass.cpp | 36 - .../fmtflags.state/width_streamsize.pass.cpp | 39 - .../register_callback.pass.cpp | 58 - .../ios.base/ios.base.cons/dtor.pass.cpp | 89 - .../ios.base/ios.base.locales/getloc.pass.cpp | 37 - .../ios.base/ios.base.locales/imbue.pass.cpp | 93 - .../ios.base/ios.base.storage/iword.pass.cpp | 48 - .../ios.base/ios.base.storage/pword.pass.cpp | 49 - .../ios.base/ios.base.storage/xalloc.pass.cpp | 27 - .../sync_with_stdio.pass.cpp | 30 - .../ios_Init/ios_Init.multiple.pass.cpp | 36 - .../ios_Init/tested_elsewhere.pass.cpp | 13 - .../ctor_char_pointer_error_code.pass.cpp | 44 - .../ctor_string_error_code.pass.cpp | 48 - .../ios.types/ios_fmtflags/fmtflags.pass.cpp | 84 - .../ios.types/ios_iostate/iostate.pass.cpp | 39 - .../ios.types/ios_openmode/openmode.pass.cpp | 45 - .../ios.types/ios_seekdir/seekdir.pass.cpp | 29 - .../basic.ios.cons/ctor_streambuf.pass.cpp | 51 - .../ios/basic.ios.members/copyfmt.pass.cpp | 195 - .../ios/basic.ios.members/fill.pass.cpp | 26 - .../basic.ios.members/fill_char_type.pass.cpp | 28 - .../ios/basic.ios.members/imbue.pass.cpp | 105 - .../ios/basic.ios.members/move.pass.cpp | 142 - .../ios/basic.ios.members/narrow.pass.cpp | 29 - .../ios/basic.ios.members/rdbuf.pass.cpp | 34 - .../rdbuf_streambuf.pass.cpp | 37 - .../ios/basic.ios.members/set_rdbuf.pass.cpp | 65 - .../ios/basic.ios.members/swap.pass.cpp | 170 - .../ios/basic.ios.members/tie.pass.cpp | 26 - .../basic.ios.members/tie_ostream.pass.cpp | 29 - .../ios/basic.ios.members/widen.pass.cpp | 26 - .../ios/iostate.flags/bad.pass.cpp | 44 - .../ios/iostate.flags/bool.pass.cpp | 39 - .../ios/iostate.flags/clear.pass.cpp | 71 - .../ios/iostate.flags/eof.pass.cpp | 40 - .../ios/iostate.flags/exceptions.pass.cpp | 36 - .../iostate.flags/exceptions_iostate.pass.cpp | 53 - .../ios/iostate.flags/fail.pass.cpp | 44 - .../ios/iostate.flags/good.pass.cpp | 38 - .../ios/iostate.flags/not.pass.cpp | 28 - .../ios/iostate.flags/rdstate.pass.cpp | 28 - .../ios/iostate.flags/setstate.pass.cpp | 70 - .../iostreams.base/ios/types.pass.cpp | 36 - .../is_error_code_enum_io_errc.pass.cpp | 24 - .../input.output/iostreams.base/lit.local.cfg | 3 - .../adjustfield.manip/internal.pass.cpp | 32 - .../adjustfield.manip/left.pass.cpp | 32 - .../adjustfield.manip/right.pass.cpp | 32 - .../basefield.manip/dec.pass.cpp | 32 - .../basefield.manip/hex.pass.cpp | 32 - .../basefield.manip/oct.pass.cpp | 32 - .../iostream_category.pass.cpp | 44 - .../error.reporting/make_error_code.pass.cpp | 27 - .../make_error_condition.pass.cpp | 27 - .../floatfield.manip/defaultfloat.pass.cpp | 33 - .../floatfield.manip/fixed.pass.cpp | 32 - .../floatfield.manip/hexfloat.pass.cpp | 33 - .../floatfield.manip/scientific.pass.cpp | 32 - .../fmtflags.manip/boolalpha.pass.cpp | 32 - .../fmtflags.manip/noboolalpha.pass.cpp | 33 - .../fmtflags.manip/noshowbase.pass.cpp | 33 - .../fmtflags.manip/noshowpoint.pass.cpp | 33 - .../fmtflags.manip/noshowpos.pass.cpp | 33 - .../fmtflags.manip/noskipws.pass.cpp | 33 - .../fmtflags.manip/nounitbuf.pass.cpp | 33 - .../fmtflags.manip/nouppercase.pass.cpp | 33 - .../fmtflags.manip/showbase.pass.cpp | 32 - .../fmtflags.manip/showpoint.pass.cpp | 32 - .../fmtflags.manip/showpos.pass.cpp | 32 - .../fmtflags.manip/skipws.pass.cpp | 32 - .../fmtflags.manip/unitbuf.pass.cpp | 32 - .../fmtflags.manip/uppercase.pass.cpp | 32 - .../stream.types/streamoff.pass.cpp | 24 - .../stream.types/streamsize.pass.cpp | 24 - .../tested_elsewhere.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../iostreams.requirements/lit.local.cfg | 3 - .../input.output/stream.buffers/lit.local.cfg | 3 - .../streambuf.reqts/tested_elsewhere.pass.cpp | 13 - .../streambuf/streambuf.cons/copy.pass.cpp | 92 - .../streambuf/streambuf.cons/copy.verify.cpp | 26 - .../streambuf.cons/default.compile.fail.cpp | 23 - .../streambuf/streambuf.cons/default.pass.cpp | 65 - .../streambuf.buffer/pubseekoff.pass.cpp | 38 - .../streambuf.buffer/pubseekpos.pass.cpp | 37 - .../streambuf.buffer/pubsetbuf.pass.cpp | 36 - .../streambuf.buffer/pubsync.pass.cpp | 36 - .../streambuf.locales/locales.pass.cpp | 54 - .../streambuf.pub.get/in_avail.pass.cpp | 55 - .../streambuf.pub.get/sbumpc.pass.cpp | 59 - .../streambuf.pub.get/sgetc.pass.cpp | 59 - .../streambuf.pub.get/sgetn.pass.cpp | 44 - .../streambuf.pub.get/snextc.pass.cpp | 59 - .../streambuf.pub.pback/sputbackc.pass.cpp | 59 - .../streambuf.pub.pback/sungetc.pass.cpp | 59 - .../streambuf.pub.put/sputc.pass.cpp | 66 - .../streambuf.pub.put/sputn.pass.cpp | 44 - .../streambuf.assign/assign.pass.cpp | 99 - .../streambuf.assign/swap.pass.cpp | 108 - .../streambuf.get.area/gbump.pass.cpp | 64 - .../streambuf.get.area/setg.pass.cpp | 54 - .../streambuf.put.area/pbump.pass.cpp | 66 - .../streambuf.put.area/pbump2gig.pass.cpp | 51 - .../streambuf.put.area/setp.pass.cpp | 54 - .../tested_elsewhere.pass.cpp | 13 - .../streambuf.virt.get/showmanyc.pass.cpp | 36 - .../streambuf.virt.get/uflow.pass.cpp | 36 - .../streambuf.virt.get/underflow.pass.cpp | 33 - .../streambuf.virt.get/xsgetn.pass.cpp | 45 - .../nothing_to_do.pass.cpp | 13 - .../streambuf.virt.pback/pbackfail.pass.cpp | 35 - .../streambuf.virt.put/overflow.pass.cpp | 33 - .../xsputn.PR14074.pass.cpp | 66 - .../streambuf.virt.put/xsputn.pass.cpp | 48 - .../stream.buffers/streambuf/types.pass.cpp | 44 - .../string.streams/helper_concepts.h | 17 - .../string.streams/helper_string_macros.h | 18 - .../string.streams/helper_types.h | 75 - .../istringstream.assign/member_swap.pass.cpp | 61 - .../istringstream.assign/move.pass.cpp | 89 - .../nonmember_swap.pass.cpp | 64 - .../istringstream.cons/default.pass.cpp | 69 - .../istringstream.cons/mode.alloc.pass.cpp | 38 - .../istringstream.cons/move.pass.cpp | 51 - .../string-alloc.mode.pass.cpp | 49 - .../istringstream.cons/string.alloc.pass.cpp | 45 - .../string.mode.alloc.pass.cpp | 44 - .../string.move.mode.pass.cpp | 46 - .../istringstream.cons/string.pass.cpp | 72 - .../string_view.alloc.pass.cpp | 145 - .../string_view.mode.alloc.pass.cpp | 189 - .../string_view.mode.pass.cpp | 150 - .../istringstream.members/str.alloc.pass.cpp | 44 - .../str.allocator_propagation.pass.cpp | 144 - .../istringstream.members/str.move.pass.cpp | 56 - .../istringstream.members/str.pass.cpp | 61 - .../str.string-alloc.pass.cpp | 45 - .../str.string.move.pass.cpp | 42 - .../str.string_view.pass.cpp | 110 - .../istringstream.members/view.pass.cpp | 54 - .../istringstream/types.compile.pass.cpp | 75 - .../input.output/string.streams/lit.local.cfg | 3 - .../ostringstream.assign/member_swap.pass.cpp | 53 - .../ostringstream.assign/move.pass.cpp | 49 - .../nonmember_swap.pass.cpp | 53 - .../ostringstream.cons/default.pass.cpp | 69 - .../ostringstream.cons/mode.alloc.pass.cpp | 38 - .../ostringstream.cons/move.pass.cpp | 47 - .../string-alloc.mode.pass.cpp | 49 - .../ostringstream.cons/string.alloc.pass.cpp | 45 - .../string.mode.alloc.pass.cpp | 44 - .../string.move.mode.pass.cpp | 46 - .../ostringstream.cons/string.pass.cpp | 64 - .../string_view.alloc.pass.cpp | 145 - .../string_view.mode.alloc.pass.cpp | 189 - .../string_view.mode.pass.cpp | 150 - .../ostringstream.members/str.alloc.pass.cpp | 44 - .../str.allocator_propagation.pass.cpp | 115 - .../ostringstream.members/str.move.pass.cpp | 56 - .../ostringstream.members/str.pass.cpp | 57 - .../str.string-alloc.pass.cpp | 45 - .../str.string.move.pass.cpp | 42 - .../str.string_view.pass.cpp | 110 - .../ostringstream.members/view.pass.cpp | 60 - .../ostringstream/types.compile.pass.cpp | 75 - .../stringbuf.assign/member_swap.pass.cpp | 69 - .../member_swap_noexcept.pass.cpp | 102 - .../stringbuf/stringbuf.assign/move.pass.cpp | 91 - .../stringbuf.assign/nonmember_swap.pass.cpp | 71 - .../nonmember_swap_noexcept.pass.cpp | 101 - .../stringbuf/stringbuf.cons/alloc.pass.cpp | 39 - .../stringbuf/stringbuf.cons/default.pass.cpp | 71 - .../stringbuf.cons/mode.alloc.pass.cpp | 38 - .../stringbuf.cons/move.alloc.pass.cpp | 105 - .../stringbuf/stringbuf.cons/move.pass.cpp | 95 - .../stringbuf.cons/string-alloc.mode.pass.cpp | 43 - .../stringbuf.cons/string.alloc.pass.cpp | 45 - .../stringbuf.cons/string.mode.alloc.pass.cpp | 44 - .../stringbuf.cons/string.move.mode.pass.cpp | 59 - .../stringbuf/stringbuf.cons/string.pass.cpp | 52 - .../stringbuf.cons/string_view.alloc.pass.cpp | 145 - .../string_view.mode.alloc.pass.cpp | 184 - .../stringbuf.cons/string_view.mode.pass.cpp | 150 - .../stringbuf.members/str.alloc.pass.cpp | 44 - .../stringbuf.members/str.move.pass.cpp | 91 - .../stringbuf/stringbuf.members/str.pass.cpp | 72 - .../str.string-alloc.pass.cpp | 46 - .../str.string.move.pass.cpp | 42 - .../str.string_view.pass.cpp | 110 - .../stringbuf/stringbuf.members/view.pass.cpp | 87 - .../stringbuf.virtuals/overflow.pass.cpp | 107 - .../stringbuf.virtuals/pbackfail.pass.cpp | 102 - .../stringbuf.virtuals/seekoff.pass.cpp | 172 - .../stringbuf.virtuals/seekpos.pass.cpp | 82 - .../stringbuf.virtuals/setbuf.pass.cpp | 37 - .../stringbuf.virtuals/underflow.pass.cpp | 75 - .../stringbuf/types.compile.pass.cpp | 70 - .../stringstream.assign/member_swap.pass.cpp | 61 - .../stringstream.assign/move.pass.cpp | 57 - .../nonmember_swap.pass.cpp | 64 - .../stringstream.cons/default.pass.cpp | 69 - .../stringstream.cons/mode.alloc.pass.cpp | 38 - .../stringstream.cons/move.pass.cpp | 55 - .../stringstream.cons/move2.pass.cpp | 40 - .../string-alloc.mode.pass.cpp | 49 - .../stringstream.cons/string.alloc.pass.cpp | 45 - .../string.mode.alloc.pass.cpp | 44 - .../string.move.mode.pass.cpp | 46 - .../stringstream.cons/string.pass.cpp | 73 - .../string_view.alloc.pass.cpp | 145 - .../string_view.mode.alloc.pass.cpp | 189 - .../string_view.mode.pass.cpp | 150 - .../stringstream.members/gcount.pass.cpp | 41 - .../stringstream.members/str.alloc.pass.cpp | 44 - .../str.allocator_propagation.pass.cpp | 144 - .../stringstream.members/str.move.pass.cpp | 56 - .../stringstream.members/str.pass.cpp | 72 - .../str.string-alloc.pass.cpp | 45 - .../str.string.move.pass.cpp | 42 - .../str.string_view.pass.cpp | 110 - .../stringstream.members/view.pass.cpp | 68 - .../stringstream/types.compile.pass.cpp | 72 - .../syncstream/osyncstream/assign.pass.cpp | 101 - .../osyncstream/members/emit.pass.cpp | 45 - .../osyncstream/members/get_wrapped.pass.cpp | 41 - .../osyncstream/members/rdbuf.pass.cpp | 40 - .../cons.move.pass.cpp | 135 - .../cons.ostream.allocator.pass.cpp | 114 - .../cons.ostream.pass.cpp | 120 - .../cons.pointer.allocator.pass.cpp | 132 - .../cons.pointer.pass.cpp | 140 - .../osyncstream/thread/basic.pass.cpp | 60 - .../thread/several_threads.pass.cpp | 144 - .../osyncstream/types.compile.pass.cpp | 92 - .../input.output/syncstream/syncbuf/helpers.h | 38 - .../syncstream/syncbuf/sputc.pass.cpp | 151 - .../syncstream/syncbuf/sputn.pass.cpp | 134 - .../syncstream/syncbuf/sync.pass.cpp | 56 - .../syncstream.syncbuf.assign/assign.pass.cpp | 399 - .../syncstream.syncbuf.assign/swap.pass.cpp | 275 - .../cons.default.pass.cpp | 60 - .../cons.move.pass.cpp | 136 - .../cons.pointer.allocator.pass.cpp | 119 - .../cons.pointer.pass.cpp | 128 - .../syncstream.syncbuf.cons/dtor.pass.cpp | 54 - .../syncstream.syncbuf.members/emit.pass.cpp | 52 - .../get_allocator.pass.cpp | 42 - .../get_wrapped.pass.cpp | 44 - .../set_emit_on_sync.pass.cpp | 42 - .../syncstream.syncbuf.special/swap.pass.cpp | 43 - .../syncstream/syncbuf/types.compile.pass.cpp | 84 - .../iterator.container/data.pass.cpp | 88 - .../iterator.container/empty.array.verify.cpp | 21 - .../empty.container.verify.cpp | 22 - .../empty.initializer_list.verify.cpp | 22 - .../iterator.container/empty.pass.cpp | 90 - .../iterator.container/size.pass.cpp | 90 - .../ssize.LWG3207.compile.pass.cpp | 37 - .../iterator.container/ssize.pass.cpp | 124 - .../iterator.basic/deprecated.verify.cpp | 15 - .../iterator.basic/iterator.pass.cpp | 87 - .../iterator.operations/advance.pass.cpp | 94 - .../iterator.operations/distance.pass.cpp | 53 - .../iterator.operations/next.pass.cpp | 69 - .../iterator.operations/prev.pass.cpp | 64 - .../robust_against_adl.pass.cpp | 36 - .../iterator.traits/const_pointer.pass.cpp | 42 - .../const_volatile_pointer.pass.cpp | 33 - .../cxx20_iterator_traits.compile.pass.cpp | 589 - .../iterator.traits/empty.pass.cpp | 41 - .../iterator.traits/empty.verify.cpp | 123 - .../iter_reference_t.compile.pass.cpp | 23 - .../iterator.traits/iterator.pass.cpp | 47 - .../iterator.traits/pointer.pass.cpp | 41 - .../iterator.traits/volatile_pointer.pass.cpp | 33 - .../constraints.verify.cpp | 25 - .../iterator_count.pass.cpp | 75 - .../iterator_count_sentinel.pass.cpp | 223 - .../iterator_sentinel.pass.cpp | 124 - .../iterator_sentinel.pass.cpp | 238 - .../range.iter.ops.distance/lwg3664.pass.cpp | 71 - .../range.iter.ops.distance/range.pass.cpp | 108 - .../constraints.compile.pass.cpp | 36 - .../range.iter.ops.next/iterator.pass.cpp | 49 - .../iterator_count.pass.cpp | 58 - .../iterator_count_sentinel.pass.cpp | 53 - .../iterator_sentinel.pass.cpp | 84 - .../constraints.compile.pass.cpp | 34 - .../range.iter.ops.prev/iterator.pass.cpp | 43 - .../iterator_count.pass.cpp | 54 - .../iterator_count_sentinel.pass.cpp | 50 - .../range.iter.ops/types.h | 60 - .../bidirectional_iterator_tag.pass.cpp | 28 - .../contiguous_iterator_tag.pass.cpp | 31 - .../forward_iterator_tag.pass.cpp | 28 - .../input_iterator_tag.pass.cpp | 26 - .../output_iterator_tag.pass.cpp | 26 - .../random_access_iterator_tag.pass.cpp | 28 - .../iterator.range/begin-end.adl.pass.cpp | 93 - .../iterator.range/begin-end.array.pass.cpp | 96 - .../begin-end.container.pass.cpp | 156 - .../begin-end.initializer_list.pass.cpp | 46 - .../indirectly_copyable.compile.pass.cpp | 80 - ...ctly_copyable.subsumption.compile.pass.cpp | 27 - ...irectly_copyable_storable.compile.pass.cpp | 304 - ...able_storable.subsumption.compile.pass.cpp | 28 - .../indirectly_movable.compile.pass.cpp | 62 - ...ectly_movable.subsumption.compile.pass.cpp | 27 - ...directly_movable_storable.compile.pass.cpp | 170 - ...able_storable.subsumption.compile.pass.cpp | 28 - .../indirectly_swappable.compile.pass.cpp | 78 - ...tly_swappable.subsumption.compile.pass.cpp | 30 - .../mergeable.compile.pass.cpp | 127 - .../mergeable.subsumption.compile.pass.cpp | 36 - .../permutable.compile.pass.cpp | 45 - .../permutable.subsumption.compile.pass.cpp | 20 - .../sortable.compile.pass.cpp | 49 - .../sortable.subsumption.compile.pass.cpp | 25 - .../nothing_to_do.pass.cpp | 13 - .../forward.iterators/nothing_to_do.pass.cpp | 13 - ...indirect_binary_predicate.compile.pass.cpp | 92 - ...rect_equivalence_relation.compile.pass.cpp | 107 - .../indirect_result_t.compile.pass.cpp | 48 - ...ndirect_strict_weak_order.compile.pass.cpp | 107 - .../indirect_unary_predicate.compile.pass.cpp | 74 - .../indirectly_comparable.compile.pass.cpp | 60 - ...y_regular_unary_invocable.compile.pass.cpp | 97 - ...ndirectly_unary_invocable.compile.pass.cpp | 97 - .../projected/projected.compile.pass.cpp | 64 - .../input.iterators/nothing_to_do.pass.cpp | 13 - .../incrementable_traits.compile.pass.cpp | 238 - .../iter_difference_t.compile.pass.cpp | 58 - ...ndirectly_readable_traits.compile.pass.cpp | 151 - .../readable.traits/iter_value_t.pass.cpp | 73 - .../iterator.concepts/incrementable.h | 184 - .../bidirectional_iterator.compile.pass.cpp | 147 - .../subsumption.compile.pass.cpp | 28 - .../forward_iterator.compile.pass.cpp | 87 - .../subsumption.compile.pass.cpp | 29 - .../incrementable.compile.pass.cpp | 44 - .../subsumption.compile.pass.cpp | 31 - .../input_iterator.compile.pass.cpp | 123 - .../subsumption.compile.pass.cpp | 31 - .../input_or_output_iterator.compile.pass.cpp | 75 - .../subsumption.compile.pass.cpp | 28 - .../output_iterator.compile.pass.cpp | 66 - .../contiguous_iterator.compile.pass.cpp | 255 - .../random_access_iterator.compile.pass.cpp | 182 - .../indirectly_readable.compile.pass.cpp | 197 - .../iter_common_reference_t.compile.pass.cpp | 58 - .../sentinel_for.compile.pass.cpp | 55 - .../sentinel_for.subsumption.compile.pass.cpp | 31 - .../sized_sentinel_for.compile.pass.cpp | 83 - .../weakly_incrementable.compile.pass.cpp | 69 - .../indirectly_writable.compile.pass.cpp | 53 - .../iter_move.nodiscard.verify.cpp | 33 - .../iterator.cust.move/iter_move.pass.cpp | 195 - .../iter_rvalue_reference_t.compile.pass.cpp | 24 - .../iterator.cust.swap/iter_swap.pass.cpp | 232 - .../unqualified_lookup_wrapper.h | 83 - .../iterator.iterators/nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../output.iterators/nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../iterator.synopsis/nothing_to_do.pass.cpp | 13 - .../iterators.general/gcc_workaround.pass.cpp | 22 - .../counted.iterator/arrow.pass.cpp | 54 - .../counted.iterator/assign.pass.cpp | 127 - .../counted.iterator/base.pass.cpp | 113 - .../counted.iterator/compare.pass.cpp | 110 - .../counted.iterator/count.pass.cpp | 81 - .../counted.iterator/ctor.conv.pass.cpp | 76 - .../counted.iterator/ctor.default.pass.cpp | 34 - .../counted.iterator/ctor.iter.pass.cpp | 67 - .../counted.iterator/decrement.pass.cpp | 75 - .../counted.iterator/deref.pass.cpp | 107 - .../counted.iterator/implicit_ctad.pass.cpp | 26 - .../counted.iterator/increment.pass.cpp | 138 - .../counted.iterator/iter_move.pass.cpp | 82 - .../counted.iterator/iter_swap.pass.cpp | 105 - ...rator_concept_conformance.compile.pass.cpp | 29 - .../iterator_traits.compile.pass.cpp | 68 - .../member_types.compile.pass.cpp | 61 - .../minus.default_sentinel.pass.cpp | 87 - .../counted.iterator/minus.eq.pass.cpp | 59 - .../counted.iterator/minus.iter.pass.cpp | 121 - .../counted.iterator/minus.size.pass.cpp | 77 - .../counted.iterator/plus.pass.cpp | 109 - .../counted.iterator/subscript.pass.cpp | 60 - .../three_way_compare.pass.cpp | 85 - .../default.sentinel.pass.cpp | 32 - .../container.compile.fail.cpp | 26 - .../back.insert.iter.cons/container.pass.cpp | 39 - .../back.insert.iter.op++/post.pass.cpp | 44 - .../back.insert.iter.op++/pre.pass.cpp | 42 - .../back.insert.iter.op=/lv_value.pass.cpp | 56 - .../back.insert.iter.op=/rv_value.pass.cpp | 46 - .../back.insert.iter.op_astrk/test.pass.cpp | 42 - .../back.inserter/test.pass.cpp | 50 - .../implicit_ctad.pass.cpp | 38 - ...rator_concept_conformance.compile.pass.cpp | 29 - .../back.insert.iterator/types.pass.cpp | 74 - .../container.compile.fail.cpp | 26 - .../front.insert.iter.cons/container.pass.cpp | 39 - .../front.insert.iter.op++/post.pass.cpp | 44 - .../front.insert.iter.op++/pre.pass.cpp | 42 - .../front.insert.iter.op=/lv_value.pass.cpp | 57 - .../front.insert.iter.op=/rv_value.pass.cpp | 44 - .../front.insert.iter.op_astrk/test.pass.cpp | 42 - .../front.inserter/test.pass.cpp | 46 - .../implicit_ctad.pass.cpp | 38 - ...rator_concept_conformance.compile.pass.cpp | 29 - .../front.insert.iterator/types.pass.cpp | 75 - .../insert.iter.cons/test.pass.cpp | 39 - .../insert.iter.op++/post.pass.cpp | 44 - .../insert.iter.op++/pre.pass.cpp | 42 - .../insert.iter.op=/lv_value.pass.cpp | 88 - .../insert.iter.op=/rv_value.pass.cpp | 98 - .../insert.iter.op_astrk/test.pass.cpp | 42 - .../insert.iter.ops/inserter/test.pass.cpp | 43 - .../cxx20_iter_member.pass.cpp | 62 - ...rator_concept_conformance.compile.pass.cpp | 28 - .../insert.iterator/types.pass.cpp | 78 - .../iterators.common/arrow.pass.cpp | 96 - .../iterators.common/assign.pass.cpp | 142 - .../constraints.compile.pass.cpp | 27 - .../iterators.common/ctor.converting.pass.cpp | 46 - .../iterators.common/ctor.default.pass.cpp | 40 - .../iterators.common/ctor.iter.pass.cpp | 49 - .../iterators.common/ctor.sentinel.pass.cpp | 62 - .../iterators.common/deref.pass.cpp | 145 - .../iterators.common/eq.pass.cpp | 166 - .../iterators.common/iter_move.pass.cpp | 92 - .../iterators.common/iter_swap.pass.cpp | 122 - .../iterator_traits.compile.pass.cpp | 135 - .../iterators.common/minus.pass.cpp | 65 - .../iterators.common/plus_plus.pass.cpp | 182 - .../predef.iterators/iterators.common/types.h | 266 - .../move.iter.nonmember/iter_move.pass.cpp | 89 - .../move.iter.nonmember/iter_swap.pass.cpp | 90 - .../make_move_iterator.pass.cpp | 58 - .../move.iter.nonmember/minus.pass.cpp | 54 - .../move.iter.nonmember/plus.pass.cpp | 54 - .../move.iter.op.+/difference_type.pass.cpp | 53 - .../move.iter.op.+=/difference_type.pass.cpp | 54 - .../move.iter.op.-/difference_type.pass.cpp | 53 - .../move.iter.op.-/sentinel.pass.cpp | 99 - .../move.iter.op.-=/difference_type.pass.cpp | 50 - .../move.iter.op.comp/op_eq.pass.cpp | 81 - .../move.iter.op.comp/op_gt.pass.cpp | 72 - .../move.iter.op.comp/op_gte.pass.cpp | 72 - .../move.iter.op.comp/op_lt.pass.cpp | 72 - .../move.iter.op.comp/op_lte.pass.cpp | 72 - .../move.iter.op.comp/op_neq.pass.cpp | 89 - .../move.iter.op.comp/op_spaceship.pass.cpp | 103 - .../move.iter.op.const/convert.pass.cpp | 57 - .../ctor.convert.LWG3435.verify.cpp | 25 - .../ctor.iter.explicit.verify.cpp | 22 - .../move.iter.op.const/default.pass.cpp | 55 - .../move.iter.op.const/iter.pass.cpp | 89 - .../move.iter.op.conv/base.pass.cpp | 117 - .../move.iter.op.decr/post.pass.cpp | 54 - .../move.iter.op.decr/pre.pass.cpp | 54 - .../move.iter.op.incr/post.pass.cpp | 90 - .../move.iter.op.incr/pre.pass.cpp | 56 - .../difference_type.pass.cpp | 81 - .../move.iter.op.ref/deprecated.verify.cpp | 17 - .../move.iter.op.ref/op_arrow.pass.cpp | 44 - .../move.iter.op.star/op_star.pass.cpp | 92 - .../move.iter.op=/assign.LWG3435.verify.cpp | 26 - .../move.iter.op=/move_iterator.pass.cpp | 98 - .../nothing_to_do.pass.cpp | 13 - .../move.iterator/implicit_ctad.pass.cpp | 27 - ...rator_concept_conformance.compile.pass.cpp | 139 - .../move.iterator/types.pass.cpp | 157 - .../move.sentinel/assign.converting.pass.cpp | 64 - .../move.sentinel/base.pass.cpp | 62 - .../concept_conformance.compile.pass.cpp | 105 - .../constraints.compile.pass.cpp | 32 - .../move.sentinel/ctad.compile.pass.cpp | 20 - .../move.sentinel/ctor.converting.pass.cpp | 65 - .../move.sentinel/ctor.default.pass.cpp | 54 - .../move.sentinel/ctor.sentinel.pass.cpp | 58 - .../move.sentinel/op_eq.pass.cpp | 78 - ...rator_concept_conformance.compile.pass.cpp | 62 - .../reverse.iter.cmp/equal.pass.cpp | 47 - .../reverse.iter.cmp/greater-equal.pass.cpp | 47 - .../reverse.iter.cmp/greater.pass.cpp | 47 - .../reverse.iter.cmp/less-equal.pass.cpp | 47 - .../reverse.iter.cmp/less.pass.cpp | 47 - .../reverse.iter.cmp/not-equal.pass.cpp | 47 - .../reverse.iter.cmp/sfinae.compile.pass.cpp | 195 - .../reverse.iter.cmp/three-way.pass.cpp | 103 - .../assign.LWG3435.verify.cpp | 26 - .../reverse.iter.cons/assign.pass.cpp | 80 - .../reverse.iter.cons/ctor.default.pass.cpp | 40 - .../ctor.iter.explicit.verify.cpp | 22 - .../reverse.iter.cons/ctor.iter.pass.cpp | 41 - .../ctor.reverse_iterator.LWG3435.verify.cpp | 25 - .../ctor.reverse_iterator.pass.cpp | 46 - .../reverse.iter.conv/base.pass.cpp | 37 - .../reverse.iter.elem/arrow.pass.cpp | 122 - .../arrow.sfinae.compile.pass.cpp | 53 - .../reverse.iter.elem/bracket.pass.cpp | 47 - .../reverse.iter.elem/dereference.pass.cpp | 63 - .../decrement-assign.pass.cpp | 43 - .../increment-assign.pass.cpp | 43 - .../reverse.iter.nav/minus.pass.cpp | 42 - .../reverse.iter.nav/plus.pass.cpp | 42 - .../reverse.iter.nav/postdecrement.pass.cpp | 43 - .../reverse.iter.nav/postincrement.pass.cpp | 43 - .../reverse.iter.nav/predecrement.pass.cpp | 43 - .../reverse.iter.nav/preincrement.pass.cpp | 43 - .../reverse.iter.nonmember/iter_move.pass.cpp | 139 - .../reverse.iter.nonmember/iter_swap.pass.cpp | 154 - .../make_reverse_iterator.pass.cpp | 45 - .../reverse.iter.nonmember/minus.pass.cpp | 67 - .../reverse.iter.nonmember/plus.pass.cpp | 42 - .../sized_sentinel.compile.pass.cpp | 28 - .../reverse.iterators/types.compile.pass.cpp | 123 - .../unreachable_sentinel.pass.cpp | 68 - .../istream.iterator.cons/copy.pass.cpp | 41 - .../default.compile.fail.cpp | 29 - .../istream.iterator.cons/default.pass.cpp | 62 - .../default_sentinel_t.pass.cpp | 37 - .../istream.iterator.cons/istream.pass.cpp | 33 - .../istream.iterator.ops/arrow.pass.cpp | 42 - .../istream.iterator.ops/dereference.pass.cpp | 37 - .../istream.iterator.ops/equal.pass.cpp | 88 - .../post_increment.pass.cpp | 35 - .../pre_increment.pass.cpp | 32 - ...rator_concept_conformance.compile.pass.cpp | 29 - .../istream.iterator/types.pass.cpp | 93 - .../istreambuf.iterator.cons/default.pass.cpp | 52 - .../default_sentinel_t.pass.cpp | 42 - .../istreambuf.iterator.cons/istream.pass.cpp | 47 - .../istreambuf.iterator.cons/proxy.pass.cpp | 41 - .../streambuf.pass.cpp | 55 - .../istreambuf.iterator_equal/equal.pass.cpp | 105 - .../not_equal.pass.cpp | 126 - .../dereference.pass.cpp | 45 - .../istreambuf.iterator_op==/equal.pass.cpp | 128 - .../post_increment.pass.cpp | 43 - .../pre_increment.pass.cpp | 44 - .../istreambuf.iterator_proxy/proxy.pass.cpp | 45 - ...rator_concept_conformance.compile.pass.cpp | 30 - .../istreambuf.iterator/types.pass.cpp | 85 - .../iterators/stream.iterators/lit.local.cfg | 3 - ...rator_concept_conformance.compile.pass.cpp | 29 - .../ostream.iterator.cons.des/copy.pass.cpp | 30 - .../ostream.pass.cpp | 42 - .../ostream_delim.pass.cpp | 50 - .../ostream.iterator.ops/assign_t.pass.cpp | 54 - .../ostream.iterator.ops/dereference.pass.cpp | 29 - .../ostream.iterator.ops/increment.pass.cpp | 32 - .../ostream.iterator/types.pass.cpp | 80 - ...rator_concept_conformance.compile.pass.cpp | 30 - .../ostreambuf.iter.cons/ostream.pass.cpp | 37 - .../ostreambuf.iter.cons/streambuf.pass.cpp | 37 - .../ostreambuf.iter.ops/assign_c.pass.cpp | 44 - .../ostreambuf.iter.ops/deref.pass.cpp | 39 - .../ostreambuf.iter.ops/failed.pass.cpp | 48 - .../ostreambuf.iter.ops/increment.pass.cpp | 44 - .../ostreambuf.iterator/types.pass.cpp | 83 - .../compare_partial_order_fallback.pass.cpp | 325 - .../compare_strong_order_fallback.pass.cpp | 529 - .../compare_weak_order_fallback.pass.cpp | 578 - .../cmp/cmp.alg/partial_order.pass.cpp | 254 - .../cmp/cmp.alg/strong_order.pass.cpp | 466 - .../strong_order_long_double.verify.cpp | 41 - .../cmp/cmp.alg/weak_order.pass.cpp | 513 - .../cmp.categories.pre/zero_type.verify.cpp | 57 - .../common_comparison_category.pass.cpp | 81 - .../three_way_comparable.compile.pass.cpp | 224 - ...three_way_comparable_with.compile.pass.cpp | 226 - .../cmp/cmp.partialord/partialord.pass.cpp | 188 - .../compare_three_way_result.compile.pass.cpp | 88 - .../cmp/cmp.strongord/strongord.pass.cpp | 197 - .../cmp/cmp.weakord/weakord.pass.cpp | 179 - .../cmp/compare.syn/named_functions.pass.cpp | 109 - .../cstdint/cstdint.syn/cstdint.pass.cpp | 300 - .../operator_bool.pass.cpp | 55 - .../equal_comp.pass.cpp | 58 - .../less_comp.pass.cpp | 65 - .../coroutine.handle.completion/done.pass.cpp | 42 - .../coroutine.handle.con/assign.pass.cpp | 53 - .../coroutine.handle.con/construct.pass.cpp | 48 - .../coroutine.handle.export/address.pass.cpp | 52 - .../from_address.pass.cpp | 57 - .../coroutine.handle.hash/hash.pass.cpp | 62 - .../noop_coroutine.pass.cpp | 78 - .../coroutine.handle.prom/promise.pass.cpp | 82 - .../destroy.pass.cpp | 59 - .../resume.pass.cpp | 77 - .../coroutine.handle/void_handle.pass.cpp | 50 - .../coroutine.traits/promise_type.pass.cpp | 76 - .../suspend_always.pass.cpp | 73 - .../suspend_never.pass.cpp | 75 - .../end.to.end/await_result.pass.cpp | 69 - .../end.to.end/bool_await_suspend.pass.cpp | 69 - .../end.to.end/expected.pass.cpp | 87 - .../end.to.end/fullexpr-dtor.pass.cpp | 109 - .../end.to.end/generator.pass.cpp | 160 - .../support.coroutines/end.to.end/go.pass.cpp | 176 - .../end.to.end/multishot_func.pass.cpp | 87 - .../end.to.end/oneshot_func.pass.cpp | 72 - .../support.dynamic/align_val_t.pass.cpp | 40 - .../alloc.errors/bad.alloc/bad_alloc.pass.cpp | 30 - .../bad_array_new_length.pass.cpp | 30 - .../new.handler/new_handler.pass.cpp | 26 - .../set.new.handler/get_new_handler.pass.cpp | 35 - .../set.new.handler/set_new_handler.pass.cpp | 25 - .../destroying_delete_t.pass.cpp | 74 - .../destroying_delete_t_declaration.pass.cpp | 51 - .../hardware_inference_size.compile.pass.cpp | 17 - .../delete_align_val_t_replace.pass.cpp | 96 - .../new.delete.array/new.size.except.pass.cpp | 44 - .../new.delete.array/new.size.pass.cpp | 75 - .../new.size.replace.indirect.pass.cpp | 53 - .../new.size.replace.pass.cpp | 51 - .../new.size_align.except.pass.cpp | 48 - .../new.delete.array/new.size_align.pass.cpp | 82 - .../new.size_align.replace.indirect.pass.cpp | 85 - .../new.size_align.replace.pass.cpp | 82 - .../new.size_align_nothrow.except.pass.cpp | 48 - .../new.size_align_nothrow.pass.cpp | 74 - ...ze_align_nothrow.replace.indirect.pass.cpp | 89 - .../new.size_align_nothrow.replace.pass.cpp | 82 - .../new.size_nothrow.except.pass.cpp | 44 - .../new.size_nothrow.pass.cpp | 66 - ...new.size_nothrow.replace.indirect.pass.cpp | 61 - .../new.size_nothrow.replace.pass.cpp | 47 - .../new.delete.array/nodiscard.verify.cpp | 36 - .../sized_delete_array11.pass.cpp | 71 - .../sized_delete_array14.pass.cpp | 70 - ..._array_calls_unsized_delete_array.pass.cpp | 61 - ...d_delete_array_fsizeddeallocation.pass.cpp | 81 - .../not_testable.pass.cpp | 13 - .../new.delete.placement/new.pass.cpp | 33 - .../new.delete.placement/new_array.pass.cpp | 37 - .../new_array_ptr.verify.cpp | 20 - .../new.delete.placement/new_ptr.verify.cpp | 20 - .../delete_align_val_t_replace.pass.cpp | 96 - .../new.size.except.pass.cpp | 44 - .../new.delete.single/new.size.pass.cpp | 66 - .../new.size.replace.pass.cpp | 49 - .../new.size_align.except.pass.cpp | 48 - .../new.delete.single/new.size_align.pass.cpp | 76 - .../new.size_align.replace.pass.cpp | 82 - .../new.size_align_nothrow.except.pass.cpp | 48 - .../new.size_align_nothrow.pass.cpp | 69 - ...ze_align_nothrow.replace.indirect.pass.cpp | 88 - .../new.size_align_nothrow.replace.pass.cpp | 81 - .../new.size_nothrow.except.pass.cpp | 44 - .../new.size_nothrow.pass.cpp | 59 - ...new.size_nothrow.replace.indirect.pass.cpp | 56 - .../new.size_nothrow.replace.pass.cpp | 47 - .../new.delete.single/nodiscard.verify.cpp | 36 - .../new.delete.single/sized_delete11.pass.cpp | 61 - .../new.delete.single/sized_delete14.pass.cpp | 61 - ...sized_delete_calls_unsized_delete.pass.cpp | 50 - .../sized_delete_fsizeddeallocation.pass.cpp | 72 - .../support.dynamic/new.delete/types.h | 63 - .../support.dynamic/nothrow_t.pass.cpp | 22 - .../support.dynamic/nothrow_t.verify.cpp | 20 - .../ptr.launder/launder.nodiscard.verify.cpp | 21 - .../ptr.launder/launder.pass.cpp | 36 - .../ptr.launder/launder.types.verify.cpp | 36 - .../bad.exception/bad_exception.pass.cpp | 30 - .../except.nested/assign.pass.cpp | 64 - .../except.nested/ctor_copy.pass.cpp | 62 - .../except.nested/ctor_default.pass.cpp | 60 - .../except.nested/rethrow_if_nested.pass.cpp | 138 - .../except.nested/rethrow_nested.pass.cpp | 74 - .../except.nested/throw_with_nested.pass.cpp | 133 - .../set.terminate/get_terminate.pass.cpp | 28 - .../set.terminate/set_terminate.pass.cpp | 26 - .../terminate_handler.pass.cpp | 26 - .../terminate/terminate.pass.cpp | 29 - .../exception/exception.pass.cpp | 28 - .../propagation/current_exception.pass.cpp | 277 - .../propagation/exception_ptr.pass.cpp | 38 - .../propagation/make_exception_ptr.pass.cpp | 59 - .../propagation/rethrow_exception.pass.cpp | 67 - .../uncaught/uncaught_exception.pass.cpp | 49 - .../uncaught/uncaught_exceptions.pass.cpp | 63 - .../support.general/nothing_to_do.pass.cpp | 13 - .../support.initlist/include_cxx03.pass.cpp | 21 - .../support.initlist.access/access.pass.cpp | 63 - .../support.initlist.cons/default.pass.cpp | 33 - .../support.initlist.range/begin_end.pass.cpp | 68 - .../support.initlist/types.pass.cpp | 40 - .../support.limits/c.limits/cfloat.pass.cpp | 185 - .../support.limits/c.limits/climits.pass.cpp | 95 - .../limits/denorm.style/check_values.pass.cpp | 41 - .../limits/is_specialized.pass.cpp | 53 - .../const_data_members.pass.cpp | 212 - .../denorm_min.pass.cpp | 68 - .../numeric.limits.members/digits.pass.cpp | 57 - .../numeric.limits.members/digits10.pass.cpp | 61 - .../numeric.limits.members/epsilon.pass.cpp | 58 - .../has_denorm.pass.cpp | 58 - .../has_denorm_loss.pass.cpp | 58 - .../has_infinity.pass.cpp | 56 - .../has_quiet_NaN.pass.cpp | 56 - .../has_signaling_NaN.pass.cpp | 56 - .../numeric.limits.members/infinity.pass.cpp | 62 - .../is_bounded.pass.cpp | 56 - .../numeric.limits.members/is_exact.pass.cpp | 56 - .../numeric.limits.members/is_iec559.pass.cpp | 60 - .../is_integer.pass.cpp | 56 - .../numeric.limits.members/is_modulo.pass.cpp | 56 - .../numeric.limits.members/is_signed.pass.cpp | 56 - .../numeric.limits.members/lowest.pass.cpp | 69 - .../numeric.limits.members/max.pass.cpp | 69 - .../max_digits10.pass.cpp | 57 - .../max_exponent.pass.cpp | 57 - .../max_exponent10.pass.cpp | 57 - .../numeric.limits.members/min.pass.cpp | 69 - .../min_exponent.pass.cpp | 57 - .../min_exponent10.pass.cpp | 57 - .../numeric.limits.members/quiet_NaN.pass.cpp | 77 - .../numeric.limits.members/radix.pass.cpp | 57 - .../round_error.pass.cpp | 58 - .../round_style.pass.cpp | 56 - .../signaling_NaN.pass.cpp | 77 - .../tinyness_before.pass.cpp | 62 - .../numeric.limits.members/traps.pass.cpp | 63 - .../limits/numeric.limits/default.pass.cpp | 88 - .../numeric.special/nothing_to_do.pass.cpp | 13 - .../limits/round.style/check_values.pass.cpp | 39 - .../algorithm.version.compile.pass.cpp | 410 - .../any.version.compile.pass.cpp | 74 - .../array.version.compile.pass.cpp | 180 - .../atomic.version.compile.pass.cpp | 436 - .../barrier.version.compile.pass.cpp | 91 - .../bit.version.compile.pass.cpp | 204 - .../bitset.version.compile.pass.cpp | 96 - .../charconv.version.compile.pass.cpp | 130 - .../chrono.version.compile.pass.cpp | 114 - .../cmath.version.compile.pass.cpp | 212 - .../compare.version.compile.pass.cpp | 89 - .../complex.version.compile.pass.cpp | 111 - .../concepts.version.compile.pass.cpp | 71 - .../coroutine.version.compile.pass.cpp | 71 - .../cstddef.version.compile.pass.cpp | 74 - .../cstdlib.version.compile.pass.cpp | 80 - .../cstring.version.compile.pass.cpp | 71 - .../deque.version.compile.pass.cpp | 176 - .../exception.version.compile.pass.cpp | 74 - .../execution.version.compile.pass.cpp | 99 - .../expected.version.compile.pass.cpp | 102 - .../filesystem.version.compile.pass.cpp | 152 - .../format.version.compile.pass.cpp | 154 - .../forward_list.version.compile.pass.cpp | 247 - .../fstream.version.compile.pass.cpp | 73 - .../functional.version.compile.pass.cpp | 552 - .../iomanip.version.compile.pass.cpp | 109 - .../ios.version.compile.pass.cpp | 70 - .../istream.version.compile.pass.cpp | 91 - .../iterator.version.compile.pass.cpp | 328 - .../latch.version.compile.pass.cpp | 91 - .../limits.version.compile.pass.cpp | 89 - .../list.version.compile.pass.cpp | 247 - .../locale.version.compile.pass.cpp | 91 - .../map.version.compile.pass.cpp | 411 - .../mdspan.version.compile.pass.cpp | 136 - .../memory.version.compile.pass.cpp | 707 - .../memory_resource.version.compile.pass.cpp | 150 - .../mutex.version.compile.pass.cpp | 100 - .../new.version.compile.pass.cpp | 187 - .../numbers.version.compile.pass.cpp | 71 - .../numeric.version.compile.pass.cpp | 274 - .../optional.version.compile.pass.cpp | 109 - .../ostream.version.compile.pass.cpp | 122 - .../print.version.compile.pass.cpp | 70 - .../queue.version.compile.pass.cpp | 99 - .../ranges.version.compile.pass.cpp | 410 - .../ratio.version.compile.pass.cpp | 65 - .../regex.version.compile.pass.cpp | 76 - .../scoped_allocator.version.compile.pass.cpp | 74 - .../semaphore.version.compile.pass.cpp | 91 - .../set.version.compile.pass.cpp | 330 - .../shared_mutex.version.compile.pass.cpp | 170 - .../source_location.version.compile.pass.cpp | 71 - .../span.version.compile.pass.cpp | 127 - .../sstream.version.compile.pass.cpp | 67 - .../stack.version.compile.pass.cpp | 99 - .../stdatomic.h.version.compile.pass.cpp | 70 - .../stop_token.version.compile.pass.cpp | 91 - .../string.version.compile.pass.cpp | 479 - .../string_view.version.compile.pass.cpp | 260 - .../syncstream.version.compile.pass.cpp | 91 - .../thread.version.compile.pass.cpp | 134 - .../tuple.version.compile.pass.cpp | 312 - .../type_traits.version.compile.pass.cpp | 915 - .../typeinfo.version.compile.pass.cpp | 68 - .../unordered_map.version.compile.pass.cpp | 405 - .../unordered_set.version.compile.pass.cpp | 324 - .../utility.version.compile.pass.cpp | 476 - .../variant.version.compile.pass.cpp | 108 - .../vector.version.compile.pass.cpp | 247 - .../version.version.compile.pass.cpp | 7669 ------ .../support.rtti/bad.cast/bad_cast.pass.cpp | 30 - .../bad.typeid/bad_typeid.pass.cpp | 30 - .../type.info/type_info.equal.pass.cpp | 75 - .../support.rtti/type.info/type_info.pass.cpp | 45 - .../type.info/type_info_hash.pass.cpp | 28 - .../support.runtime/csetjmp.pass.cpp | 39 - .../support.runtime/csignal.pass.cpp | 61 - .../support.runtime/cstdarg.pass.cpp | 39 - .../support.runtime/cstdbool.pass.cpp | 35 - .../cstdlib.aligned_alloc.compile.pass.cpp | 27 - .../support.runtime/cstdlib.pass.cpp | 153 - .../support.runtime/ctime.pass.cpp | 49 - .../ctime.timespec.compile.pass.cpp | 35 - .../support.srcloc/general.pass.cpp | 83 - .../support.start.term/quick_exit.pass.cpp | 27 - .../support.types/byte.pass.cpp | 35 - .../support.types/byteops/and.assign.pass.cpp | 40 - .../support.types/byteops/and.pass.cpp | 32 - .../byteops/enum_direct_init.pass.cpp | 19 - .../byteops/lshift.assign.compile.fail.cpp | 29 - .../byteops/lshift.assign.pass.cpp | 37 - .../byteops/lshift.compile.fail.cpp | 24 - .../support.types/byteops/lshift.pass.cpp | 31 - .../support.types/byteops/not.pass.cpp | 28 - .../support.types/byteops/or.assign.pass.cpp | 41 - .../support.types/byteops/or.pass.cpp | 32 - .../byteops/rshift.assign.compile.fail.cpp | 29 - .../byteops/rshift.assign.pass.cpp | 36 - .../byteops/rshift.compile.fail.cpp | 24 - .../support.types/byteops/rshift.pass.cpp | 38 - .../byteops/to_integer.compile.fail.cpp | 24 - .../support.types/byteops/to_integer.pass.cpp | 33 - .../support.types/byteops/xor.assign.pass.cpp | 40 - .../support.types/byteops/xor.pass.cpp | 32 - .../support.types/cstddef.compile.pass.cpp | 46 - .../max_align_t.compile.pass.cpp | 30 - .../support.types/null.pass.cpp | 21 - .../support.types/nullptr_t.pass.cpp | 91 - .../nullptr_t_integral_cast.compile.fail.cpp | 18 - .../nullptr_t_integral_cast.pass.cpp | 27 - .../support.types/offsetof.pass.cpp | 29 - .../support.types/ptrdiff_t.pass.cpp | 30 - .../support.types/size_t.pass.cpp | 30 - .../cpo.compile.pass.cpp | 98 - .../niebloid.compile.pass.cpp | 201 - .../expos.only.func/synth_three_way.pass.cpp | 183 - .../localization/c.locales/clocale.pass.cpp | 52 - .../std/localization/codecvt_unicode.pass.cpp | 2229 -- .../src/test/std/localization/lit.local.cfg | 3 - .../locale.collate.byname/compare.pass.cpp | 111 - .../locale.collate.byname/hash.pass.cpp | 50 - .../locale.collate.byname/transform.pass.cpp | 66 - .../locale.collate.byname/types.pass.cpp | 51 - .../locale.collate/ctor.pass.cpp | 73 - .../locale.collate.members/compare.pass.cpp | 57 - .../locale.collate.members/hash.pass.cpp | 47 - .../locale.collate.members/transform.pass.cpp | 38 - .../tested_elsewhere.pass.cpp | 13 - .../locale.collate/types.pass.cpp | 56 - .../category.ctype/ctype_base.pass.cpp | 76 - .../facet.ctype.char.dtor/dtor.pass.cpp | 44 - .../facet.ctype.char.members/ctor.pass.cpp | 53 - .../facet.ctype.char.members/is_1.pass.cpp | 62 - .../facet.ctype.char.members/is_many.pass.cpp | 121 - .../narrow_1.pass.cpp | 36 - .../narrow_many.pass.cpp | 41 - .../facet.ctype.char.members/scan_is.pass.cpp | 47 - .../scan_not.pass.cpp | 47 - .../facet.ctype.char.members/table.pass.cpp | 36 - .../tolower_1.pass.cpp | 36 - .../tolower_many.pass.cpp | 39 - .../toupper_1.pass.cpp | 36 - .../toupper_many.pass.cpp | 39 - .../facet.ctype.char.members/widen_1.pass.cpp | 36 - .../widen_many.pass.cpp | 41 - .../classic_table.pass.cpp | 76 - .../table_size.pass.cpp | 31 - .../tested_elsewhere.pass.cpp | 13 - .../facet.ctype.special/types.pass.cpp | 42 - ...ame_char16_t_char.depr_in_cxx20.verify.cpp | 25 - ...ame_char32_t_char.depr_in_cxx20.verify.cpp | 25 - .../locale.codecvt.byname/ctor_char.pass.cpp | 76 - .../ctor_char16_t.pass.cpp | 76 - .../ctor_char16_t_char8_t.pass.cpp | 77 - .../ctor_char32_t.pass.cpp | 76 - .../ctor_char32_t_char8_t.pass.cpp | 77 - .../ctor_wchar_t.pass.cpp | 78 - .../locale.codecvt/codecvt_base.pass.cpp | 30 - ...cvt_char16_t_char.depr_in_cxx20.verify.cpp | 25 - ...cvt_char32_t_char.depr_in_cxx20.verify.cpp | 25 - .../locale.codecvt/ctor_char.pass.cpp | 55 - .../locale.codecvt/ctor_char16_t.pass.cpp | 58 - .../ctor_char16_t_char8_t.pass.cpp | 52 - .../locale.codecvt/ctor_char32_t.pass.cpp | 58 - .../ctor_char32_t_char8_t.pass.cpp | 52 - .../locale.codecvt/ctor_wchar_t.pass.cpp | 57 - .../char16_t_always_noconv.pass.cpp | 32 - .../char16_t_char8_t_always_noconv.pass.cpp | 28 - .../char16_t_char8_t_encoding.pass.cpp | 28 - .../char16_t_char8_t_in.pass.cpp | 38 - .../char16_t_char8_t_length.pass.cpp | 33 - .../char16_t_char8_t_max_length.pass.cpp | 28 - .../char16_t_char8_t_out.pass.cpp | 39 - .../char16_t_char8_t_unshift.pass.cpp | 32 - .../char16_t_encoding.pass.cpp | 32 - .../char16_t_in.pass.cpp | 51 - .../char16_t_length.pass.cpp | 43 - .../char16_t_max_length.pass.cpp | 32 - .../char16_t_out.pass.cpp | 56 - .../char16_t_unshift.pass.cpp | 39 - .../char32_t_always_noconv.pass.cpp | 32 - .../char32_t_char8_t_always_noconv.pass.cpp | 28 - .../char32_t_char8_t_encoding.pass.cpp | 28 - .../char32_t_char8_t_in.pass.cpp | 38 - .../char32_t_char8_t_length.pass.cpp | 33 - .../char32_t_char8_t_max_length.pass.cpp | 28 - .../char32_t_char8_t_out.pass.cpp | 39 - .../char32_t_char8_t_unshift.pass.cpp | 32 - .../char32_t_encoding.pass.cpp | 32 - .../char32_t_in.pass.cpp | 51 - .../char32_t_length.pass.cpp | 43 - .../char32_t_max_length.pass.cpp | 32 - .../char32_t_out.pass.cpp | 56 - .../char32_t_unshift.pass.cpp | 39 - .../char_always_noconv.pass.cpp | 29 - .../char_encoding.pass.cpp | 29 - .../locale.codecvt.members/char_in.pass.cpp | 41 - .../char_length.pass.cpp | 35 - .../char_max_length.pass.cpp | 29 - .../locale.codecvt.members/char_out.pass.cpp | 41 - .../char_unshift.pass.cpp | 36 - .../utf_sanity_check.pass.cpp | 219 - .../wchar_t_always_noconv.pass.cpp | 31 - .../wchar_t_encoding.pass.cpp | 31 - .../wchar_t_in.pass.cpp | 48 - .../wchar_t_length.pass.cpp | 37 - .../wchar_t_max_length.pass.cpp | 31 - .../wchar_t_out.pass.cpp | 76 - .../wchar_t_unshift.pass.cpp | 40 - .../tested_elsewhere.pass.cpp | 13 - .../locale.codecvt/types_char.pass.cpp | 44 - .../locale.codecvt/types_char16_t.pass.cpp | 47 - .../types_char16_t_char8_t.pass.cpp | 44 - .../locale.codecvt/types_char32_t.pass.cpp | 47 - .../types_char32_t_char8_t.pass.cpp | 44 - .../locale.codecvt/types_wchar_t.pass.cpp | 46 - .../locale.ctype.byname/is_1.pass.cpp | 125 - .../locale.ctype.byname/is_many.pass.cpp | 263 - .../locale.ctype.byname/mask.pass.cpp | 61 - .../locale.ctype.byname/narrow_1.pass.cpp | 59 - .../locale.ctype.byname/narrow_many.pass.cpp | 67 - .../locale.ctype.byname/scan_is.pass.cpp | 83 - .../locale.ctype.byname/scan_not.pass.cpp | 83 - .../locale.ctype.byname/tolower_1.pass.cpp | 100 - .../locale.ctype.byname/tolower_many.pass.cpp | 106 - .../locale.ctype.byname/toupper_1.pass.cpp | 102 - .../locale.ctype.byname/toupper_many.pass.cpp | 106 - .../locale.ctype.byname/types.pass.cpp | 66 - .../locale.ctype.byname/widen_1.pass.cpp | 69 - .../locale.ctype.byname/widen_many.pass.cpp | 75 - .../category.ctype/locale.ctype/ctor.pass.cpp | 56 - .../locale.ctype.members/is_1.pass.cpp | 64 - .../locale.ctype.members/is_many.pass.cpp | 123 - .../locale.ctype.members/narrow_1.pass.cpp | 38 - .../locale.ctype.members/narrow_many.pass.cpp | 43 - .../locale.ctype.members/scan_is.pass.cpp | 49 - .../locale.ctype.members/scan_not.pass.cpp | 49 - .../locale.ctype.members/tolower_1.pass.cpp | 38 - .../tolower_many.pass.cpp | 41 - .../locale.ctype.members/toupper_1.pass.cpp | 38 - .../toupper_many.pass.cpp | 41 - .../locale.ctype.members/widen_1.pass.cpp | 38 - .../locale.ctype.members/widen_many.pass.cpp | 43 - .../tested_elsewhere.pass.cpp | 13 - .../locale.ctype/types.pass.cpp | 44 - .../category.ctype/with_public_dtor.hpp | 19 - .../nothing_to_do.pass.cpp | 13 - .../locale.messages/ctor.pass.cpp | 55 - .../not_testable.pass.cpp | 37 - .../tested_elsewhere.pass.cpp | 13 - .../locale.messages/messages_base.pass.cpp | 35 - .../locale.messages/types.pass.cpp | 40 - .../locale.money.get/ctor.pass.cpp | 55 - .../get_long_double_en_US.pass.cpp | 746 - .../get_long_double_fr_FR.pass.cpp | 744 - .../get_long_double_ru_RU.pass.cpp | 747 - .../get_long_double_zh_CN.pass.cpp | 774 - .../get_string_en_US.pass.cpp | 754 - .../tested_elsewhere.pass.cpp | 13 - .../locale.money.get/types.pass.cpp | 40 - .../locale.money.put/ctor.pass.cpp | 55 - .../put_long_double_en_US.pass.cpp | 588 - .../put_long_double_fr_FR.pass.cpp | 469 - .../put_long_double_ru_RU.pass.cpp | 469 - .../put_long_double_zh_CN.pass.cpp | 519 - .../put_string_en_US.pass.cpp | 588 - .../tested_elsewhere.pass.cpp | 13 - .../locale.money.put/types.pass.cpp | 40 - .../curr_symbol.pass.cpp | 190 - .../decimal_point.pass.cpp | 172 - .../frac_digits.pass.cpp | 159 - .../grouping.pass.cpp | 179 - .../neg_format.pass.cpp | 248 - .../negative_sign.pass.cpp | 175 - .../pos_format.pass.cpp | 232 - .../positive_sign.pass.cpp | 159 - .../thousands_sep.pass.cpp | 186 - .../locale.moneypunct/ctor.pass.cpp | 55 - .../curr_symbol.pass.cpp | 82 - .../decimal_point.pass.cpp | 82 - .../frac_digits.pass.cpp | 82 - .../grouping.pass.cpp | 82 - .../neg_format.pass.cpp | 95 - .../negative_sign.pass.cpp | 83 - .../pos_format.pass.cpp | 95 - .../positive_sign.pass.cpp | 82 - .../thousands_sep.pass.cpp | 82 - .../tested_elsewhere.pass.cpp | 13 - .../locale.moneypunct/money_base.pass.cpp | 36 - .../locale.moneypunct/types.pass.cpp | 48 - .../locale.nm.put/ctor.pass.cpp | 55 - .../facet.num.put.members/put_bool.pass.cpp | 102 - .../put_double.hex.pass.cpp | 3636 --- .../facet.num.put.members/put_double.pass.cpp | 14303 ---------- .../facet.num.put.members/put_long.pass.cpp | 346 - .../put_long_double.hex.pass.cpp | 3642 --- .../put_long_double.pass.cpp | 22680 ---------------- .../put_long_long.pass.cpp | 346 - .../put_pointer.pass.cpp | 51 - .../put_unsigned_long.pass.cpp | 349 - .../put_unsigned_long_long.pass.cpp | 346 - .../tested_elsewhere.pass.cpp | 13 - .../locale.nm.put/types.pass.cpp | 38 - .../locale.num.get/ctor.pass.cpp | 55 - .../facet.num.get.members/get_bool.pass.cpp | 232 - .../facet.num.get.members/get_double.pass.cpp | 281 - .../facet.num.get.members/get_float.pass.cpp | 211 - .../facet.num.get.members/get_long.pass.cpp | 528 - .../get_long_double.pass.cpp | 270 - .../get_long_long.pass.cpp | 108 - .../get_pointer.pass.cpp | 63 - .../get_unsigned_int.pass.cpp | 85 - .../get_unsigned_long.pass.cpp | 85 - .../get_unsigned_long_long.pass.cpp | 85 - .../get_unsigned_short.pass.cpp | 85 - .../test_min_max.pass.cpp | 66 - .../test_neg_one.pass.cpp | 164 - .../tested_elsewhere.pass.cpp | 13 - .../locale.num.get/types.pass.cpp | 35 - .../user_defined_char_type.pass.cpp | 152 - .../date_order.pass.cpp | 57 - .../date_order_wide.pass.cpp | 59 - .../locale.time.get.byname/get_date.pass.cpp | 159 - .../get_date_wide.pass.cpp | 109 - .../get_monthname.pass.cpp | 79 - .../get_monthname_wide.pass.cpp | 89 - .../locale.time.get.byname/get_one.pass.cpp | 241 - .../get_one_wide.pass.cpp | 212 - .../locale.time.get.byname/get_time.pass.cpp | 97 - .../get_time_wide.pass.cpp | 99 - .../get_weekday.pass.cpp | 96 - .../get_weekday_wide.pass.cpp | 94 - .../locale.time.get.byname/get_year.pass.cpp | 88 - .../get_year_wide.pass.cpp | 90 - .../locale.time.get/ctor.pass.cpp | 55 - .../date_order.pass.cpp | 36 - .../locale.time.get.members/get_date.pass.cpp | 54 - .../get_date_wide.pass.cpp | 56 - .../locale.time.get.members/get_many.pass.cpp | 71 - .../get_monthname.pass.cpp | 267 - .../get_monthname_wide.pass.cpp | 269 - .../locale.time.get.members/get_one.pass.cpp | 307 - .../locale.time.get.members/get_time.pass.cpp | 119 - .../get_time_wide.pass.cpp | 121 - .../get_weekday.pass.cpp | 222 - .../get_weekday_wide.pass.cpp | 224 - .../locale.time.get.members/get_year.pass.cpp | 141 - .../tested_elsewhere.pass.cpp | 13 - .../locale.time.get/time_base.pass.cpp | 33 - .../locale.time.get/types.pass.cpp | 44 - .../locale.time.put.byname/put1.pass.cpp | 95 - .../locale.time.put/ctor.pass.cpp | 55 - .../locale.time.put.members/put1.pass.cpp | 63 - .../locale.time.put.members/put2.pass.cpp | 337 - .../tested_elsewhere.pass.cpp | 13 - .../locale.time.put/types.pass.cpp | 35 - .../decimal_point.pass.cpp | 73 - .../locale.numpunct.byname/grouping.pass.cpp | 92 - .../thousands_sep.pass.cpp | 93 - .../locale.numpunct/ctor.pass.cpp | 72 - .../decimal_point.pass.cpp | 37 - .../facet.numpunct.members/falsename.pass.cpp | 37 - .../facet.numpunct.members/grouping.pass.cpp | 37 - .../thousands_sep.pass.cpp | 37 - .../facet.numpunct.members/truename.pass.cpp | 37 - .../tested_elsewhere.pass.cpp | 13 - .../locale.numpunct/types.pass.cpp | 55 - .../facets.examples/nothing_to_do.pass.cpp | 13 - .../locale.stdcvt/codecvt_mode.pass.cpp | 34 - .../locale.stdcvt/codecvt_utf16.pass.cpp | 50 - .../codecvt_utf16_always_noconv.pass.cpp | 52 - .../codecvt_utf16_encoding.pass.cpp | 52 - .../locale.stdcvt/codecvt_utf16_in.pass.cpp | 744 - .../codecvt_utf16_length.pass.cpp | 331 - .../codecvt_utf16_max_length.pass.cpp | 80 - .../locale.stdcvt/codecvt_utf16_out.pass.cpp | 360 - .../codecvt_utf16_unshift.pass.cpp | 63 - .../locale.stdcvt/codecvt_utf8.pass.cpp | 50 - .../codecvt_utf8_always_noconv.pass.cpp | 52 - .../codecvt_utf8_encoding.pass.cpp | 52 - .../locale.stdcvt/codecvt_utf8_in.pass.cpp | 365 - .../codecvt_utf8_length.pass.cpp | 201 - .../codecvt_utf8_max_length.pass.cpp | 80 - .../locale.stdcvt/codecvt_utf8_out.pass.cpp | 333 - .../codecvt_utf8_unshift.pass.cpp | 63 - .../codecvt_utf8_utf16_always_noconv.pass.cpp | 52 - .../codecvt_utf8_utf16_encoding.pass.cpp | 52 - .../codecvt_utf8_utf16_in.pass.cpp | 249 - .../codecvt_utf8_utf16_length.pass.cpp | 242 - .../codecvt_utf8_utf16_max_length.pass.cpp | 70 - .../codecvt_utf8_utf16_out.pass.cpp | 314 - .../codecvt_utf8_utf16_unshift.pass.cpp | 63 - .../locale.stdcvt/depr.verify.cpp | 22 - .../locale.stdcvt/remove.verify.cpp | 21 - .../locale.syn/nothing_to_do.pass.cpp | 13 - .../classification/isalnum.pass.cpp | 34 - .../classification/isalpha.pass.cpp | 34 - .../classification/isblank.pass.cpp | 33 - .../classification/iscntrl.pass.cpp | 34 - .../classification/isdigit.pass.cpp | 34 - .../classification/isgraph.pass.cpp | 34 - .../classification/islower.pass.cpp | 34 - .../classification/isprint.pass.cpp | 34 - .../classification/ispunct.pass.cpp | 34 - .../classification/isspace.pass.cpp | 34 - .../classification/isupper.pass.cpp | 34 - .../classification/isxdigit.pass.cpp | 34 - .../conversions.buffer/ctor.pass.cpp | 80 - .../conversions.buffer/depr.verify.cpp | 21 - .../conversions.buffer/overflow.pass.cpp | 119 - .../conversions.buffer/pbackfail.pass.cpp | 65 - .../conversions.buffer/rdbuf.pass.cpp | 38 - .../conversions.buffer/seekoff.pass.cpp | 66 - .../conversions.buffer/state.pass.cpp | 36 - .../conversions.buffer/test.pass.cpp | 41 - .../conversions.buffer/underflow.pass.cpp | 94 - .../conversions.character/tolower.pass.cpp | 34 - .../conversions.character/toupper.pass.cpp | 34 - .../conversions.string/converted.pass.cpp | 73 - .../conversions.string/ctor_codecvt.pass.cpp | 60 - .../ctor_codecvt_state.pass.cpp | 35 - .../conversions.string/ctor_copy.pass.cpp | 39 - .../ctor_err_string.pass.cpp | 80 - .../conversions.string/depr.verify.cpp | 20 - .../conversions.string/from_bytes.pass.cpp | 80 - .../conversions.string/state.pass.cpp | 33 - .../conversions.string/to_bytes.pass.cpp | 80 - .../conversions.string/types.pass.cpp | 42 - .../has_facet.pass.cpp | 35 - .../use_facet.pass.cpp | 59 - .../locale/locale.cons/assign.pass.cpp | 81 - .../locale/locale.cons/char_pointer.pass.cpp | 110 - .../locales/locale/locale.cons/copy.pass.cpp | 78 - .../locale/locale.cons/default.pass.cpp | 87 - .../locale_char_pointer_cat.pass.cpp | 79 - .../locale.cons/locale_facetptr.pass.cpp | 99 - .../locale.cons/locale_locale_cat.pass.cpp | 79 - .../locale.cons/locale_string_cat.pass.cpp | 79 - .../locale.cons/name_construction.pass.cpp | 56 - .../locale/locale.cons/string.pass.cpp | 83 - .../locale/locale.members/combine.pass.cpp | 109 - .../locale/locale.members/name.pass.cpp | 33 - .../locale/locale.operators/compare.pass.cpp | 42 - .../locale/locale.operators/eq.pass.cpp | 88 - .../locale/locale.statics/classic.pass.cpp | 70 - .../locale/locale.statics/global.pass.cpp | 75 - .../locale.category/category.pass.cpp | 57 - .../locale.facet/tested_elsewhere.pass.cpp | 13 - .../locale.id/tested_elsewhere.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../src/test/std/modules/std.compat.pass.cpp | 21 - .../libc++/src/test/std/modules/std.pass.cpp | 24 - .../namespace/addressable_functions.sh.cpp | 206 - .../bit/bit.cast/bit_cast.compile.pass.cpp | 62 - .../numerics/bit/bit.cast/bit_cast.pass.cpp | 282 - .../numerics/bit/bit.endian/endian.pass.cpp | 50 - .../bit/bit.pow.two/bit_ceil.pass.cpp | 143 - .../bit/bit.pow.two/bit_ceil.verify.cpp | 51 - .../bit/bit.pow.two/bit_floor.pass.cpp | 142 - .../bit/bit.pow.two/bit_width.pass.cpp | 145 - .../bit/bit.pow.two/has_single_bit.pass.cpp | 143 - .../bit/bitops.count/countl_one.pass.cpp | 140 - .../bit/bitops.count/countl_zero.pass.cpp | 139 - .../bit/bitops.count/countr_one.pass.cpp | 144 - .../bit/bitops.count/countr_zero.pass.cpp | 141 - .../bit/bitops.count/popcount.pass.cpp | 151 - .../bit/bitops.rot/nodiscard.verify.cpp | 18 - .../std/numerics/bit/bitops.rot/rotl.pass.cpp | 164 - .../std/numerics/bit/bitops.rot/rotr.pass.cpp | 164 - .../test/std/numerics/bit/byteswap.pass.cpp | 102 - .../src/test/std/numerics/c.math/abs.pass.cpp | 78 - .../test/std/numerics/c.math/abs.verify.cpp | 26 - .../test/std/numerics/c.math/cmath.pass.cpp | 1665 -- .../test/std/numerics/c.math/ctgmath.pass.cpp | 23 - .../std/numerics/c.math/isfinite.pass.cpp | 70 - .../test/std/numerics/c.math/isinf.pass.cpp | 70 - .../test/std/numerics/c.math/isnan.pass.cpp | 70 - .../std/numerics/c.math/isnormal.pass.cpp | 70 - .../test/std/numerics/c.math/lerp.pass.cpp | 74 - .../std/numerics/c.math/tgmath_h.pass.cpp | 19 - .../numerics/cfenv/cfenv.syn/cfenv.pass.cpp | 83 - .../test/std/numerics/complex.number/cases.h | 261 - .../complex.number/ccmplx/ccomplex.pass.cpp | 21 - .../cmplx.over/UDT_is_rejected.verify.cpp | 75 - .../complex.number/cmplx.over/arg.pass.cpp | 57 - .../complex.number/cmplx.over/conj.pass.cpp | 82 - .../complex.number/cmplx.over/imag.pass.cpp | 69 - .../complex.number/cmplx.over/norm.pass.cpp | 70 - .../complex.number/cmplx.over/pow.pass.cpp | 106 - .../complex.number/cmplx.over/proj.pass.cpp | 68 - .../complex.number/cmplx.over/real.pass.cpp | 69 - .../complex.literals/literals.pass.cpp | 52 - .../literals1.compile.fail.cpp | 20 - .../complex.literals/literals1.pass.cpp | 44 - .../complex.literals/literals2.pass.cpp | 44 - .../assignment_complex.pass.cpp | 67 - .../assignment_scalar.pass.cpp | 48 - .../divide_equal_complex.pass.cpp | 63 - .../divide_equal_scalar.pass.cpp | 55 - .../minus_equal_complex.pass.cpp | 63 - .../minus_equal_scalar.pass.cpp | 51 - .../plus_equal_complex.pass.cpp | 63 - .../plus_equal_scalar.pass.cpp | 51 - .../times_equal_complex.pass.cpp | 63 - .../times_equal_scalar.pass.cpp | 55 - .../complex.members/construct.pass.cpp | 73 - .../complex.members/real_imag.pass.cpp | 75 - .../complex_divide_complex.pass.cpp | 163 - .../complex_divide_scalar.pass.cpp | 44 - .../complex_equals_complex.pass.cpp | 50 - .../complex_equals_scalar.pass.cpp | 92 - .../complex_minus_complex.pass.cpp | 51 - .../complex.ops/complex_minus_scalar.pass.cpp | 51 - .../complex_not_equals_complex.pass.cpp | 72 - .../complex_not_equals_scalar.pass.cpp | 92 - .../complex.ops/complex_plus_complex.pass.cpp | 52 - .../complex.ops/complex_plus_scalar.pass.cpp | 52 - .../complex_times_complex.pass.cpp | 134 - .../complex.ops/complex_times_scalar.pass.cpp | 44 - .../scalar_divide_complex.pass.cpp | 44 - .../scalar_equals_complex.pass.cpp | 92 - .../complex.ops/scalar_minus_complex.pass.cpp | 50 - .../scalar_not_equals_complex.pass.cpp | 92 - .../complex.ops/scalar_plus_complex.pass.cpp | 51 - .../complex.ops/scalar_times_complex.pass.cpp | 44 - .../complex.ops/stream_input.pass.cpp | 104 - .../complex.ops/stream_output.pass.cpp | 139 - .../complex.ops/unary_minus.pass.cpp | 43 - .../complex.ops/unary_plus.pass.cpp | 43 - .../double_float_explicit.pass.cpp | 40 - .../double_float_implicit.pass.cpp | 40 - .../double_long_double_explicit.pass.cpp | 40 - ...uble_long_double_implicit.compile.fail.cpp | 28 - .../float_double_explicit.pass.cpp | 40 - .../float_double_implicit.compile.fail.cpp | 28 - .../float_long_double_explicit.pass.cpp | 40 - ...loat_long_double_implicit.compile.fail.cpp | 28 - .../long_double_double_explicit.pass.cpp | 40 - .../long_double_double_implicit.pass.cpp | 40 - .../long_double_float_explicit.pass.cpp | 40 - .../long_double_float_implicit.pass.cpp | 40 - .../complex.synopsis/nothing_to_do.pass.cpp | 13 - .../complex.transcendentals/acos.pass.cpp | 141 - .../complex.transcendentals/acosh.pass.cpp | 152 - .../complex.transcendentals/asin.pass.cpp | 120 - .../complex.transcendentals/asinh.pass.cpp | 129 - .../complex.transcendentals/atan.pass.cpp | 69 - .../complex.transcendentals/atanh.pass.cpp | 133 - .../complex.transcendentals/cos.pass.cpp | 68 - .../complex.transcendentals/cosh.pass.cpp | 118 - .../complex.transcendentals/exp.pass.cpp | 120 - .../complex.transcendentals/log.pass.cpp | 133 - .../complex.transcendentals/log10.pass.cpp | 67 - .../pow_complex_complex.pass.cpp | 72 - .../pow_complex_scalar.pass.cpp | 70 - .../pow_scalar_complex.pass.cpp | 70 - .../complex.transcendentals/sin.pass.cpp | 69 - .../complex.transcendentals/sinh.pass.cpp | 119 - .../complex.transcendentals/sqrt.pass.cpp | 111 - .../complex.transcendentals/tan.pass.cpp | 70 - .../complex.transcendentals/tanh.pass.cpp | 101 - .../complex.number/complex.tuple/get.pass.cpp | 133 - .../complex.tuple/get.verify.cpp | 60 - .../tuple_element.compile.pass.cpp | 43 - .../complex.tuple/tuple_element.verify.cpp | 31 - .../complex.tuple/tuple_size.compile.pass.cpp | 39 - .../complex.value.ops/abs.pass.cpp | 65 - .../complex.value.ops/arg.pass.cpp | 137 - .../complex.value.ops/conj.pass.cpp | 44 - .../complex.value.ops/imag.pass.cpp | 35 - .../complex.value.ops/norm.pass.cpp | 65 - .../complex.value.ops/polar.pass.cpp | 114 - .../complex.value.ops/proj.pass.cpp | 73 - .../complex.value.ops/real.pass.cpp | 35 - .../complex.number/complex/types.pass.cpp | 39 - .../numerics/complex.number/layout.pass.cpp | 39 - .../gslice.access/tested_elsewhere.pass.cpp | 13 - .../class.gslice/gslice.cons/default.pass.cpp | 28 - .../gslice.cons/start_size_stride.pass.cpp | 41 - .../class.slice/cons.slice/default.pass.cpp | 28 - .../cons.slice/start_size_stride.pass.cpp | 28 - .../slice.access/tested_elsewhere.pass.cpp | 13 - .../class.slice/slice.ops/slice.ops.pass.cpp | 65 - .../default.compile.fail.cpp | 23 - .../gslice.array.assign/gslice_array.pass.cpp | 84 - .../gslice.array.assign/valarray.pass.cpp | 80 - .../addition.pass.cpp | 80 - .../gslice.array.comp.assign/and.pass.cpp | 80 - .../gslice.array.comp.assign/divide.pass.cpp | 80 - .../gslice.array.comp.assign/modulo.pass.cpp | 80 - .../multiply.pass.cpp | 80 - .../gslice.array.comp.assign/or.pass.cpp | 80 - .../shift_left.pass.cpp | 80 - .../shift_right.pass.cpp | 80 - .../subtraction.pass.cpp | 80 - .../gslice.array.comp.assign/xor.pass.cpp | 80 - .../gslice.array.fill/assign_value.pass.cpp | 77 - .../template.gslice.array/types.pass.cpp | 27 - .../default.compile.fail.cpp | 23 - .../indirect_array.pass.cpp | 83 - .../indirect.array.assign/valarray.pass.cpp | 80 - .../addition.pass.cpp | 80 - .../indirect.array.comp.assign/and.pass.cpp | 80 - .../divide.pass.cpp | 80 - .../modulo.pass.cpp | 80 - .../multiply.pass.cpp | 80 - .../indirect.array.comp.assign/or.pass.cpp | 80 - .../shift_left.pass.cpp | 80 - .../shift_right.pass.cpp | 80 - .../subtraction.pass.cpp | 80 - .../indirect.array.comp.assign/xor.pass.cpp | 80 - .../indirect.array.fill/assign_value.pass.cpp | 77 - .../template.indirect.array/types.pass.cpp | 27 - .../default.compile.fail.cpp | 23 - .../mask.array.assign/mask_array.pass.cpp | 69 - .../mask.array.assign/valarray.pass.cpp | 52 - .../mask.array.comp.assign/addition.pass.cpp | 52 - .../mask.array.comp.assign/and.pass.cpp | 52 - .../mask.array.comp.assign/divide.pass.cpp | 52 - .../mask.array.comp.assign/modulo.pass.cpp | 52 - .../mask.array.comp.assign/multiply.pass.cpp | 52 - .../mask.array.comp.assign/or.pass.cpp | 52 - .../shift_left.pass.cpp | 52 - .../shift_right.pass.cpp | 52 - .../subtraction.pass.cpp | 52 - .../mask.array.comp.assign/xor.pass.cpp | 52 - .../mask.array.fill/assign_value.pass.cpp | 48 - .../template.mask.array/types.pass.cpp | 27 - .../default.compile.fail.cpp | 23 - .../slice.arr.assign/slice_array.pass.cpp | 57 - .../slice.arr.assign/template.pass.cpp | 33 - .../slice.arr.assign/valarray.pass.cpp | 61 - .../slice.arr.comp.assign/addition.pass.cpp | 46 - .../slice.arr.comp.assign/and.pass.cpp | 46 - .../slice.arr.comp.assign/divide.pass.cpp | 46 - .../slice.arr.comp.assign/modulo.pass.cpp | 46 - .../slice.arr.comp.assign/multiply.pass.cpp | 46 - .../slice.arr.comp.assign/or.pass.cpp | 46 - .../slice.arr.comp.assign/shift_left.pass.cpp | 46 - .../shift_right.pass.cpp | 46 - .../subtraction.pass.cpp | 46 - .../slice.arr.comp.assign/xor.pass.cpp | 46 - .../slice.arr.fill/assign_value.pass.cpp | 44 - .../template.slice.array/types.pass.cpp | 27 - .../numarray/template.valarray/types.pass.cpp | 29 - .../valarray.access/access.pass.cpp | 36 - .../valarray.access/const_access.pass.cpp | 34 - .../valarray.assign/copy_assign.pass.cpp | 89 - .../gslice_array_assign.pass.cpp | 61 - .../indirect_array_assign.pass.cpp | 61 - .../initializer_list_assign.pass.cpp | 87 - .../mask_array_assign.pass.cpp | 38 - .../valarray.assign/move_assign.pass.cpp | 67 - .../slice_array_assign.pass.cpp | 34 - .../value_assign.addressof.compile.pass.cpp | 26 - .../valarray.assign/value_assign.pass.cpp | 35 - .../valarray.cassign/and_valarray.pass.cpp | 82 - .../valarray.cassign/and_value.pass.cpp | 37 - .../valarray.cassign/divide_valarray.pass.cpp | 82 - .../valarray.cassign/divide_value.pass.cpp | 37 - .../valarray.cassign/minus_valarray.pass.cpp | 82 - .../valarray.cassign/minus_value.pass.cpp | 37 - .../valarray.cassign/modulo_valarray.pass.cpp | 82 - .../valarray.cassign/modulo_value.pass.cpp | 37 - .../valarray.cassign/or_valarray.pass.cpp | 82 - .../valarray.cassign/or_value.pass.cpp | 37 - .../valarray.cassign/plus_valarray.pass.cpp | 82 - .../valarray.cassign/plus_value.pass.cpp | 37 - .../shift_left_valarray.pass.cpp | 82 - .../shift_left_value.pass.cpp | 37 - .../shift_right_valarray.pass.cpp | 80 - .../shift_right_value.pass.cpp | 37 - .../valarray.cassign/times_valarray.pass.cpp | 80 - .../valarray.cassign/times_value.pass.cpp | 37 - .../valarray.cassign/xor_valarray.pass.cpp | 80 - .../valarray.cassign/xor_value.pass.cpp | 37 - .../valarray.cons/copy.pass.cpp | 59 - .../valarray.cons/deduct.pass.cpp | 73 - .../valarray.cons/default.pass.cpp | 52 - .../valarray.cons/gslice_array.pass.cpp | 60 - .../valarray.cons/indirect_array.pass.cpp | 60 - .../valarray.cons/initializer_list.pass.cpp | 44 - .../valarray.cons/mask_array.pass.cpp | 37 - .../valarray.cons/move.pass.cpp | 65 - .../valarray.cons/pointer_size.pass.cpp | 56 - .../valarray.cons/size.pass.cpp | 58 - .../valarray.cons/slice_array.pass.cpp | 33 - .../valarray.cons/value_size.pass.cpp | 42 - .../valarray.members/apply_cref.pass.cpp | 54 - .../valarray.members/apply_value.pass.cpp | 54 - .../valarray.members/cshift.pass.cpp | 130 - .../valarray.members/max.pass.cpp | 38 - .../valarray.members/min.pass.cpp | 38 - .../valarray.members/resize.pass.cpp | 45 - .../valarray.members/shift.pass.cpp | 130 - .../valarray.members/size.pass.cpp | 44 - .../valarray.members/sum.pass.cpp | 31 - .../valarray.members/swap.pass.cpp | 89 - .../valarray.sub/gslice_const.pass.cpp | 82 - .../valarray.sub/gslice_non_const.pass.cpp | 99 - .../indirect_array_const.pass.cpp | 74 - .../indirect_array_non_const.pass.cpp | 75 - .../valarray.sub/slice_const.pass.cpp | 42 - .../valarray.sub/slice_non_const.pass.cpp | 56 - .../valarray.sub/valarray_bool_const.pass.cpp | 54 - .../valarray_bool_non_const.pass.cpp | 55 - .../valarray.unary/bit_not.pass.cpp | 68 - .../valarray.unary/negate.pass.cpp | 78 - .../valarray.unary/not.pass.cpp | 54 - .../valarray.unary/plus.pass.cpp | 78 - .../and_valarray_valarray.pass.cpp | 39 - .../and_valarray_value.pass.cpp | 36 - .../and_value_valarray.pass.cpp | 36 - .../divide_valarray_valarray.pass.cpp | 39 - .../divide_valarray_value.pass.cpp | 36 - .../divide_value_valarray.pass.cpp | 36 - .../minus_valarray_valarray.pass.cpp | 39 - .../minus_valarray_value.pass.cpp | 36 - .../minus_value_valarray.pass.cpp | 36 - .../modulo_valarray_valarray.pass.cpp | 39 - .../modulo_valarray_value.pass.cpp | 36 - .../modulo_value_valarray.pass.cpp | 36 - .../or_valarray_valarray.pass.cpp | 39 - .../or_valarray_value.pass.cpp | 36 - .../or_value_valarray.pass.cpp | 36 - .../plus_valarray_valarray.pass.cpp | 39 - .../plus_valarray_value.pass.cpp | 36 - .../plus_value_valarray.pass.cpp | 36 - .../shift_left_valarray_valarray.pass.cpp | 39 - .../shift_left_valarray_value.pass.cpp | 36 - .../shift_left_value_valarray.pass.cpp | 36 - .../shift_right_valarray_valarray.pass.cpp | 39 - .../shift_right_valarray_value.pass.cpp | 36 - .../shift_right_value_valarray.pass.cpp | 36 - .../times_valarray_valarray.pass.cpp | 39 - .../times_valarray_value.pass.cpp | 36 - .../times_value_valarray.pass.cpp | 36 - .../xor_valarray_valarray.pass.cpp | 39 - .../xor_valarray_value.pass.cpp | 36 - .../xor_value_valarray.pass.cpp | 36 - .../and_valarray_valarray.pass.cpp | 44 - .../and_valarray_value.pass.cpp | 57 - .../and_value_valarray.pass.cpp | 57 - .../equal_valarray_valarray.pass.cpp | 44 - .../equal_valarray_value.pass.cpp | 42 - .../equal_value_valarray.pass.cpp | 42 - .../greater_equal_valarray_valarray.pass.cpp | 44 - .../greater_equal_valarray_value.pass.cpp | 42 - .../greater_equal_value_valarray.pass.cpp | 42 - .../greater_valarray_valarray.pass.cpp | 44 - .../greater_valarray_value.pass.cpp | 42 - .../greater_value_valarray.pass.cpp | 42 - .../less_equal_valarray_valarray.pass.cpp | 44 - .../less_equal_valarray_value.pass.cpp | 42 - .../less_equal_value_valarray.pass.cpp | 42 - .../less_valarray_valarray.pass.cpp | 44 - .../less_valarray_value.pass.cpp | 42 - .../less_value_valarray.pass.cpp | 42 - .../not_equal_valarray_valarray.pass.cpp | 44 - .../not_equal_valarray_value.pass.cpp | 42 - .../not_equal_value_valarray.pass.cpp | 42 - .../or_valarray_valarray.pass.cpp | 44 - .../or_valarray_value.pass.cpp | 57 - .../or_value_valarray.pass.cpp | 57 - .../valarray.special/swap.pass.cpp | 91 - .../valarray.transcend/abs_valarray.pass.cpp | 38 - .../valarray.transcend/acos_valarray.pass.cpp | 43 - .../valarray.transcend/asin_valarray.pass.cpp | 43 - .../atan2_valarray_valarray.pass.cpp | 45 - .../atan2_valarray_value.pass.cpp | 43 - .../atan2_value_valarray.pass.cpp | 43 - .../valarray.transcend/atan_valarray.pass.cpp | 43 - .../valarray.transcend/cos_valarray.pass.cpp | 43 - .../valarray.transcend/cosh_valarray.pass.cpp | 43 - .../valarray.transcend/exp_valarray.pass.cpp | 43 - .../log10_valarray.pass.cpp | 43 - .../valarray.transcend/log_valarray.pass.cpp | 43 - .../pow_valarray_valarray.pass.cpp | 45 - .../pow_valarray_value.pass.cpp | 43 - .../pow_value_valarray.pass.cpp | 43 - .../valarray.transcend/sin_valarray.pass.cpp | 43 - .../valarray.transcend/sinh_valarray.pass.cpp | 43 - .../valarray.transcend/sqrt_valarray.pass.cpp | 43 - .../valarray.transcend/tan_valarray.pass.cpp | 43 - .../valarray.transcend/tanh_valarray.pass.cpp | 43 - .../valarray.transcend/valarray_helper.h | 18 - .../valarray.range/begin-end.pass.cpp | 69 - .../valarray.syn/nothing_to_do.pass.cpp | 13 - .../std/numerics/numbers/defined.pass.cpp | 78 - .../std/numerics/numbers/illformed.verify.cpp | 25 - .../std/numerics/numbers/specialize.pass.cpp | 79 - .../std/numerics/numbers/user_type.pass.cpp | 56 - .../test/std/numerics/numbers/value.pass.cpp | 88 - .../accumulate/accumulate.pass.cpp | 66 - .../accumulate/accumulate_op.pass.cpp | 116 - .../adjacent_difference.pass.cpp | 128 - .../adjacent_difference_op.pass.cpp | 185 - .../exclusive.scan/exclusive_scan.pass.cpp | 115 - .../exclusive_scan_init_op.pass.cpp | 103 - .../inclusive.scan/inclusive_scan.pass.cpp | 121 - .../inclusive.scan/inclusive_scan_op.pass.cpp | 125 - .../inclusive_scan_op_init.pass.cpp | 142 - .../inner.product/inner_product.pass.cpp | 95 - .../inner.product/inner_product_comp.pass.cpp | 156 - .../numeric.ops/numeric.iota/iota.pass.cpp | 51 - .../gcd.bool1.compile.fail.cpp | 26 - .../gcd.bool2.compile.fail.cpp | 26 - .../gcd.bool3.compile.fail.cpp | 26 - .../gcd.bool4.compile.fail.cpp | 26 - .../gcd.not_integral1.compile.fail.cpp | 26 - .../gcd.not_integral2.compile.fail.cpp | 26 - .../numeric.ops/numeric.ops.gcd/gcd.pass.cpp | 147 - .../lcm.bool1.compile.fail.cpp | 26 - .../lcm.bool2.compile.fail.cpp | 26 - .../lcm.bool3.compile.fail.cpp | 26 - .../lcm.bool4.compile.fail.cpp | 26 - .../lcm.not_integral1.compile.fail.cpp | 26 - .../lcm.not_integral2.compile.fail.cpp | 26 - .../numeric.ops/numeric.ops.lcm/lcm.pass.cpp | 145 - .../midpoint.float.pass.cpp | 134 - .../midpoint.integer.pass.cpp | 144 - .../midpoint.pointer.pass.cpp | 98 - .../numeric.ops.midpoint/midpoint.verify.cpp | 39 - .../numeric.ops.sat/add_sat.compile.pass.cpp | 77 - .../numeric.ops.sat/add_sat.pass.cpp | 173 - .../numeric.ops.sat/div_sat.assert.pass.cpp | 58 - .../numeric.ops.sat/div_sat.compile.pass.cpp | 108 - .../numeric.ops.sat/div_sat.pass.cpp | 158 - .../numeric.ops.sat/mul_sat.compile.pass.cpp | 77 - .../numeric.ops.sat/mul_sat.pass.cpp | 180 - .../saturate_cast.compile.pass.cpp | 79 - .../numeric.ops.sat/saturate_cast.pass.cpp | 397 - .../numeric.ops.sat/sub_sat.compile.pass.cpp | 77 - .../numeric.ops.sat/sub_sat.pass.cpp | 162 - .../partial.sum/partial_sum.pass.cpp | 83 - .../partial.sum/partial_sum_op.pass.cpp | 140 - .../numeric.ops/reduce/reduce.pass.cpp | 78 - .../numeric.ops/reduce/reduce_init.pass.cpp | 82 - .../reduce/reduce_init_op.pass.cpp | 90 - ...sform_exclusive_scan_init_bop_uop.pass.cpp | 168 - .../transform_inclusive_scan_bop_uop.pass.cpp | 140 - ...sform_inclusive_scan_bop_uop_init.pass.cpp | 170 - ...orm_reduce_iter_iter_init_bop_uop.pass.cpp | 137 - ...nsform_reduce_iter_iter_iter_init.pass.cpp | 123 - ..._reduce_iter_iter_iter_init_op_op.pass.cpp | 127 - .../nothing_to_do.pass.cpp | 13 - .../numerics.general/nothing_to_do.pass.cpp | 13 - .../rand.adapt.disc/assign.pass.cpp | 59 - .../rand.adapt/rand.adapt.disc/copy.pass.cpp | 57 - .../rand.adapt.disc/ctor_engine_copy.pass.cpp | 32 - .../rand.adapt.disc/ctor_engine_move.pass.cpp | 34 - .../rand.adapt.disc/ctor_result_type.pass.cpp | 57 - .../rand.adapt.disc/ctor_sseq.pass.cpp | 61 - .../rand.adapt.disc/default.pass.cpp | 45 - .../rand.adapt.disc/discard.pass.cpp | 55 - .../rand.adapt/rand.adapt.disc/eval.pass.cpp | 45 - .../rand.adapt/rand.adapt.disc/io.pass.cpp | 68 - .../rand.adapt.disc/result_type.pass.cpp | 45 - .../rand.adapt.disc/seed_result_type.pass.cpp | 53 - .../rand.adapt.disc/seed_sseq.pass.cpp | 51 - .../rand.adapt.disc/values.pass.cpp | 73 - .../rand.adapt.ibits/assign.pass.cpp | 59 - .../rand.adapt/rand.adapt.ibits/copy.pass.cpp | 57 - .../ctor_engine_copy.pass.cpp | 32 - .../ctor_engine_move.pass.cpp | 35 - .../ctor_result_type.pass.cpp | 57 - .../rand.adapt.ibits/ctor_sseq.pass.cpp | 61 - .../rand.adapt.ibits/default.pass.cpp | 45 - .../rand.adapt.ibits/discard.pass.cpp | 55 - .../rand.adapt/rand.adapt.ibits/eval.pass.cpp | 144 - .../rand.adapt/rand.adapt.ibits/io.pass.cpp | 68 - .../rand.adapt.ibits/result_type.pass.cpp | 86 - .../seed_result_type.pass.cpp | 53 - .../rand.adapt.ibits/seed_sseq.pass.cpp | 51 - .../rand.adapt.ibits/values.pass.cpp | 60 - .../rand.adapt.shuf/assign.pass.cpp | 42 - .../rand.adapt/rand.adapt.shuf/copy.pass.cpp | 41 - .../rand.adapt.shuf/ctor_engine_copy.pass.cpp | 36 - .../rand.adapt.shuf/ctor_engine_move.pass.cpp | 39 - .../rand.adapt.shuf/ctor_result_type.pass.cpp | 82 - .../rand.adapt.shuf/ctor_sseq.pass.cpp | 85 - .../rand.adapt.shuf/default.pass.cpp | 35 - .../rand.adapt.shuf/discard.pass.cpp | 40 - .../rand.adapt/rand.adapt.shuf/eval.pass.cpp | 96 - .../rand.adapt/rand.adapt.shuf/io.pass.cpp | 53 - .../rand.adapt.shuf/result_type.pass.cpp | 86 - .../rand.adapt.shuf/seed_result_type.pass.cpp | 39 - .../rand.adapt.shuf/seed_sseq.pass.cpp | 38 - .../rand.adapt.shuf/values.pass.cpp | 52 - .../numerics/rand/rand.device/ctor.pass.cpp | 110 - .../rand/rand.device/entropy.pass.cpp | 30 - .../numerics/rand/rand.device/eval.pass.cpp | 46 - .../rand.dist.bern.bernoulli/assign.pass.cpp | 36 - .../rand.dist.bern.bernoulli/copy.pass.cpp | 34 - .../ctor_double.pass.cpp | 54 - .../ctor_param.pass.cpp | 31 - .../rand.dist.bern.bernoulli/eq.pass.cpp | 39 - .../rand.dist.bern.bernoulli/eval.pass.cpp | 107 - .../eval_param.pass.cpp | 111 - .../get_param.pass.cpp | 31 - .../rand.dist.bern.bernoulli/io.pass.cpp | 45 - .../rand.dist.bern.bernoulli/max.pass.cpp | 29 - .../rand.dist.bern.bernoulli/min.pass.cpp | 29 - .../param_assign.pass.cpp | 33 - .../param_copy.pass.cpp | 32 - .../param_ctor.pass.cpp | 37 - .../param_eq.pass.cpp | 39 - .../param_types.pass.cpp | 30 - .../set_param.pass.cpp | 32 - .../rand.dist.bern.bernoulli/types.pass.cpp | 29 - .../rand.dist.bern.bin/assign.pass.cpp | 37 - .../rand.dist.bern.bin/copy.pass.cpp | 35 - .../ctor_int_double.pass.cpp | 63 - .../rand.dist.bern.bin/ctor_param.pass.cpp | 33 - .../rand.dist.bern.bin/eq.pass.cpp | 46 - .../rand.dist.bern.bin/eval.PR44847.pass.cpp | 169 - .../rand.dist.bern.bin/eval.pass.cpp | 541 - .../rand.dist.bern.bin/eval_param.pass.cpp | 163 - .../rand.dist.bern.bin/get_param.pass.cpp | 32 - .../rand.dist.bern.bin/io.pass.cpp | 46 - .../rand.dist.bern.bin/max.pass.cpp | 30 - .../rand.dist.bern.bin/min.pass.cpp | 30 - .../rand.dist.bern.bin/param_assign.pass.cpp | 35 - .../rand.dist.bern.bin/param_copy.pass.cpp | 34 - .../rand.dist.bern.bin/param_ctor.pass.cpp | 47 - .../rand.dist.bern.bin/param_eq.pass.cpp | 40 - .../rand.dist.bern.bin/param_types.pass.cpp | 31 - .../rand.dist.bern.bin/set_param.pass.cpp | 33 - .../rand.dist.bern.bin/types.pass.cpp | 35 - .../rand.dist.bern.geo/assign.pass.cpp | 37 - .../rand.dist.bern.geo/copy.pass.cpp | 35 - .../rand.dist.bern.geo/ctor_double.pass.cpp | 54 - .../rand.dist.bern.geo/ctor_param.pass.cpp | 32 - .../rand.dist.bern.geo/eq.pass.cpp | 40 - .../rand.dist.bern.geo/eval.pass.cpp | 327 - .../rand.dist.bern.geo/eval_param.pass.cpp | 163 - .../rand.dist.bern.geo/get_param.pass.cpp | 32 - .../rand.dist.bern.geo/io.pass.cpp | 46 - .../rand.dist.bern.geo/max.pass.cpp | 32 - .../rand.dist.bern.geo/min.pass.cpp | 30 - .../rand.dist.bern.geo/param_assign.pass.cpp | 34 - .../rand.dist.bern.geo/param_copy.pass.cpp | 33 - .../rand.dist.bern.geo/param_ctor.pass.cpp | 38 - .../rand.dist.bern.geo/param_eq.pass.cpp | 40 - .../rand.dist.bern.geo/param_types.pass.cpp | 31 - .../rand.dist.bern.geo/set_param.pass.cpp | 33 - .../rand.dist.bern.geo/types.pass.cpp | 35 - .../rand.dist.bern.negbin/assign.pass.cpp | 37 - .../rand.dist.bern.negbin/copy.pass.cpp | 35 - .../ctor_int_double.pass.cpp | 63 - .../rand.dist.bern.negbin/ctor_param.pass.cpp | 33 - .../rand.dist.bern.negbin/eq.pass.cpp | 46 - .../rand.dist.bern.negbin/eval.pass.cpp | 324 - .../rand.dist.bern.negbin/eval_param.pass.cpp | 163 - .../rand.dist.bern.negbin/get_param.pass.cpp | 32 - .../rand.dist.bern.negbin/io.pass.cpp | 46 - .../rand.dist.bern.negbin/max.pass.cpp | 32 - .../rand.dist.bern.negbin/min.pass.cpp | 30 - .../param_assign.pass.cpp | 35 - .../rand.dist.bern.negbin/param_copy.pass.cpp | 34 - .../rand.dist.bern.negbin/param_ctor.pass.cpp | 47 - .../rand.dist.bern.negbin/param_eq.pass.cpp | 40 - .../param_types.pass.cpp | 31 - .../rand.dist.bern.negbin/set_param.pass.cpp | 33 - .../rand.dist.bern.negbin/types.pass.cpp | 35 - .../rand.dist.norm.cauchy/assign.pass.cpp | 37 - .../rand.dist.norm.cauchy/copy.pass.cpp | 35 - .../ctor_double_double.pass.cpp | 63 - .../rand.dist.norm.cauchy/ctor_param.pass.cpp | 33 - .../rand.dist.norm.cauchy/eq.pass.cpp | 40 - .../rand.dist.norm.cauchy/eval.pass.cpp | 82 - .../rand.dist.norm.cauchy/eval_param.pass.cpp | 88 - .../rand.dist.norm.cauchy/get_param.pass.cpp | 32 - .../rand.dist.norm.cauchy/io.pass.cpp | 46 - .../rand.dist.norm.cauchy/max.pass.cpp | 33 - .../rand.dist.norm.cauchy/min.pass.cpp | 32 - .../param_assign.pass.cpp | 35 - .../rand.dist.norm.cauchy/param_copy.pass.cpp | 34 - .../rand.dist.norm.cauchy/param_ctor.pass.cpp | 47 - .../rand.dist.norm.cauchy/param_eq.pass.cpp | 40 - .../param_types.pass.cpp | 31 - .../rand.dist.norm.cauchy/set_param.pass.cpp | 33 - .../rand.dist.norm.cauchy/types.pass.cpp | 37 - .../rand.dist.norm.chisq/assign.pass.cpp | 37 - .../rand.dist.norm.chisq/copy.pass.cpp | 35 - .../rand.dist.norm.chisq/ctor_double.pass.cpp | 54 - .../rand.dist.norm.chisq/ctor_param.pass.cpp | 32 - .../rand.dist.norm.chisq/eq.pass.cpp | 40 - .../rand.dist.norm.chisq/eval.pass.cpp | 155 - .../rand.dist.norm.chisq/eval_param.pass.cpp | 161 - .../rand.dist.norm.chisq/get_param.pass.cpp | 32 - .../rand.dist.norm.chisq/io.pass.cpp | 46 - .../rand.dist.norm.chisq/max.pass.cpp | 33 - .../rand.dist.norm.chisq/min.pass.cpp | 30 - .../param_assign.pass.cpp | 34 - .../rand.dist.norm.chisq/param_copy.pass.cpp | 33 - .../rand.dist.norm.chisq/param_ctor.pass.cpp | 38 - .../rand.dist.norm.chisq/param_eq.pass.cpp | 40 - .../rand.dist.norm.chisq/param_types.pass.cpp | 31 - .../rand.dist.norm.chisq/set_param.pass.cpp | 33 - .../rand.dist.norm.chisq/types.pass.cpp | 37 - .../rand.dist.norm.f/assign.pass.cpp | 37 - .../rand.dist.norm.f/copy.pass.cpp | 35 - .../ctor_double_double.pass.cpp | 63 - .../rand.dist.norm.f/ctor_param.pass.cpp | 33 - .../rand.dist.norm.f/eq.pass.cpp | 40 - .../rand.dist.norm.f/eval.pass.cpp | 106 - .../rand.dist.norm.f/eval_param.pass.cpp | 112 - .../rand.dist.norm.f/get_param.pass.cpp | 32 - .../rand.dist.norm.f/io.pass.cpp | 46 - .../rand.dist.norm.f/max.pass.cpp | 33 - .../rand.dist.norm.f/min.pass.cpp | 30 - .../rand.dist.norm.f/param_assign.pass.cpp | 35 - .../rand.dist.norm.f/param_copy.pass.cpp | 34 - .../rand.dist.norm.f/param_ctor.pass.cpp | 47 - .../rand.dist.norm.f/param_eq.pass.cpp | 40 - .../rand.dist.norm.f/param_types.pass.cpp | 31 - .../rand.dist.norm.f/set_param.pass.cpp | 33 - .../rand.dist.norm.f/types.pass.cpp | 37 - .../rand.dist.norm.lognormal/assign.pass.cpp | 37 - .../rand.dist.norm.lognormal/copy.pass.cpp | 35 - .../ctor_double_double.pass.cpp | 63 - .../ctor_param.pass.cpp | 33 - .../rand.dist.norm.lognormal/eq.pass.cpp | 40 - .../rand.dist.norm.lognormal/eval.pass.cpp | 262 - .../eval_param.PR52906.pass.cpp | 38 - .../eval_param.pass.cpp | 272 - .../get_param.pass.cpp | 32 - .../rand.dist.norm.lognormal/io.pass.cpp | 46 - .../rand.dist.norm.lognormal/max.pass.cpp | 33 - .../rand.dist.norm.lognormal/min.pass.cpp | 30 - .../param_assign.pass.cpp | 35 - .../param_copy.pass.cpp | 34 - .../param_ctor.pass.cpp | 47 - .../param_eq.pass.cpp | 40 - .../param_types.pass.cpp | 31 - .../set_param.pass.cpp | 33 - .../rand.dist.norm.lognormal/types.pass.cpp | 37 - .../rand.dist.norm.normal/assign.pass.cpp | 37 - .../rand.dist.norm.normal/copy.pass.cpp | 35 - .../ctor_double_double.pass.cpp | 63 - .../rand.dist.norm.normal/ctor_param.pass.cpp | 33 - .../rand.dist.norm.normal/eq.pass.cpp | 40 - .../rand.dist.norm.normal/eval.pass.cpp | 73 - .../rand.dist.norm.normal/eval_param.pass.cpp | 75 - .../rand.dist.norm.normal/get_param.pass.cpp | 32 - .../rand.dist.norm.normal/io.pass.cpp | 46 - .../rand.dist.norm.normal/max.pass.cpp | 33 - .../rand.dist.norm.normal/min.pass.cpp | 32 - .../param_assign.pass.cpp | 35 - .../rand.dist.norm.normal/param_copy.pass.cpp | 34 - .../rand.dist.norm.normal/param_ctor.pass.cpp | 47 - .../rand.dist.norm.normal/param_eq.pass.cpp | 40 - .../param_types.pass.cpp | 31 - .../rand.dist.norm.normal/set_param.pass.cpp | 33 - .../rand.dist.norm.normal/types.pass.cpp | 37 - .../rand.dist.norm.t/assign.pass.cpp | 37 - .../rand.dist.norm.t/copy.pass.cpp | 35 - .../rand.dist.norm.t/ctor_double.pass.cpp | 54 - .../rand.dist.norm.t/ctor_param.pass.cpp | 32 - .../rand.dist.norm.t/eq.pass.cpp | 40 - .../rand.dist.norm.t/eval.pass.cpp | 142 - .../rand.dist.norm.t/eval_param.pass.cpp | 148 - .../rand.dist.norm.t/get_param.pass.cpp | 32 - .../rand.dist.norm.t/io.pass.cpp | 46 - .../rand.dist.norm.t/max.pass.cpp | 33 - .../rand.dist.norm.t/min.pass.cpp | 32 - .../rand.dist.norm.t/param_assign.pass.cpp | 34 - .../rand.dist.norm.t/param_copy.pass.cpp | 33 - .../rand.dist.norm.t/param_ctor.pass.cpp | 38 - .../rand.dist.norm.t/param_eq.pass.cpp | 40 - .../rand.dist.norm.t/param_types.pass.cpp | 31 - .../rand.dist.norm.t/set_param.pass.cpp | 33 - .../rand.dist.norm.t/types.pass.cpp | 37 - .../rand.dist.pois.exp/assign.pass.cpp | 37 - .../rand.dist.pois.exp/copy.pass.cpp | 35 - .../rand.dist.pois.exp/ctor_double.pass.cpp | 54 - .../rand.dist.pois.exp/ctor_param.pass.cpp | 32 - .../rand.dist.pois.exp/eq.pass.cpp | 40 - .../rand.dist.pois.exp/eval.pass.cpp | 155 - .../rand.dist.pois.exp/eval_param.pass.cpp | 79 - .../rand.dist.pois.exp/get_param.pass.cpp | 32 - .../rand.dist.pois.exp/io.pass.cpp | 46 - .../rand.dist.pois.exp/max.pass.cpp | 33 - .../rand.dist.pois.exp/min.pass.cpp | 30 - .../rand.dist.pois.exp/param_assign.pass.cpp | 34 - .../rand.dist.pois.exp/param_copy.pass.cpp | 33 - .../rand.dist.pois.exp/param_ctor.pass.cpp | 38 - .../rand.dist.pois.exp/param_eq.pass.cpp | 40 - .../rand.dist.pois.exp/param_types.pass.cpp | 31 - .../rand.dist.pois.exp/set_param.pass.cpp | 33 - .../rand.dist.pois.exp/types.pass.cpp | 37 - .../rand.dist.pois.extreme/assign.pass.cpp | 37 - .../rand.dist.pois.extreme/copy.pass.cpp | 35 - .../ctor_double_double.pass.cpp | 63 - .../ctor_param.pass.cpp | 33 - .../rand.dist.pois.extreme/eq.pass.cpp | 40 - .../rand.dist.pois.extreme/eval.pass.cpp | 205 - .../eval_param.pass.cpp | 213 - .../rand.dist.pois.extreme/get_param.pass.cpp | 32 - .../rand.dist.pois.extreme/io.pass.cpp | 46 - .../rand.dist.pois.extreme/max.pass.cpp | 33 - .../rand.dist.pois.extreme/min.pass.cpp | 32 - .../param_assign.pass.cpp | 35 - .../param_copy.pass.cpp | 34 - .../param_ctor.pass.cpp | 47 - .../rand.dist.pois.extreme/param_eq.pass.cpp | 40 - .../param_types.pass.cpp | 31 - .../rand.dist.pois.extreme/set_param.pass.cpp | 33 - .../rand.dist.pois.extreme/types.pass.cpp | 37 - .../rand.dist.pois.gamma/assign.pass.cpp | 37 - .../rand.dist.pois.gamma/copy.pass.cpp | 35 - .../ctor_double_double.pass.cpp | 63 - .../rand.dist.pois.gamma/ctor_param.pass.cpp | 33 - .../rand.dist.pois.gamma/eq.pass.cpp | 40 - .../rand.dist.pois.gamma/eval.pass.cpp | 154 - .../rand.dist.pois.gamma/eval_param.pass.cpp | 160 - .../rand.dist.pois.gamma/get_param.pass.cpp | 32 - .../rand.dist.pois.gamma/io.pass.cpp | 46 - .../rand.dist.pois.gamma/max.pass.cpp | 33 - .../rand.dist.pois.gamma/min.pass.cpp | 30 - .../param_assign.pass.cpp | 35 - .../rand.dist.pois.gamma/param_copy.pass.cpp | 34 - .../rand.dist.pois.gamma/param_ctor.pass.cpp | 47 - .../rand.dist.pois.gamma/param_eq.pass.cpp | 40 - .../rand.dist.pois.gamma/param_types.pass.cpp | 31 - .../rand.dist.pois.gamma/set_param.pass.cpp | 33 - .../rand.dist.pois.gamma/types.pass.cpp | 37 - .../rand.dist.pois.poisson/assign.pass.cpp | 37 - .../rand.dist.pois.poisson/copy.pass.cpp | 35 - .../ctor_double.pass.cpp | 54 - .../ctor_param.pass.cpp | 32 - .../rand.dist.pois.poisson/eq.pass.cpp | 40 - .../rand.dist.pois.poisson/eval.pass.cpp | 239 - .../eval_param.pass.cpp | 160 - .../rand.dist.pois.poisson/get_param.pass.cpp | 32 - .../rand.dist.pois.poisson/io.pass.cpp | 46 - .../rand.dist.pois.poisson/max.pass.cpp | 33 - .../rand.dist.pois.poisson/min.pass.cpp | 30 - .../param_assign.pass.cpp | 34 - .../param_copy.pass.cpp | 33 - .../param_ctor.pass.cpp | 38 - .../rand.dist.pois.poisson/param_eq.pass.cpp | 40 - .../param_types.pass.cpp | 31 - .../rand.dist.pois.poisson/set_param.pass.cpp | 33 - .../rand.dist.pois.poisson/types.pass.cpp | 37 - .../rand.dist.pois.weibull/assign.pass.cpp | 37 - .../rand.dist.pois.weibull/copy.pass.cpp | 35 - .../ctor_double_double.pass.cpp | 63 - .../ctor_param.pass.cpp | 33 - .../rand.dist.pois.weibull/eq.pass.cpp | 40 - .../rand.dist.pois.weibull/eval.pass.cpp | 167 - .../eval_param.pass.cpp | 173 - .../rand.dist.pois.weibull/get_param.pass.cpp | 32 - .../rand.dist.pois.weibull/io.pass.cpp | 46 - .../rand.dist.pois.weibull/max.pass.cpp | 33 - .../rand.dist.pois.weibull/min.pass.cpp | 30 - .../param_assign.pass.cpp | 35 - .../param_copy.pass.cpp | 34 - .../param_ctor.pass.cpp | 47 - .../rand.dist.pois.weibull/param_eq.pass.cpp | 40 - .../param_types.pass.cpp | 31 - .../rand.dist.pois.weibull/set_param.pass.cpp | 33 - .../rand.dist.pois.weibull/types.pass.cpp | 37 - .../rand.dist.samp.discrete/assign.pass.cpp | 38 - .../rand.dist.samp.discrete/copy.pass.cpp | 36 - .../ctor_default.pass.cpp | 34 - .../ctor_func.pass.cpp | 65 - .../ctor_init.pass.cpp | 86 - .../ctor_iterator.pass.cpp | 92 - .../ctor_param.pass.cpp | 38 - .../rand.dist.samp.discrete/eq.pass.cpp | 48 - .../rand.dist.samp.discrete/eval.pass.cpp | 320 - .../eval_param.pass.cpp | 47 - .../get_param.pass.cpp | 33 - .../rand.dist.samp.discrete/io.pass.cpp | 47 - .../rand.dist.samp.discrete/max.pass.cpp | 37 - .../rand.dist.samp.discrete/min.pass.cpp | 31 - .../param_assign.pass.cpp | 35 - .../param_copy.pass.cpp | 34 - .../param_ctor_default.pass.cpp | 37 - .../param_ctor_func.pass.cpp | 69 - .../param_ctor_init.pass.cpp | 93 - .../param_ctor_iterator.pass.cpp | 99 - .../rand.dist.samp.discrete/param_eq.pass.cpp | 42 - .../param_types.pass.cpp | 31 - .../set_param.pass.cpp | 34 - .../rand.dist.samp.discrete/types.pass.cpp | 35 - .../rand.dist.samp.pconst/assign.pass.cpp | 39 - .../rand.dist.samp.pconst/copy.pass.cpp | 37 - .../ctor_default.pass.cpp | 40 - .../rand.dist.samp.pconst/ctor_func.pass.cpp | 69 - .../ctor_init_func.pass.cpp | 81 - .../ctor_iterator.pass.cpp | 101 - .../rand.dist.samp.pconst/ctor_param.pass.cpp | 46 - .../rand.dist.samp.pconst/eq.pass.cpp | 50 - .../rand.dist.samp.pconst/eval.pass.cpp | 743 - .../rand.dist.samp.pconst/eval_param.pass.cpp | 102 - .../rand.dist.samp.pconst/get_param.pass.cpp | 35 - .../rand.dist.samp.pconst/io.pass.cpp | 49 - .../rand.dist.samp.pconst/max.pass.cpp | 33 - .../rand.dist.samp.pconst/min.pass.cpp | 33 - .../param_assign.pass.cpp | 37 - .../rand.dist.samp.pconst/param_copy.pass.cpp | 36 - .../param_ctor_default.pass.cpp | 39 - .../param_ctor_func.pass.cpp | 72 - .../param_ctor_init_func.pass.cpp | 84 - .../param_ctor_iterator.pass.cpp | 105 - .../rand.dist.samp.pconst/param_eq.pass.cpp | 44 - .../param_types.pass.cpp | 31 - .../rand.dist.samp.pconst/set_param.pass.cpp | 35 - .../rand.dist.samp.pconst/types.pass.cpp | 35 - .../rand.dist.samp.plinear/assign.pass.cpp | 39 - .../rand.dist.samp.plinear/copy.pass.cpp | 37 - .../ctor_default.pass.cpp | 41 - .../rand.dist.samp.plinear/ctor_func.pass.cpp | 72 - .../ctor_init_func.pass.cpp | 85 - .../ctor_iterator.pass.cpp | 106 - .../ctor_param.pass.cpp | 47 - .../rand.dist.samp.plinear/eq.pass.cpp | 50 - .../rand.dist.samp.plinear/eval.pass.cpp | 367 - .../eval_param.pass.cpp | 97 - .../rand.dist.samp.plinear/get_param.pass.cpp | 35 - .../rand.dist.samp.plinear/io.pass.cpp | 49 - .../rand.dist.samp.plinear/max.pass.cpp | 33 - .../rand.dist.samp.plinear/min.pass.cpp | 33 - .../param_assign.pass.cpp | 37 - .../param_copy.pass.cpp | 36 - .../param_ctor_default.pass.cpp | 40 - .../param_ctor_func.pass.cpp | 75 - .../param_ctor_init_func.pass.cpp | 88 - .../param_ctor_iterator.pass.cpp | 110 - .../rand.dist.samp.plinear/param_eq.pass.cpp | 44 - .../param_types.pass.cpp | 31 - .../rand.dist.samp.plinear/set_param.pass.cpp | 35 - .../rand.dist.samp.plinear/types.pass.cpp | 35 - .../rand.dist.uni.int/assign.pass.cpp | 37 - .../rand.dist.uni.int/copy.pass.cpp | 35 - .../rand.dist.uni.int/ctor_int_int.pass.cpp | 67 - .../rand.dist.uni.int/ctor_param.pass.cpp | 33 - .../rand.dist.uni.int/eq.pass.cpp | 40 - .../rand.dist.uni.int/eval.pass.cpp | 136 - .../rand.dist.uni.int/eval_param.pass.cpp | 79 - .../rand.dist.uni.int/get_param.pass.cpp | 32 - .../rand.dist.uni.int/int128.pass.cpp | 89 - .../rand.dist.uni.int/io.pass.cpp | 46 - .../rand.dist.uni.int/max.pass.cpp | 30 - .../rand.dist.uni.int/min.pass.cpp | 30 - .../rand.dist.uni.int/param_assign.pass.cpp | 35 - .../rand.dist.uni.int/param_copy.pass.cpp | 34 - .../rand.dist.uni.int/param_ctor.pass.cpp | 47 - .../rand.dist.uni.int/param_eq.pass.cpp | 40 - .../rand.dist.uni.int/param_types.pass.cpp | 31 - .../rand.dist.uni.int/set_param.pass.cpp | 33 - .../rand.dist.uni.int/types.pass.cpp | 30 - .../rand.dist.uni.real/assign.pass.cpp | 37 - .../rand.dist.uni.real/copy.pass.cpp | 35 - .../rand.dist.uni.real/ctor_param.pass.cpp | 33 - .../ctor_real_real.pass.cpp | 64 - .../rand.dist.uni.real/eq.pass.cpp | 40 - .../rand.dist.uni.real/eval.pass.cpp | 478 - .../rand.dist.uni.real/eval_param.pass.cpp | 78 - .../rand.dist.uni.real/get_param.pass.cpp | 32 - .../rand.dist.uni.real/io.pass.cpp | 46 - .../rand.dist.uni.real/max.pass.cpp | 30 - .../rand.dist.uni.real/min.pass.cpp | 30 - .../rand.dist.uni.real/param_assign.pass.cpp | 35 - .../rand.dist.uni.real/param_copy.pass.cpp | 34 - .../rand.dist.uni.real/param_ctor.pass.cpp | 47 - .../rand.dist.uni.real/param_eq.pass.cpp | 40 - .../rand.dist.uni.real/param_types.pass.cpp | 31 - .../rand.dist.uni.real/set_param.pass.cpp | 33 - .../rand.dist.uni.real/types.pass.cpp | 30 - .../rand/rand.eng/rand.eng.lcong/alg.pass.cpp | 84 - .../rand.eng/rand.eng.lcong/assign.pass.cpp | 84 - .../rand.eng/rand.eng.lcong/copy.pass.cpp | 83 - .../rand.eng.lcong/ctor_result_type.pass.cpp | 161 - .../rand.eng.lcong/ctor_sseq.pass.cpp | 32 - .../rand.eng/rand.eng.lcong/default.pass.cpp | 81 - .../rand.eng/rand.eng.lcong/discard.pass.cpp | 76 - .../rand.eng/rand.eng.lcong/eval.pass.cpp | 90 - .../rand/rand.eng/rand.eng.lcong/io.pass.cpp | 49 - .../rand.eng/rand.eng.lcong/params.verify.cpp | 31 - .../rand.eng.lcong/result_type.pass.cpp | 40 - .../rand.eng.lcong/seed_result_type.pass.cpp | 43 - .../rand.eng.lcong/seed_sseq.pass.cpp | 42 - .../rand.eng/rand.eng.lcong/values.pass.cpp | 114 - .../rand.eng/rand.eng.mers/assign.pass.cpp | 61 - .../rand/rand.eng/rand.eng.mers/copy.pass.cpp | 59 - .../rand.eng.mers/ctor_result_type.pass.cpp | 274 - .../rand.eng/rand.eng.mers/ctor_sseq.pass.cpp | 315 - .../rand.eng.mers/ctor_sseq_all_zero.pass.cpp | 81 - .../rand.eng/rand.eng.mers/default.pass.cpp | 47 - .../rand.eng/rand.eng.mers/discard.pass.cpp | 57 - .../rand/rand.eng/rand.eng.mers/eval.pass.cpp | 47 - .../rand/rand.eng/rand.eng.mers/io.pass.cpp | 74 - .../rand.eng.mers/result_type.pass.cpp | 47 - .../rand.eng.mers/seed_result_type.pass.cpp | 55 - .../rand.eng/rand.eng.mers/seed_sseq.pass.cpp | 53 - .../rand.eng/rand.eng.mers/values.pass.cpp | 135 - .../rand.eng/rand.eng.sub/assign.pass.cpp | 59 - .../rand/rand.eng/rand.eng.sub/copy.pass.cpp | 57 - .../rand.eng.sub/ctor_result_type.pass.cpp | 84 - .../rand.eng/rand.eng.sub/ctor_sseq.pass.cpp | 61 - .../rand.eng/rand.eng.sub/default.pass.cpp | 45 - .../rand.eng/rand.eng.sub/discard.pass.cpp | 55 - .../rand/rand.eng/rand.eng.sub/eval.pass.cpp | 45 - .../rand/rand.eng/rand.eng.sub/io.pass.cpp | 68 - .../rand.eng.sub/result_type.pass.cpp | 45 - .../rand.eng.sub/seed_result_type.pass.cpp | 53 - .../rand.eng/rand.eng.sub/seed_sseq.pass.cpp | 51 - .../rand.eng/rand.eng.sub/values.pass.cpp | 83 - .../default_random_engine.pass.cpp | 25 - .../rand/rand.predef/knuth_b.pass.cpp | 25 - .../rand/rand.predef/minstd_rand.pass.cpp | 26 - .../rand/rand.predef/minstd_rand0.pass.cpp | 26 - .../rand/rand.predef/mt19937.pass.cpp | 30 - .../rand/rand.predef/mt19937_64.pass.cpp | 30 - .../rand/rand.predef/ranlux24.pass.cpp | 25 - .../rand/rand.predef/ranlux24_base.pass.cpp | 25 - .../rand/rand.predef/ranlux48.pass.cpp | 25 - .../rand/rand.predef/ranlux48_base.pass.cpp | 25 - .../rand.req.adapt/nothing_to_do.pass.cpp | 13 - .../rand.req.dst/nothing_to_do.pass.cpp | 13 - .../rand.req.eng/nothing_to_do.pass.cpp | 13 - .../rand.req.genl/nothing_to_do.pass.cpp | 13 - .../rand.req.seedseq/nothing_to_do.pass.cpp | 13 - ...form_random_bit_generator.compile.pass.cpp | 142 - .../generate_canonical.pass.cpp | 106 - .../rand.util.seedseq/assign.compile.fail.cpp | 24 - .../rand.util.seedseq/copy.compile.fail.cpp | 23 - .../rand.util.seedseq/default.pass.cpp | 29 - .../rand.util.seedseq/generate.pass.cpp | 808 - .../initializer_list.pass.cpp | 36 - .../rand.util.seedseq/iterator.pass.cpp | 75 - .../rand.util.seedseq/iterator.verify.cpp | 30 - .../rand.util.seedseq/types.pass.cpp | 27 - ...erator_robust_against_adl.compile.pass.cpp | 78 - .../std/ranges/range.access/begin.pass.cpp | 341 - .../range.access/begin.sizezero.pass.cpp | 35 - .../std/ranges/range.access/begin.verify.cpp | 26 - .../std/ranges/range.access/data.pass.cpp | 291 - .../std/ranges/range.access/data.verify.cpp | 25 - .../std/ranges/range.access/empty.pass.cpp | 186 - .../std/ranges/range.access/empty.verify.cpp | 21 - .../test/std/ranges/range.access/end.pass.cpp | 370 - .../ranges/range.access/end.sizezero.pass.cpp | 35 - .../std/ranges/range.access/end.verify.cpp | 26 - .../std/ranges/range.access/rbegin.pass.cpp | 521 - .../std/ranges/range.access/rbegin.verify.cpp | 26 - .../std/ranges/range.access/rend.pass.cpp | 549 - .../std/ranges/range.access/rend.verify.cpp | 26 - .../std/ranges/range.access/size.pass.cpp | 336 - .../std/ranges/range.access/size.verify.cpp | 21 - .../std/ranges/range.access/ssize.pass.cpp | 90 - .../std/ranges/range.access/ssize.verify.cpp | 21 - .../range.adaptors/range.all/all.pass.cpp | 204 - .../range.all/all_t.compile.pass.cpp | 62 - .../range.all/range.owning.view/base.pass.cpp | 59 - .../range.owning.view/begin_end.pass.cpp | 131 - .../borrowing.compile.pass.cpp | 19 - .../range.owning.view/constructor.pass.cpp | 138 - .../range.all/range.owning.view/data.pass.cpp | 76 - .../range.owning.view/empty.pass.cpp | 103 - .../range.owning.view/implicit_ctad.pass.cpp | 31 - .../range.all/range.owning.view/size.pass.cpp | 97 - .../range.ref.view/borrowing.compile.pass.cpp | 20 - .../range.ref.view/range.ref.view.pass.cpp | 208 - .../range.as.rvalue/adaptor.pass.cpp | 99 - .../range.as.rvalue/base.pass.cpp | 78 - .../range.as.rvalue/begin.pass.cpp | 114 - .../range.as.rvalue/ctad.compile.pass.cpp | 22 - .../range.as.rvalue/ctor.pass.cpp | 57 - .../enable_borrowed_range.compile.pass.cpp | 16 - .../range.as.rvalue/end.pass.cpp | 151 - .../range.as.rvalue/size.pass.cpp | 80 - .../range.chunk.by/adaptor.pass.cpp | 233 - .../range.chunk.by/base.pass.cpp | 99 - .../range.chunk.by/begin.pass.cpp | 156 - .../constraints.compile.pass.cpp | 121 - .../range.chunk.by/ctad.pass.cpp | 70 - .../range.chunk.by/ctor.default.pass.cpp | 132 - .../range.chunk.by/ctor.view_pred.pass.cpp | 109 - .../range.chunk.by/end.pass.cpp | 121 - .../range.chunk.by/pred.pass.cpp | 60 - .../range.chunk.by.iter/compare.pass.cpp | 113 - .../range.chunk.by.iter/ctor.default.pass.cpp | 50 - .../range.chunk.by.iter/decrement.pass.cpp | 221 - .../range.chunk.by.iter/deref.pass.cpp | 69 - .../range.chunk.by.iter/increment.pass.cpp | 179 - .../types.compile.pass.cpp | 71 - .../range.adaptors/range.chunk.by/types.h | 54 - .../range.common.view/adaptor.pass.cpp | 110 - .../range.common.view/base.pass.cpp | 68 - .../range.common.view/begin.pass.cpp | 91 - .../borrowing.compile.pass.cpp | 24 - .../range.common.view/ctad.compile.pass.cpp | 65 - .../range.common.view/ctor.default.pass.cpp | 30 - .../range.common.view/ctor.view.pass.cpp | 52 - .../range.common.view/end.pass.cpp | 84 - .../range.common.view/size.pass.cpp | 51 - .../range.adaptors/range.common.view/types.h | 93 - .../range.counted/counted.pass.cpp | 239 - .../range.drop.while/adaptor.pass.cpp | 122 - .../range.drop.while/base.pass.cpp | 86 - .../range.drop.while/begin.pass.cpp | 182 - .../borrowed.compile.pass.cpp | 35 - .../range.drop.while/ctad.compile.pass.cpp | 48 - .../range.drop.while/ctor.default.pass.cpp | 56 - .../range.drop.while/ctor.view.pass.cpp | 66 - .../range.drop.while/end.pass.cpp | 64 - .../range.drop.while/general.pass.cpp | 28 - .../range.drop.while/pred.pass.cpp | 68 - .../range.concept.compile.pass.cpp | 47 - .../range.drop/adaptor.pass.cpp | 256 - .../range.adaptors/range.drop/base.pass.cpp | 43 - .../range.adaptors/range.drop/begin.pass.cpp | 161 - .../range.drop/ctad.compile.pass.cpp | 65 - .../range.drop/ctor.default.pass.cpp | 37 - .../range.drop/ctor.view.pass.cpp | 49 - .../range.drop/dangling.cache.pass.cpp | 57 - .../range.adaptors/range.drop/end.pass.cpp | 50 - .../range.drop/general.pass.cpp | 92 - .../range.adaptors/range.drop/size.pass.cpp | 52 - .../ranges/range.adaptors/range.drop/types.h | 140 - .../range.elements/adaptor.pass.cpp | 178 - .../range.elements/base.pass.cpp | 84 - .../range.elements/begin.pass.cpp | 88 - .../range.elements/borrowed.compile.pass.cpp | 32 - .../range.elements/ctor.default.pass.cpp | 47 - .../range.elements/ctor.view.pass.cpp | 44 - .../range.elements/end.pass.cpp | 142 - .../range.elements/general.pass.cpp | 103 - .../iterator/arithmetic.pass.cpp | 123 - .../range.elements/iterator/base.pass.cpp | 98 - .../range.elements/iterator/compare.pass.cpp | 155 - .../iterator/ctor.base.pass.cpp | 54 - .../iterator/ctor.default.pass.cpp | 58 - .../iterator/ctor.other.pass.cpp | 73 - .../iterator/decrement.pass.cpp | 91 - .../range.elements/iterator/deref.pass.cpp | 100 - .../iterator/increment.pass.cpp | 78 - .../iterator/member_types.compile.pass.cpp | 87 - .../iterator/subscript.pass.cpp | 69 - .../range.concept.compile.pass.cpp | 75 - .../range.elements/sentinel/base.pass.cpp | 41 - .../sentinel/ctor.base.pass.cpp | 52 - .../sentinel/ctor.convert.pass.cpp | 88 - .../sentinel/ctor.default.pass.cpp | 49 - .../range.elements/sentinel/equality.pass.cpp | 164 - .../range.elements/sentinel/minus.pass.cpp | 214 - .../range.elements/size.pass.cpp | 88 - .../range.adaptors/range.elements/types.h | 106 - .../range.empty/borrowing.compile.pass.cpp | 21 - .../range.empty/empty_view.pass.cpp | 66 - .../range.empty/views.empty.pass.cpp | 50 - .../range.filter/adaptor.pass.cpp | 165 - .../range.adaptors/range.filter/base.pass.cpp | 91 - .../range.filter/begin.pass.cpp | 200 - .../range.filter/constraints.compile.pass.cpp | 109 - .../range.adaptors/range.filter/ctad.pass.cpp | 63 - .../range.filter/ctor.default.pass.cpp | 107 - .../range.filter/ctor.view_pred.pass.cpp | 104 - .../range.adaptors/range.filter/end.pass.cpp | 114 - .../range.filter/iterator/arrow.pass.cpp | 136 - .../range.filter/iterator/base.pass.cpp | 72 - .../range.filter/iterator/compare.pass.cpp | 89 - .../iterator/ctor.default.pass.cpp | 56 - .../iterator/ctor.parent_iter.pass.cpp | 51 - .../range.filter/iterator/decrement.pass.cpp | 142 - .../range.filter/iterator/deref.pass.cpp | 69 - .../range.filter/iterator/increment.pass.cpp | 183 - .../range.filter/iterator/iter_move.pass.cpp | 63 - .../range.filter/iterator/iter_swap.pass.cpp | 90 - .../iterator/types.compile.pass.cpp | 90 - .../range.adaptors/range.filter/pred.pass.cpp | 60 - .../range.filter/sentinel/base.pass.cpp | 56 - .../range.filter/sentinel/compare.pass.cpp | 61 - .../sentinel/ctor.default.pass.cpp | 45 - .../sentinel/ctor.parent.pass.cpp | 60 - .../range.adaptors/range.filter/types.h | 104 - .../range.join/adaptor.pass.cpp | 133 - .../range.adaptors/range.join/base.pass.cpp | 60 - .../range.adaptors/range.join/begin.pass.cpp | 180 - .../range.join/ctad.compile.pass.cpp | 82 - .../range.adaptors/range.join/ctad.verify.cpp | 31 - .../range.join/ctor.default.pass.cpp | 48 - .../range.join/ctor.view.pass.cpp | 47 - .../range.adaptors/range.join/end.pass.cpp | 303 - .../range.join/general.pass.cpp | 64 - .../range.join/lwg3698.pass.cpp | 33 - .../range.join.iterator/arrow.pass.cpp | 166 - .../range.join.iterator/ctor.default.pass.cpp | 48 - .../range.join.iterator/ctor.other.pass.cpp | 85 - .../range.join.iterator/decrement.pass.cpp | 172 - .../range.join.iterator/eq.pass.cpp | 74 - .../range.join.iterator/increment.pass.cpp | 232 - .../range.join.iterator/iter.move.pass.cpp | 61 - .../range.join.iterator/iter.swap.pass.cpp | 74 - .../member_types.compile.pass.cpp | 124 - .../range.join.iterator/star.pass.cpp | 53 - .../range.join.sentinel/ctor.default.pass.cpp | 31 - .../range.join.sentinel/ctor.other.pass.cpp | 87 - .../range.join.sentinel/ctor.parent.pass.cpp | 43 - .../range.join.sentinel/eq.pass.cpp | 106 - .../ranges/range.adaptors/range.join/types.h | 448 - .../range.lazy.split/adaptor.pass.cpp | 129 - .../range.lazy.split/base.pass.cpp | 125 - .../range.lazy.split/begin.pass.cpp | 149 - .../constraints.compile.pass.cpp | 213 - .../range.lazy.split/ctad.compile.pass.cpp | 64 - .../range.lazy.split/ctor.copy_move.pass.cpp | 84 - .../range.lazy.split/ctor.default.pass.cpp | 58 - .../range.lazy.split/ctor.range.pass.cpp | 177 - .../range.lazy.split/ctor.view.pass.cpp | 117 - .../range.lazy.split/end.pass.cpp | 167 - .../range.lazy.split/general.pass.cpp | 433 - .../range.lazy.split.inner/base.pass.cpp | 102 - .../ctor.default.pass.cpp | 34 - .../ctor.outer_iterator.pass.cpp | 43 - .../range.lazy.split.inner/deref.pass.cpp | 72 - .../range.lazy.split.inner/equal.pass.cpp | 75 - .../range.lazy.split.inner/increment.pass.cpp | 132 - .../range.lazy.split.inner/iter_move.pass.cpp | 161 - .../range.lazy.split.inner/iter_swap.pass.cpp | 222 - .../types.compile.pass.cpp | 54 - .../begin.pass.cpp | 67 - .../ctor.default.pass.cpp | 42 - .../ctor.iter.pass.cpp | 47 - .../range.lazy.split.outer.value/end.pass.cpp | 77 - .../view_interface.pass.cpp | 71 - .../range.lazy.split.outer/ctor.copy.pass.cpp | 53 - .../ctor.default.pass.cpp | 44 - .../ctor.parent.pass.cpp | 39 - .../ctor.parent_base.pass.cpp | 36 - .../range.lazy.split.outer/deref.pass.cpp | 59 - .../range.lazy.split.outer/equal.pass.cpp | 88 - .../range.lazy.split.outer/increment.pass.cpp | 86 - .../types.compile.pass.cpp | 40 - .../range.adaptors/range.lazy.split/types.h | 212 - .../range.lazy.split/view_interface.pass.cpp | 72 - .../range.reverse/adaptor.pass.cpp | 175 - .../range.reverse/base.pass.cpp | 82 - .../range.reverse/begin.pass.cpp | 152 - .../range.reverse/borrowing.compile.pass.cpp | 19 - .../range.reverse/ctad.compile.pass.cpp | 67 - .../range.reverse/ctor.default.pass.cpp | 56 - .../range.reverse/ctor.view.pass.cpp | 61 - .../range.adaptors/range.reverse/end.pass.cpp | 68 - ...range_concept_conformance.compile.pass.cpp | 26 - .../range.reverse/size.pass.cpp | 81 - .../range.adaptors/range.reverse/types.h | 60 - .../range.split/adaptor.pass.cpp | 128 - .../range.adaptors/range.split/base.pass.cpp | 103 - .../range.adaptors/range.split/begin.pass.cpp | 173 - .../range.split/constraints.compile.pass.cpp | 48 - .../range.split/ctad.compile.pass.cpp | 51 - .../range.split/ctor.default.pass.cpp | 47 - .../range.split/ctor.range.pass.cpp | 158 - .../range.split/ctor.view.pass.cpp | 103 - .../range.adaptors/range.split/end.pass.cpp | 70 - .../range.split/general.pass.cpp | 395 - .../range.split/iterator/base.pass.cpp | 69 - .../range.split/iterator/ctor.base.pass.cpp | 53 - .../iterator/ctor.default.pass.cpp | 43 - .../range.split/iterator/deref.pass.cpp | 47 - .../range.split/iterator/equal.pass.cpp | 99 - .../range.split/iterator/increment.pass.cpp | 155 - .../iterator/member_types.compile.pass.cpp | 53 - .../sentinel/ctor.default.pass.cpp | 52 - .../range.split/sentinel/ctor.parent.pass.cpp | 49 - .../range.split/sentinel/equal.pass.cpp | 79 - .../ranges/range.adaptors/range.split/types.h | 33 - .../range.take.while/adaptor.pass.cpp | 112 - .../range.take.while/base.pass.cpp | 87 - .../range.take.while/begin.pass.cpp | 108 - .../range.take.while/ctad.compile.pass.cpp | 50 - .../range.take.while/ctor.default.pass.cpp | 56 - .../range.take.while/ctor.view.pass.cpp | 66 - .../range.take.while/end.pass.cpp | 110 - .../range.take.while/general.pass.cpp | 28 - .../range.take.while/pred.pass.cpp | 68 - .../range.concept.compile.pass.cpp | 47 - .../sentinel/ctor.base.pass.cpp | 86 - .../sentinel/ctor.convert.pass.cpp | 138 - .../sentinel/ctor.default.pass.cpp | 43 - .../sentinel/equality.pass.cpp | 204 - .../range.adaptors/range.take.while/types.h | 59 - .../range.take/adaptor.pass.cpp | 235 - .../range.adaptors/range.take/base.pass.cpp | 64 - .../range.adaptors/range.take/begin.pass.cpp | 87 - .../range.take/borrowing.compile.pass.cpp | 19 - .../range.take/ctad.compile.pass.cpp | 65 - .../range.take/ctor.default.pass.cpp | 55 - .../range.take/ctor.view_count.pass.cpp | 65 - .../range.adaptors/range.take/end.pass.cpp | 80 - .../range.take.sentinel/base.pass.cpp | 37 - .../range.take.sentinel/ctor.pass.cpp | 71 - .../range.take.sentinel/eq.pass.cpp | 150 - ...range_concept_conformance.compile.pass.cpp | 25 - .../range.adaptors/range.take/size.pass.cpp | 81 - .../ranges/range.adaptors/range.take/types.h | 68 - .../range.transform/adaptor.pass.cpp | 145 - .../range.transform/base.pass.cpp | 57 - .../range.transform/begin.pass.cpp | 60 - .../range.transform/ctad.compile.pass.cpp | 70 - .../range.transform/ctor.default.pass.cpp | 76 - .../ctor.view_function.pass.cpp | 68 - .../range.transform/end.pass.cpp | 123 - .../range.transform/general.pass.cpp | 129 - .../iterator/arithmetic.pass.cpp | 46 - .../range.transform/iterator/base.pass.cpp | 53 - .../range.transform/iterator/compare.pass.cpp | 73 - .../range.transform/iterator/ctor.pass.cpp | 77 - .../range.transform/iterator/deref.pass.cpp | 61 - .../iterator/iter_move.pass.cpp | 49 - .../iterator/plus_minus.pass.cpp | 39 - .../iterator/requirements.compile.pass.cpp | 22 - .../iterator/sentinel.pass.cpp | 63 - .../iterator/subscript.pass.cpp | 48 - .../range.transform/iterator/types.pass.cpp | 100 - .../range.transform/size.pass.cpp | 46 - .../range.adaptors/range.transform/types.h | 152 - .../range.adaptors/range.zip/begin.pass.cpp | 108 - .../range.zip/borrowing.compile.pass.cpp | 39 - .../range.adaptors/range.zip/cpo.pass.cpp | 80 - .../range.zip/ctad.compile.pass.cpp | 39 - .../range.zip/ctor.default.pass.cpp | 71 - .../range.zip/ctor.views.pass.cpp | 99 - .../range.adaptors/range.zip/end.pass.cpp | 395 - .../range.adaptors/range.zip/general.pass.cpp | 55 - .../range.zip/iterator/arithmetic.pass.cpp | 142 - .../range.zip/iterator/compare.pass.cpp | 254 - .../range.zip/iterator/ctor.default.pass.cpp | 73 - .../range.zip/iterator/ctor.other.pass.cpp | 62 - .../range.zip/iterator/decrement.pass.cpp | 94 - .../range.zip/iterator/deref.pass.cpp | 87 - .../range.zip/iterator/increment.pass.cpp | 134 - .../range.zip/iterator/iter_move.pass.cpp | 76 - .../range.zip/iterator/iter_swap.pass.cpp | 87 - .../iterator/member_types.compile.pass.cpp | 196 - .../range.zip/iterator/singular.pass.cpp | 83 - .../range.zip/iterator/subscript.pass.cpp | 68 - .../range.zip/range.concept.compile.pass.cpp | 327 - .../range.zip/sentinel/ctor.default.pass.cpp | 50 - .../range.zip/sentinel/ctor.other.pass.cpp | 75 - .../range.zip/sentinel/eq.pass.cpp | 155 - .../range.zip/sentinel/minus.pass.cpp | 234 - .../range.adaptors/range.zip/size.pass.cpp | 99 - .../ranges/range.adaptors/range.zip/types.h | 438 - .../robust_against_nonbool.compile.pass.cpp | 62 - .../range.iota.view/begin.pass.cpp | 60 - .../borrowing.compile.pass.cpp | 19 - .../range.iota.view/ctad.compile.pass.cpp | 52 - .../range.iota.view/ctor.default.pass.cpp | 36 - .../range.iota.view/ctor.first.last.pass.cpp | 94 - .../range.iota.view/ctor.value.bound.pass.cpp | 99 - .../range.iota.view/ctor.value.pass.cpp | 71 - .../range.iota.view/end.pass.cpp | 84 - .../range.iota.view/iterator/compare.pass.cpp | 94 - .../iterator/ctor.default.pass.cpp | 32 - .../iterator/ctor.value.pass.cpp | 45 - .../iterator/decrement.pass.cpp | 66 - .../iterator/increment.pass.cpp | 69 - .../iterator/member_typedefs.compile.pass.cpp | 163 - .../range.iota.view/iterator/minus.pass.cpp | 179 - .../iterator/minus_eq.pass.cpp | 90 - .../range.iota.view/iterator/plus.pass.cpp | 87 - .../range.iota.view/iterator/plus_eq.pass.cpp | 90 - .../range.iota.view/iterator/star.pass.cpp | 107 - .../iterator/subscript.pass.cpp | 65 - ...range_concept_conformance.compile.pass.cpp | 42 - .../sentinel/ctor.default.pass.cpp | 32 - .../sentinel/ctor.value.pass.cpp | 47 - .../range.iota.view/sentinel/eq.pass.cpp | 57 - .../range.iota.view/sentinel/minus.pass.cpp | 63 - .../range.iota.view/size.pass.cpp | 110 - .../range.iota.view/type.compile.pass.cpp | 20 - .../range.factories/range.iota.view/types.h | 216 - .../range.iota.view/views_iota.pass.cpp | 80 - .../range.istream.view/begin.pass.cpp | 58 - .../range.istream.view/cpo.pass.cpp | 47 - .../range.istream.view/ctor.pass.cpp | 57 - .../range.istream.view/end.pass.cpp | 49 - .../range.istream.view/general.pass.cpp | 42 - .../iterator/compare.pass.cpp | 57 - .../range.istream.view/iterator/ctor.pass.cpp | 58 - .../iterator/deref.pass.cpp | 51 - .../iterator/increment.pass.cpp | 62 - .../iterator/member_types.compile.pass.cpp | 49 - .../iterator/special_op.pass.cpp | 71 - .../range.concept.compile.pass.cpp | 73 - .../range.istream.view/utils.h | 17 - .../range.repeat.view/begin.pass.cpp | 54 - .../range.repeat.view/ctad.compile.pass.cpp | 27 - .../range.repeat.view/ctor.default.pass.cpp | 40 - .../range.repeat.view/ctor.piecewise.pass.cpp | 130 - .../ctor.value.bound.pass.cpp | 98 - .../range.repeat.view/end.pass.cpp | 49 - .../iterator/compare.pass.cpp | 106 - .../iterator/ctor.default.pass.cpp | 29 - .../iterator/decrement.pass.cpp | 36 - .../iterator/increment.pass.cpp | 38 - .../iterator/member_typedefs.compile.pass.cpp | 112 - .../range.repeat.view/iterator/minus.pass.cpp | 67 - .../iterator/minus_eq.pass.cpp | 34 - .../range.repeat.view/iterator/plus.pass.cpp | 38 - .../iterator/plus_eq.pass.cpp | 38 - .../range.repeat.view/iterator/star.pass.cpp | 68 - .../iterator/subscript.pass.cpp | 45 - .../range.repeat.view/size.pass.cpp | 47 - .../range.repeat.view/views_repeat.pass.cpp | 122 - .../range.single.view/assign.pass.cpp | 42 - .../range.single.view/begin.pass.cpp | 72 - .../borrowing.compile.pass.cpp | 20 - .../range.single.view/cpo.pass.cpp | 66 - .../range.single.view/ctad.compile.pass.cpp | 36 - .../range.single.view/ctor.default.pass.cpp | 48 - .../range.single.view/ctor.in_place.pass.cpp | 48 - .../range.single.view/ctor.value.pass.cpp | 58 - .../range.single.view/data.pass.cpp | 72 - .../range.single.view/end.pass.cpp | 72 - ...range_concept_conformance.compile.pass.cpp | 29 - .../range.single.view/size.pass.cpp | 64 - .../borrowed_range.compile.pass.cpp | 61 - ...orrowed_range.subsumption.compile.pass.cpp | 26 - .../enable_borrowed_range.compile.pass.cpp | 66 - .../helper_aliases.compile.pass.cpp | 37 - .../range.range/iterator_t.compile.pass.cpp | 30 - .../range.range/range.compile.pass.cpp | 51 - .../range.range/range_size_t.compile.pass.cpp | 40 - .../range.range/sentinel_t.compile.pass.cpp | 28 - .../bidirectional_range.compile.pass.cpp | 54 - .../common_range.compile.pass.cpp | 82 - .../contiguous_range.compile.pass.cpp | 93 - .../forward_range.compile.pass.cpp | 55 - .../input_range.compile.pass.cpp | 59 - .../output_range.compile.pass.cpp | 64 - .../random_access_range.compile.pass.cpp | 56 - .../subsumption.compile.pass.cpp | 93 - .../viewable_range.compile.pass.cpp | 184 - .../range.sized/sized_range.compile.pass.cpp | 77 - .../range.sized/subsumption.compile.pass.cpp | 26 - .../range.view/enable_view.compile.pass.cpp | 103 - .../range.view/view.compile.pass.cpp | 92 - .../view.subsumption.compile.pass.cpp | 44 - .../range.view/view_base.compile.pass.cpp | 23 - .../borrowed_iterator.compile.pass.cpp | 34 - .../borrowed_subrange.compile.pass.cpp | 42 - .../range.dangling/dangling.pass.cpp | 38 - .../range.subrange/advance.pass.cpp | 57 - .../range.subrange/borrowing.compile.pass.cpp | 18 - .../range.subrange/ctad.compile.pass.cpp | 49 - .../range.subrange/ctor.begin_end.pass.cpp | 51 - .../ctor.begin_end_size.pass.cpp | 58 - .../range.subrange/ctor.default.pass.cpp | 67 - .../ctor.pair_like_conv.pass.cpp | 47 - .../range.subrange/ctor.range.pass.cpp | 49 - .../range.subrange/ctor.range_size.pass.cpp | 77 - .../range.subrange/general.compile.pass.cpp | 39 - .../range.utility/range.subrange/get.pass.cpp | 96 - .../range.subrange/lwg3470.pass.cpp | 48 - .../operator.pair_like.pass.cpp | 81 - .../range.subrange/primitives.pass.cpp | 65 - .../structured_bindings.pass.cpp | 112 - .../range.utility/range.subrange/types.h | 224 - .../range.utility.conv/container.h | 144 - .../from_range_t.compile.pass.cpp | 25 - .../range.utility.conv/to.pass.cpp | 579 - .../range.utility.conv/to_deduction.pass.cpp | 135 - .../to_std_containers.pass.cpp | 214 - .../view.interface/view.interface.pass.cpp | 354 - ..._robust_against_no_unique_address.pass.cpp | 70 - ...bust_against_poison_pills.compile.pass.cpp | 102 - .../libc++/src/test/std/re/lit.local.cfg | 3 - .../re.alg/re.alg.match/awk.locale.pass.cpp | 134 - .../std/re/re.alg/re.alg.match/awk.pass.cpp | 1310 - .../re.alg.match/basic.compile.fail.cpp | 37 - .../re.alg/re.alg.match/basic.locale.pass.cpp | 123 - .../std/re/re.alg/re.alg.match/basic.pass.cpp | 1308 - .../re.alg/re.alg.match/ecma.locale.pass.cpp | 119 - .../std/re/re.alg/re.alg.match/ecma.pass.cpp | 1311 - .../std/re/re.alg/re.alg.match/egrep.pass.cpp | 83 - .../re.alg/re.alg.match/exponential.pass.cpp | 49 - .../re.alg.match/extended.locale.pass.cpp | 123 - .../re/re.alg/re.alg.match/extended.pass.cpp | 1314 - .../std/re/re.alg/re.alg.match/grep.pass.cpp | 51 - .../inverted_character_classes.pass.cpp | 60 - .../re.alg.match/lookahead_capture.pass.cpp | 100 - .../parse_curly_brackets.pass.cpp | 73 - .../re.alg.replace/exponential.pass.cpp | 39 - .../re/re.alg/re.alg.replace/test1.pass.cpp | 109 - .../re/re.alg/re.alg.replace/test2.pass.cpp | 109 - .../re/re.alg/re.alg.replace/test3.pass.cpp | 75 - .../re/re.alg/re.alg.replace/test4.pass.cpp | 74 - .../re/re.alg/re.alg.replace/test5.pass.cpp | 75 - .../re/re.alg/re.alg.replace/test6.pass.cpp | 75 - .../re.alg/re.alg.search/awk.locale.pass.cpp | 123 - .../std/re/re.alg/re.alg.search/awk.pass.cpp | 1491 - .../re/re.alg/re.alg.search/backup.pass.cpp | 65 - .../re.alg.search/basic.compile.fail.cpp | 37 - .../re.alg.search/basic.locale.pass.cpp | 123 - .../re/re.alg/re.alg.search/basic.pass.cpp | 1488 - .../re.alg/re.alg.search/ecma.locale.pass.cpp | 119 - .../std/re/re.alg/re.alg.search/ecma.pass.cpp | 1509 - .../re/re.alg/re.alg.search/egrep.pass.cpp | 92 - .../re.alg/re.alg.search/exponential.pass.cpp | 49 - .../re.alg.search/extended.locale.pass.cpp | 123 - .../re/re.alg/re.alg.search/extended.pass.cpp | 1495 - .../std/re/re.alg/re.alg.search/grep.pass.cpp | 90 - .../invert_neg_word_search.pass.cpp | 30 - .../re.alg/re.alg.search/lookahead.pass.cpp | 30 - .../re.alg.search/no_update_pos.pass.cpp | 40 - .../re.alg/re.except/nothing_to_do.pass.cpp | 13 - .../std/re/re.badexp/regex_error.pass.cpp | 97 - .../re/re.const/re.err/error_type.pass.cpp | 144 - .../re.matchflag/match_flag_type.pass.cpp | 129 - .../re.matchflag/match_multiline.pass.cpp | 271 - .../re.matchflag/match_not_bol.pass.cpp | 51 - .../re.matchflag/match_not_eol.pass.cpp | 90 - .../re.matchflag/match_not_null.pass.cpp | 45 - .../re.matchflag/match_prev_avail.pass.cpp | 84 - .../re.synopt/syntax_option_type.pass.cpp | 133 - .../nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../std/re/re.general/nothing_to_do.pass.cpp | 13 - .../re.grammar/excessive_brace_count.pass.cpp | 40 - .../excessive_brace_min_max.pass.cpp | 67 - ...rator_concept_conformance.compile.pass.cpp | 26 - .../re.regiter.cnstr/cnstr.compile.fail.cpp | 37 - .../re.regiter.cnstr/cnstr.pass.cpp | 46 - .../re.regiter.cnstr/default.pass.cpp | 36 - .../re.regiter/re.regiter.comp/equal.pass.cpp | 39 - .../re.regiter.comp/tested_elsewhere.pass.cpp | 20 - .../re.regiter.deref/deref.pass.cpp | 44 - .../re.regiter/re.regiter.incr/post.pass.cpp | 118 - .../std/re/re.iter/re.regiter/types.pass.cpp | 53 - ...rator_concept_conformance.compile.pass.cpp | 26 - .../re.tokiter.cnstr/array.compile.fail.cpp | 40 - .../re.tokiter.cnstr/array.pass.cpp | 68 - .../re.tokiter.cnstr/default.pass.cpp | 36 - .../re.tokiter.cnstr/init.compile.fail.cpp | 37 - .../re.tokiter/re.tokiter.cnstr/init.pass.cpp | 68 - .../re.tokiter.cnstr/int.compile.fail.cpp | 36 - .../re.tokiter/re.tokiter.cnstr/int.pass.cpp | 79 - .../re.tokiter.cnstr/vector.compile.fail.cpp | 41 - .../re.tokiter.cnstr/vector.pass.cpp | 132 - .../re.tokiter/re.tokiter.comp/equal.pass.cpp | 55 - .../re.tokiter.deref/deref.pass.cpp | 76 - .../re.tokiter/re.tokiter.incr/post.pass.cpp | 139 - .../std/re/re.iter/re.tokiter/types.pass.cpp | 51 - .../re.regex.assign/assign.il.pass.cpp | 35 - .../re.regex/re.regex.assign/assign.pass.cpp | 39 - .../assign_iter_iter_flag.pass.cpp | 49 - .../re.regex.assign/assign_ptr_flag.pass.cpp | 31 - .../assign_ptr_size_flag.pass.cpp | 37 - .../assign_string_flag.pass.cpp | 35 - .../re/re.regex/re.regex.assign/copy.pass.cpp | 28 - .../re/re.regex/re.regex.assign/il.pass.cpp | 29 - .../re/re.regex/re.regex.assign/ptr.pass.cpp | 27 - .../re.regex/re.regex.assign/string.pass.cpp | 28 - .../re.regex.const/constants.pass.cpp | 67 - .../re.regex.construct/awk_oct.pass.cpp | 30 - .../re.regex.construct/bad_backref.pass.cpp | 92 - .../re.regex.construct/bad_ctype.pass.cpp | 38 - .../re.regex.construct/bad_escape.pass.cpp | 49 - .../re.regex.construct/bad_range.pass.cpp | 38 - .../re.regex.construct/bad_repeat.pass.cpp | 45 - .../re.regex/re.regex.construct/copy.pass.cpp | 27 - .../re.regex.construct/deduct.pass.cpp | 145 - .../re.regex.construct/deduct.verify.cpp | 40 - .../re.regex.construct/default.pass.cpp | 36 - .../re.regex.construct/il_flg.pass.cpp | 70 - .../re.regex.construct/iter_iter.pass.cpp | 45 - .../re.regex.construct/iter_iter_flg.pass.cpp | 71 - .../re.regex/re.regex.construct/ptr.pass.cpp | 36 - .../re.regex.construct/ptr_flg.pass.cpp | 61 - .../re.regex.construct/ptr_size.pass.cpp | 42 - .../re.regex.construct/ptr_size_flg.pass.cpp | 62 - .../re.regex.construct/string.pass.cpp | 37 - .../re.regex.construct/string_flg.pass.cpp | 63 - .../re.regex/re.regex.locale/imbue.pass.cpp | 35 - .../re.regex.nmswap/swap.pass.cpp | 31 - .../tested_elsewhere.pass.cpp | 13 - .../re/re.regex/re.regex.swap/swap.pass.cpp | 30 - .../src/test/std/re/re.regex/types.pass.cpp | 43 - .../test/std/re/re.req/nothing_to_do.pass.cpp | 13 - ...range_concept_conformance.compile.pass.cpp | 36 - .../re.results.acc/begin_end.pass.cpp | 41 - .../re.results.acc/cbegin_cend.pass.cpp | 41 - .../re.results/re.results.acc/index.pass.cpp | 55 - .../re.results/re.results.acc/length.pass.cpp | 38 - .../re.results.acc/position.pass.cpp | 38 - .../re.results/re.results.acc/prefix.pass.cpp | 36 - .../re/re.results/re.results.acc/str.pass.cpp | 38 - .../re.results/re.results.acc/suffix.pass.cpp | 36 - .../re.results.all/get_allocator.pass.cpp | 39 - .../re.results.const/allocator.pass.cpp | 39 - .../re.results/re.results.const/copy.pass.cpp | 46 - .../re.results.const/copy_assign.pass.cpp | 57 - .../re.results.const/default.pass.cpp | 54 - .../re.results/re.results.const/move.pass.cpp | 54 - .../re.results.const/move_assign.pass.cpp | 58 - .../re.results/re.results.form/form1.pass.cpp | 159 - .../re.results/re.results.form/form2.pass.cpp | 100 - .../re.results/re.results.form/form3.pass.cpp | 87 - .../re.results/re.results.form/form4.pass.cpp | 82 - .../re.results.nonmember/equal.pass.cpp | 48 - .../re.results/re.results.size/empty.pass.cpp | 38 - .../re.results.size/empty.verify.cpp | 21 - .../re.results.size/max_size.pass.cpp | 33 - .../re.results.state/ready.pass.cpp | 45 - .../re.results.swap/member_swap.pass.cpp | 41 - .../re.results.swap/non_member_swap.pass.cpp | 43 - .../src/test/std/re/re.results/types.pass.cpp | 53 - .../compare_string_type.pass.cpp | 51 - .../compare_sub_match.pass.cpp | 57 - .../compare_value_type_ptr.pass.cpp | 49 - .../re.submatch.members/default.pass.cpp | 37 - .../re.submatch.members/length.pass.cpp | 47 - .../operator_string.pass.cpp | 51 - .../re.submatch.members/str.pass.cpp | 51 - .../re.submatch.members/swap.pass.cpp | 76 - .../re.submatch.op/compare.pass.cpp | 361 - .../re.submatch.op/stream.pass.cpp | 46 - .../test/std/re/re.submatch/types.pass.cpp | 69 - .../src/test/std/re/re.syn/cmatch.pass.cpp | 22 - .../std/re/re.syn/cregex_iterator.pass.cpp | 22 - .../re/re.syn/cregex_token_iterator.pass.cpp | 22 - .../test/std/re/re.syn/csub_match.pass.cpp | 22 - .../src/test/std/re/re.syn/regex.pass.cpp | 22 - .../src/test/std/re/re.syn/smatch.pass.cpp | 22 - .../std/re/re.syn/sregex_iterator.pass.cpp | 22 - .../re/re.syn/sregex_token_iterator.pass.cpp | 22 - .../test/std/re/re.syn/ssub_match.pass.cpp | 22 - .../src/test/std/re/re.syn/wcmatch.pass.cpp | 24 - .../std/re/re.syn/wcregex_iterator.pass.cpp | 24 - .../re/re.syn/wcregex_token_iterator.pass.cpp | 24 - .../test/std/re/re.syn/wcsub_match.pass.cpp | 24 - .../src/test/std/re/re.syn/wregex.pass.cpp | 24 - .../src/test/std/re/re.syn/wsmatch.pass.cpp | 24 - .../std/re/re.syn/wsregex_iterator.pass.cpp | 24 - .../re/re.syn/wsregex_token_iterator.pass.cpp | 24 - .../test/std/re/re.syn/wssub_match.pass.cpp | 24 - .../test/std/re/re.traits/default.pass.cpp | 49 - .../src/test/std/re/re.traits/getloc.pass.cpp | 49 - .../src/test/std/re/re.traits/imbue.pass.cpp | 34 - .../test/std/re/re.traits/isctype.pass.cpp | 285 - .../src/test/std/re/re.traits/length.pass.cpp | 34 - .../re/re.traits/lookup_classname.pass.cpp | 250 - .../re/re.traits/lookup_collatename.pass.cpp | 202 - .../test/std/re/re.traits/transform.pass.cpp | 52 - .../re/re.traits/transform_primary.pass.cpp | 60 - .../test/std/re/re.traits/translate.pass.cpp | 37 - .../re/re.traits/translate_nocase.pass.cpp | 72 - .../src/test/std/re/re.traits/types.pass.cpp | 35 - .../src/test/std/re/re.traits/value.pass.cpp | 129 - .../char_type_hash.verify.cpp | 69 - .../basic.string.hash/enabled_hashes.pass.cpp | 71 - .../basic.string.hash/strings.pass.cpp | 54 - .../basic.string.literals/literal.pass.cpp | 98 - .../basic.string.literals/literal.verify.cpp | 21 - .../noexcept.compile.pass.cpp | 24 - .../allocator_mismatch.verify.cpp | 15 - .../strings/basic.string/char.bad.verify.cpp | 52 - ...range_concept_conformance.compile.pass.cpp | 34 - .../basic.string/string.access/at.pass.cpp | 81 - .../basic.string/string.access/back.pass.cpp | 55 - .../basic.string/string.access/front.pass.cpp | 55 - .../basic.string/string.access/index.pass.cpp | 74 - .../string.capacity/capacity.pass.cpp | 99 - .../string.capacity/clear.pass.cpp | 63 - .../string.capacity/empty.pass.cpp | 48 - .../string.capacity/empty.verify.cpp | 22 - .../string.capacity/length.pass.cpp | 47 - .../string.capacity/max_size.pass.cpp | 105 - .../string.capacity/over_max_size.pass.cpp | 61 - .../reserve.deprecated_in_cxx20.verify.cpp | 20 - .../string.capacity/reserve.pass.cpp | 62 - .../reserve.removed_in_cxx26.verify.cpp | 20 - .../reserve_size.asan.pass.cpp | 63 - .../string.capacity/reserve_size.pass.cpp | 96 - .../resize_and_overwrite.pass.cpp | 108 - .../string.capacity/resize_size.pass.cpp | 79 - .../string.capacity/resize_size_char.pass.cpp | 91 - ...hrink_to_fit.explicit_instantiation.sh.cpp | 59 - .../string.capacity/shrink_to_fit.pass.cpp | 73 - .../string.capacity/size.pass.cpp | 47 - .../string.cons/T_size_size.pass.cpp | 160 - .../basic.string/string.cons/alloc.pass.cpp | 111 - .../string.cons/brace_assignment.pass.cpp | 72 - .../string.cons/char_assignment.pass.cpp | 56 - .../basic.string/string.cons/copy.pass.cpp | 59 - .../string.cons/copy_alloc.pass.cpp | 142 - .../string.cons/copy_assignment.pass.cpp | 75 - .../basic.string/string.cons/default.pass.cpp | 46 - .../basic.string/string.cons/dtor.pass.cpp | 62 - .../string.cons/from_range.pass.cpp | 131 - .../string.cons/from_range_deduction.pass.cpp | 55 - .../implicit_deduction_guides.pass.cpp | 358 - .../string.cons/initializer_list.pass.cpp | 66 - .../initializer_list_assignment.pass.cpp | 80 - .../string.cons/iter_alloc.pass.cpp | 112 - .../string.cons/iter_alloc_deduction.pass.cpp | 129 - .../basic.string/string.cons/move.pass.cpp | 61 - .../string.cons/move_alloc.pass.cpp | 88 - .../string.cons/move_assign_noexcept.pass.cpp | 103 - .../string.cons/move_assignment.pass.cpp | 72 - .../string.cons/move_noexcept.pass.cpp | 43 - .../string.cons/nullptr.compile.pass.cpp | 21 - .../string.cons/pointer_alloc.pass.cpp | 86 - .../string.cons/pointer_assignment.pass.cpp | 67 - .../string.cons/pointer_size_alloc.pass.cpp | 91 - .../string.cons/size_char_alloc.pass.cpp | 113 - .../string.cons/string_view.pass.cpp | 114 - .../string_view_assignment.pass.cpp | 67 - .../string_view_deduction.pass.cpp | 124 - .../string_view_size_size_deduction.pass.cpp | 131 - .../basic.string/string.cons/substr.pass.cpp | 185 - .../string.cons/substr_rvalue.pass.cpp | 243 - .../string.contains/contains.char.pass.cpp | 45 - .../string.contains/contains.ptr.pass.cpp | 75 - .../contains.string_view.pass.cpp | 98 - .../string.ends_with/ends_with.char.pass.cpp | 43 - .../string.ends_with/ends_with.ptr.pass.cpp | 72 - .../ends_with.string_view.pass.cpp | 82 - .../string.iterators/begin.pass.cpp | 53 - .../string.iterators/cbegin.pass.cpp | 50 - .../string.iterators/cend.pass.cpp | 46 - .../string.iterators/crbegin.pass.cpp | 50 - .../string.iterators/crend.pass.cpp | 47 - .../string.iterators/end.pass.cpp | 56 - ...rator_concept_conformance.compile.pass.cpp | 77 - .../string.iterators/iterators.pass.cpp | 83 - .../string.iterators/rbegin.pass.cpp | 53 - .../string.iterators/rend.pass.cpp | 56 - .../robust_against_adl.pass.cpp | 53 - .../string_append/T_size_size.pass.cpp | 178 - .../string_append/append_range.pass.cpp | 77 - .../string_append/initializer_list.pass.cpp | 60 - .../string_append/iterator.pass.cpp | 243 - .../string_append/pointer.pass.cpp | 76 - .../string_append/pointer_size.pass.cpp | 100 - .../string_append/push_back.pass.cpp | 104 - .../string_append/size_char.pass.cpp | 67 - .../string_append/string.pass.cpp | 86 - .../string_append/string_size_size.pass.cpp | 123 - .../string_append/string_view.pass.cpp | 76 - .../string_assign/T_size_size.pass.cpp | 170 - .../string_assign/assign_range.pass.cpp | 77 - .../string_assign/initializer_list.pass.cpp | 57 - .../string_assign/iterator.pass.cpp | 189 - .../string_assign/pointer.pass.cpp | 80 - .../string_assign/pointer_size.pass.cpp | 88 - .../string_assign/rv_string.pass.cpp | 67 - .../string_assign/size_char.pass.cpp | 62 - .../string_assign/string.pass.cpp | 128 - .../string_assign/string_size_size.pass.cpp | 114 - .../string_assign/string_view.pass.cpp | 84 - .../string_copy/copy.pass.cpp | 130 - .../string_erase/iter.pass.cpp | 64 - .../string_erase/iter_iter.pass.cpp | 107 - .../string_erase/pop_back.pass.cpp | 55 - .../string_erase/size_size.pass.cpp | 198 - .../string_insert/insert_range.pass.cpp | 63 - .../string_insert/iter_char.pass.cpp | 89 - .../iter_initializer_list.pass.cpp | 51 - ...iter_iter_iter.infinite_recursion.pass.cpp | 101 - .../string_insert/iter_iter_iter.pass.cpp | 248 - .../string_insert/iter_size_char.pass.cpp | 116 - .../string_insert/size_T_size_size.pass.cpp | 1864 -- .../string_insert/size_pointer.pass.cpp | 162 - .../string_insert/size_pointer_size.pass.cpp | 402 - .../string_insert/size_size_char.pass.cpp | 147 - .../string_insert/size_string.pass.cpp | 155 - .../size_string_size_size.pass.cpp | 1825 -- .../string_insert/string_view.pass.cpp | 160 - .../string_op_plus_equal/char.pass.cpp | 54 - .../initializer_list.pass.cpp | 58 - .../string_op_plus_equal/pointer.pass.cpp | 78 - .../string_op_plus_equal/string.pass.cpp | 86 - .../iter_iter_initializer_list.pass.cpp | 42 - .../iter_iter_iter_iter.pass.cpp | 1070 - .../string_replace/iter_iter_pointer.pass.cpp | 305 - .../iter_iter_pointer_size.pass.cpp | 1010 - .../iter_iter_size_char.pass.cpp | 291 - .../string_replace/iter_iter_string.pass.cpp | 301 - .../iter_iter_string_view.pass.cpp | 289 - .../replace_with_range.pass.cpp | 952 - .../size_size_T_size_size.pass.cpp | 6288 ----- .../string_replace/size_size_pointer.pass.cpp | 386 - .../size_size_pointer_size.pass.cpp | 1350 - .../size_size_size_char.pass.cpp | 390 - .../string_replace/size_size_string.pass.cpp | 393 - .../size_size_string_size_size.pass.cpp | 6108 ----- .../size_size_string_view.pass.cpp | 385 - .../string_swap/swap.asan.pass.cpp | 91 - .../string_swap/swap.pass.cpp | 77 - .../string.cmp/comparison.pass.cpp | 101 - .../string.io/get_line.pass.cpp | 150 - .../string.io/get_line_delim.pass.cpp | 155 - .../string.io/get_line_delim_rv.pass.cpp | 48 - .../string.io/get_line_rv.pass.cpp | 46 - .../string.nonmembers/string.io/lit.local.cfg | 3 - .../string.io/stream_extract.pass.cpp | 121 - .../string.io/stream_insert.pass.cpp | 71 - .../string.special/swap.pass.cpp | 78 - .../string.special/swap_noexcept.pass.cpp | 83 - .../string_op!=/pointer_string.pass.cpp | 61 - .../string_op!=/string_pointer.pass.cpp | 61 - .../string_op!=/string_string.pass.cpp | 62 - .../string_op!=/string_string_view.pass.cpp | 61 - .../string_op!=/string_view_string.pass.cpp | 61 - .../string_op+/allocator_propagation.pass.cpp | 205 - .../string_op+/char_string.pass.cpp | 71 - .../string_op+/pointer_string.pass.cpp | 93 - .../string_op+/string_char.pass.cpp | 73 - .../string_op+/string_pointer.pass.cpp | 95 - .../string_op+/string_string.pass.cpp | 151 - .../string_operator==/pointer_string.pass.cpp | 61 - .../string_operator==/string_pointer.pass.cpp | 61 - .../string_operator==/string_string.pass.cpp | 62 - .../string_string_view.pass.cpp | 62 - .../string_view_string.pass.cpp | 62 - .../string_opgt/pointer_string.pass.cpp | 61 - .../string_opgt/string_pointer.pass.cpp | 61 - .../string_opgt/string_string.pass.cpp | 62 - .../string_opgt/string_string_view.pass.cpp | 62 - .../string_opgt/string_view_string.pass.cpp | 62 - .../string_opgt=/pointer_string.pass.cpp | 61 - .../string_opgt=/string_pointer.pass.cpp | 61 - .../string_opgt=/string_string.pass.cpp | 62 - .../string_opgt=/string_string_view.pass.cpp | 62 - .../string_opgt=/string_view_string.pass.cpp | 62 - .../string_oplt/pointer_string.pass.cpp | 61 - .../string_oplt/string_pointer.pass.cpp | 61 - .../string_oplt/string_string.pass.cpp | 62 - .../string_oplt/string_string_view.pass.cpp | 62 - .../string_oplt/string_view_string.pass.cpp | 62 - .../string_oplt=/pointer_string.pass.cpp | 61 - .../string_oplt=/string_pointer.pass.cpp | 61 - .../string_oplt=/string_string.pass.cpp | 62 - .../string_oplt=/string_string_view.pass.cpp | 62 - .../string_oplt=/string_view_string.pass.cpp | 62 - .../string.accessors/c_str.pass.cpp | 54 - .../string.ops/string.accessors/data.pass.cpp | 78 - .../string.accessors/get_allocator.pass.cpp | 54 - .../string_compare/pointer.pass.cpp | 69 - .../size_size_T_size_size.pass.cpp | 6050 ----- .../string_compare/size_size_pointer.pass.cpp | 377 - .../size_size_pointer_size.pass.cpp | 1345 - .../string_compare/size_size_string.pass.cpp | 379 - .../size_size_string_size_size.pass.cpp | 6016 ---- .../size_size_string_view.pass.cpp | 379 - .../string.ops/string_compare/string.pass.cpp | 73 - .../string_compare/string_view.pass.cpp | 72 - .../char_size.pass.cpp | 83 - .../pointer_size.pass.cpp | 161 - .../pointer_size_size.pass.cpp | 392 - .../string_size.pass.cpp | 165 - .../string_view_size.pass.cpp | 164 - .../string_find.first.of/char_size.pass.cpp | 81 - .../pointer_size.pass.cpp | 162 - .../pointer_size_size.pass.cpp | 392 - .../string_find.first.of/string_size.pass.cpp | 165 - .../string_view_size.pass.cpp | 164 - .../char_size.pass.cpp | 81 - .../pointer_size.pass.cpp | 162 - .../pointer_size_size.pass.cpp | 392 - .../string_size.pass.cpp | 165 - .../string_view_size.pass.cpp | 164 - .../string_find.last.of/char_size.pass.cpp | 81 - .../string_find.last.of/pointer_size.pass.cpp | 162 - .../pointer_size_size.pass.cpp | 392 - .../string_find.last.of/string_size.pass.cpp | 165 - .../string_view_size.pass.cpp | 163 - .../string.ops/string_find/char_size.pass.cpp | 81 - .../string_find/pointer_size.pass.cpp | 166 - .../string_find/pointer_size_size.pass.cpp | 392 - .../string_find/string_size.pass.cpp | 167 - .../string_find/string_view_size.pass.cpp | 163 - .../string_rfind/char_size.pass.cpp | 81 - .../string_rfind/pointer_size.pass.cpp | 161 - .../string_rfind/pointer_size_size.pass.cpp | 392 - .../string_rfind/string_size.pass.cpp | 159 - .../string_rfind/string_view_size.pass.cpp | 159 - .../string.ops/string_substr/substr.pass.cpp | 162 - .../string_substr/substr_rvalue.pass.cpp | 107 - .../string.require/contiguous.pass.cpp | 65 - .../starts_with.char.pass.cpp | 43 - .../starts_with.ptr.pass.cpp | 71 - .../starts_with.string_view.pass.cpp | 82 - .../std/strings/basic.string/test_traits.h | 17 - .../basic.string/traits_mismatch.verify.cpp | 17 - .../std/strings/basic.string/types.pass.cpp | 85 - .../std/strings/c.strings/cctype.pass.cpp | 105 - .../std/strings/c.strings/cstring.pass.cpp | 137 - .../strings/c.strings/cuchar.compile.pass.cpp | 35 - .../std/strings/c.strings/cwchar.pass.cpp | 129 - .../cwchar_include_order1.compile.verify.cpp | 25 - .../cwchar_include_order2.compile.verify.cpp | 25 - .../std/strings/c.strings/cwctype.pass.cpp | 118 - .../c.strings/no_c8rtomb_mbrtoc8.verify.cpp | 30 - .../nothing_to_do.pass.cpp | 9 - .../assign2.pass.cpp | 39 - .../assign3.pass.cpp | 39 - .../compare.pass.cpp | 59 - .../copy.pass.cpp | 41 - .../eof.pass.cpp | 24 - .../eq.pass.cpp | 25 - .../eq_int_type.pass.cpp | 27 - .../find.pass.cpp | 43 - .../length.pass.cpp | 39 - .../lt.pass.cpp | 35 - .../move.pass.cpp | 45 - .../not_eof.pass.cpp | 27 - .../to_char_type.pass.cpp | 26 - .../to_int_type.pass.cpp | 26 - .../types.compile.pass.cpp | 32 - .../assign2.pass.cpp | 41 - .../assign3.pass.cpp | 39 - .../compare.pass.cpp | 58 - .../copy.pass.cpp | 41 - .../eof.pass.cpp | 21 - .../eq.pass.cpp | 24 - .../eq_int_type.pass.cpp | 29 - .../find.pass.cpp | 44 - .../length.pass.cpp | 41 - .../lt.pass.cpp | 24 - .../move.pass.cpp | 45 - .../not_eof.pass.cpp | 29 - .../to_char_type.pass.cpp | 28 - .../to_int_type.pass.cpp | 28 - .../types.compile.pass.cpp | 33 - .../assign2.pass.cpp | 41 - .../assign3.pass.cpp | 39 - .../compare.pass.cpp | 58 - .../copy.pass.cpp | 41 - .../eof.pass.cpp | 25 - .../eq.pass.cpp | 24 - .../eq_int_type.pass.cpp | 29 - .../find.pass.cpp | 44 - .../length.pass.cpp | 41 - .../lt.pass.cpp | 24 - .../move.pass.cpp | 45 - .../not_eof.pass.cpp | 29 - .../to_char_type.pass.cpp | 28 - .../to_int_type.pass.cpp | 28 - .../types.compile.pass.cpp | 33 - .../assign2.pass.cpp | 37 - .../assign3.pass.cpp | 43 - .../compare.pass.cpp | 55 - .../copy.pass.cpp | 45 - .../eof.pass.cpp | 28 - .../eq.pass.cpp | 28 - .../eq_int_type.pass.cpp | 30 - .../find.pass.cpp | 43 - .../length.pass.cpp | 38 - .../lt.pass.cpp | 28 - .../move.pass.cpp | 49 - .../not_eof.pass.cpp | 30 - .../to_char_type.pass.cpp | 29 - .../to_int_type.pass.cpp | 29 - .../types.compile.pass.cpp | 34 - .../assign2.pass.cpp | 41 - .../assign3.pass.cpp | 41 - .../compare.pass.cpp | 58 - .../copy.pass.cpp | 43 - .../eof.pass.cpp | 26 - .../eq.pass.cpp | 27 - .../eq_int_type.pass.cpp | 29 - .../find.pass.cpp | 45 - .../length.pass.cpp | 41 - .../lt.pass.cpp | 37 - .../move.pass.cpp | 47 - .../not_eof.pass.cpp | 29 - .../to_char_type.pass.cpp | 28 - .../to_int_type.pass.cpp | 28 - .../types.compile.pass.cpp | 34 - .../nothing_to_do.pass.cpp | 9 - .../string.classes/typedefs.compile.pass.cpp | 33 - .../strings/string.conversions/stod.pass.cpp | 158 - .../strings/string.conversions/stof.pass.cpp | 159 - .../strings/string.conversions/stoi.pass.cpp | 118 - .../strings/string.conversions/stol.pass.cpp | 122 - .../strings/string.conversions/stold.pass.cpp | 152 - .../strings/string.conversions/stoll.pass.cpp | 122 - .../strings/string.conversions/stoul.pass.cpp | 120 - .../string.conversions/stoull.pass.cpp | 120 - .../string.conversions/to_string.pass.cpp | 117 - .../string.conversions/to_wstring.pass.cpp | 119 - .../strings/string.view/char.bad.verify.cpp | 56 - .../enable_borrowed_range.compile.pass.cpp | 26 - ...range_concept_conformance.compile.pass.cpp | 34 - .../string.view.access/at.pass.cpp | 65 - .../string.view.access/back.pass.cpp | 57 - .../string.view.access/data.pass.cpp | 59 - .../string.view.access/front.pass.cpp | 57 - .../string.view.access/index.pass.cpp | 60 - .../string.view.capacity/capacity.pass.cpp | 126 - .../string.view.capacity/empty.verify.cpp | 22 - .../common_type_specialization.pass.cpp | 73 - .../comparison.pass.cpp | 149 - .../comparison.verify.cpp | 96 - .../string.view.comparison/equal.pass.cpp | 112 - .../string.view.comparison/greater.pass.cpp | 112 - .../greater_equal.pass.cpp | 112 - .../string.view.comparison/less.pass.cpp | 112 - .../less_equal.pass.cpp | 112 - .../string.view.comparison/not_equal.pass.cpp | 112 - .../string.view.cons/assign.pass.cpp | 59 - .../string.view.cons/default.pass.cpp | 51 - .../from_iterator_sentinel.pass.cpp | 100 - .../string.view.cons/from_literal.pass.cpp | 73 - .../string.view.cons/from_ptr_len.pass.cpp | 88 - .../string.view.cons/from_range.pass.cpp | 197 - .../string.view.cons/from_string.pass.cpp | 66 - .../implicit_deduction_guides.pass.cpp | 71 - .../string.view.cons/nullptr.compile.pass.cpp | 20 - .../string.view.deduct/implicit.pass.cpp | 36 - .../iterator_sentinel.pass.cpp | 55 - .../string.view.deduct/range.pass.cpp | 54 - .../string.view.find/find_char_size.pass.cpp | 83 - .../find_first_not_of_char_size.pass.cpp | 84 - .../find_first_not_of_pointer_size.pass.cpp | 162 - ...nd_first_not_of_pointer_size_size.pass.cpp | 393 - ...ind_first_not_of_string_view_size.pass.cpp | 147 - .../find_first_of_char_size.pass.cpp | 81 - .../find_first_of_pointer_size.pass.cpp | 163 - .../find_first_of_pointer_size_size.pass.cpp | 393 - .../find_first_of_string_view_size.pass.cpp | 148 - .../find_last_not_of_char_size.pass.cpp | 82 - .../find_last_not_of_pointer_size.pass.cpp | 162 - ...ind_last_not_of_pointer_size_size.pass.cpp | 393 - ...find_last_not_of_string_view_size.pass.cpp | 148 - .../find_last_of_char_size.pass.cpp | 82 - .../find_last_of_pointer_size.pass.cpp | 163 - .../find_last_of_pointer_size_size.pass.cpp | 393 - .../find_last_of_string_view_size.pass.cpp | 148 - .../find_pointer_size.pass.cpp | 167 - .../find_pointer_size_size.pass.cpp | 394 - .../find_string_view_size.pass.cpp | 163 - .../string.view.find/rfind_char_size.pass.cpp | 83 - .../rfind_pointer_size.pass.cpp | 167 - .../rfind_pointer_size_size.pass.cpp | 393 - .../rfind_string_view_size.pass.cpp | 163 - .../char_type.hash.verify.cpp | 70 - .../string.view.hash/enabled_hashes.pass.cpp | 70 - .../string.view.hash/string_view.pass.cpp | 71 - .../string.view.io/stream_insert.pass.cpp | 62 - ...tream_insert_decl_present.compile.pass.cpp | 28 - .../string.view.iterators/begin.pass.cpp | 99 - .../string.view.iterators/end.pass.cpp | 107 - ...rator_concept_conformance.compile.pass.cpp | 52 - .../string.view.iterators/rbegin.pass.cpp | 100 - .../string.view.iterators/rend.pass.cpp | 107 - .../remove_prefix.pass.cpp | 81 - .../remove_suffix.pass.cpp | 81 - .../string.view.modifiers/swap.pass.cpp | 78 - .../string.view.nonmem/quoted.pass.cpp | 216 - .../string.view.ops/compare.pointer.pass.cpp | 129 - .../compare.pointer_size.pass.cpp | 449 - .../compare.size_size_sv.pass.cpp | 401 - ...compare.size_size_sv_pointer_size.pass.cpp | 1330 - .../compare.size_size_sv_size_size.pass.cpp | 5796 ---- .../string.view.ops/compare.sv.pass.cpp | 124 - .../string.view/string.view.ops/copy.pass.cpp | 138 - .../string.view.ops/substr.pass.cpp | 124 - .../string.view.synop/nothing_to_do.pass.cpp | 11 - .../contains.char.pass.cpp | 43 - .../contains.ptr.pass.cpp | 73 - .../contains.string_view.pass.cpp | 87 - .../ends_with.char.pass.cpp | 48 - .../ends_with.ptr.pass.cpp | 99 - .../ends_with.string_view.pass.cpp | 105 - .../starts_with.char.pass.cpp | 48 - .../starts_with.ptr.pass.cpp | 99 - .../starts_with.string_view.pass.cpp | 105 - .../string_view.literals/literal.pass.cpp | 116 - .../string_view.literals/literal.verify.cpp | 23 - .../traits_mismatch.compile.fail.cpp | 20 - .../trivially_copyable.compile.pass.cpp | 28 - .../std/strings/string.view/types.pass.cpp | 79 - .../strings/strings.erasure/erase.pass.cpp | 73 - .../strings/strings.erasure/erase_if.pass.cpp | 75 - .../strings.general/nothing_to_do.pass.cpp | 9 - .../futures/futures.async/async.pass.cpp | 158 - .../futures/futures.async/async.verify.cpp | 30 - .../futures.async/async_race.38682.pass.cpp | 65 - .../futures/futures.async/async_race.pass.cpp | 71 - .../default_error_condition.pass.cpp | 31 - .../equivalent_error_code_int.pass.cpp | 29 - .../equivalent_int_error_condition.pass.cpp | 30 - .../futures.errors/future_category.pass.cpp | 43 - .../futures.errors/make_error_code.pass.cpp | 31 - .../make_error_condition.pass.cpp | 33 - .../futures.future_error/code.pass.cpp | 52 - .../futures.future_error/ctor.pass.cpp | 44 - .../types.compile.pass.cpp | 18 - .../futures.future_error/what.pass.cpp | 65 - .../futures.overview/future_errc.pass.cpp | 43 - .../futures.overview/future_status.pass.cpp | 31 - .../is_error_code_enum_future_errc.pass.cpp | 26 - .../futures/futures.overview/launch.pass.cpp | 48 - .../futures.promise/alloc_ctor.pass.cpp | 88 - .../futures.promise/copy_assign.verify.cpp | 32 - .../futures.promise/copy_ctor.verify.cpp | 32 - .../futures/futures.promise/default.pass.cpp | 42 - .../futures/futures.promise/dtor.pass.cpp | 128 - .../futures.promise/get_future.pass.cpp | 61 - .../futures.promise/move_assign.pass.cpp | 99 - .../futures.promise/move_ctor.pass.cpp | 93 - .../futures.promise/set_exception.pass.cpp | 52 - .../set_exception_at_thread_exit.pass.cpp | 49 - .../futures.promise/set_lvalue.pass.cpp | 49 - .../set_lvalue_at_thread_exit.pass.cpp | 43 - .../futures.promise/set_rvalue.pass.cpp | 67 - .../set_rvalue_at_thread_exit.pass.cpp | 39 - .../set_value_at_thread_exit_const.pass.cpp | 40 - .../set_value_at_thread_exit_void.pass.cpp | 44 - .../futures.promise/set_value_const.pass.cpp | 73 - .../futures.promise/set_value_void.pass.cpp | 44 - .../futures/futures.promise/swap.pass.cpp | 88 - .../futures.promise/uses_allocator.pass.cpp | 30 - .../copy_assign.pass.cpp | 82 - .../futures.shared_future/copy_ctor.pass.cpp | 76 - .../ctor_future.pass.cpp | 72 - .../futures.shared_future/default.pass.cpp | 38 - .../futures.shared_future/dtor.pass.cpp | 73 - .../futures.shared_future/get.pass.cpp | 156 - .../move_assign.pass.cpp | 78 - .../futures.shared_future/move_ctor.pass.cpp | 72 - .../futures.shared_future/wait.pass.cpp | 95 - .../futures.shared_future/wait_for.pass.cpp | 147 - .../futures.shared_future/wait_until.pass.cpp | 128 - .../futures.state/nothing_to_do.pass.cpp | 13 - .../assign_copy.verify.cpp | 28 - .../futures.task.members/assign_move.pass.cpp | 54 - .../ctad.compile.pass.cpp | 77 - .../ctad.static.compile.pass.cpp | 25 - .../futures.task.members/ctor1.verify.cpp | 37 - .../ctor2.compile.pass.cpp | 41 - .../futures.task.members/ctor_copy.verify.cpp | 29 - .../ctor_default.pass.cpp | 31 - .../futures.task.members/ctor_func.pass.cpp | 83 - .../ctor_func_alloc.pass.cpp | 130 - .../futures.task.members/ctor_move.pass.cpp | 52 - .../futures.task.members/dtor.pass.cpp | 67 - .../futures.task.members/get_future.pass.cpp | 70 - .../make_ready_at_thread_exit.pass.cpp | 120 - .../futures.task.members/operator.pass.cpp | 121 - .../futures.task.members/reset.pass.cpp | 64 - .../futures.task.members/swap.pass.cpp | 54 - .../futures.task.nonmembers/swap.pass.cpp | 56 - .../uses_allocator.compile.pass.cpp | 26 - .../copy_assign.verify.cpp | 32 - .../copy_ctor.verify.cpp | 32 - .../futures.unique_future/default.pass.cpp | 38 - .../futures.unique_future/dtor.pass.cpp | 73 - .../futures.unique_future/get.pass.cpp | 156 - .../move_assign.pass.cpp | 77 - .../futures.unique_future/move_ctor.pass.cpp | 71 - .../futures.unique_future/share.pass.cpp | 78 - .../futures.unique_future/wait.pass.cpp | 71 - .../futures.unique_future/wait_for.pass.cpp | 90 - .../futures.unique_future/wait_until.pass.cpp | 127 - .../libc++/src/test/std/thread/macro.pass.cpp | 28 - .../std/thread/thread.barrier/arrive.pass.cpp | 36 - .../thread.barrier/arrive_and_drop.pass.cpp | 35 - .../thread.barrier/arrive_and_wait.pass.cpp | 35 - .../thread/thread.barrier/completion.pass.cpp | 40 - .../thread.barrier/ctor.compile.pass.cpp | 22 - .../std/thread/thread.barrier/max.pass.cpp | 26 - .../thread.condition/cv_status.pass.cpp | 26 - .../notify_all_at_thread_exit.pass.cpp | 51 - ...notify_all_at_thread_exit_lwg3343.pass.cpp | 123 - .../assign.compile.fail.cpp | 25 - .../copy.compile.fail.cpp | 24 - .../thread.condition.condvar/default.pass.cpp | 28 - .../destructor.pass.cpp | 62 - .../notify_all.pass.cpp | 73 - .../notify_one.pass.cpp | 133 - .../thread.condition.condvar/wait.pass.cpp | 56 - .../wait_for.pass.cpp | 95 - .../wait_for_pred.pass.cpp | 101 - .../wait_pred.pass.cpp | 67 - .../wait_until.pass.cpp | 118 - .../wait_until_pred.pass.cpp | 118 - .../assign.compile.fail.cpp | 25 - .../copy.compile.fail.cpp | 24 - .../default.pass.cpp | 27 - .../destructor.pass.cpp | 63 - .../thread.condition.condvarany/helpers.h | 45 - .../notify_all.pass.cpp | 67 - .../notify_one.pass.cpp | 103 - .../thread.condition.condvarany/wait.pass.cpp | 61 - .../wait_for.pass.cpp | 98 - .../wait_for_pred.pass.cpp | 107 - .../wait_for_token_pred.pass.cpp | 247 - .../wait_pred.pass.cpp | 71 - .../wait_terminates.sh.cpp | 156 - .../wait_token_pred.pass.cpp | 183 - .../wait_until.pass.cpp | 110 - .../wait_until_pred.pass.cpp | 122 - .../wait_until_token_pred.pass.cpp | 246 - .../thread.general/nothing_to_do.pass.cpp | 13 - .../thread.jthread/assign.move.pass.cpp | 117 - .../thread.jthread/cons.default.pass.cpp | 33 - .../thread.jthread/cons.func.token.pass.cpp | 160 - .../thread/thread.jthread/cons.move.pass.cpp | 52 - .../copy.delete.compile.pass.cpp | 21 - .../std/thread/thread.jthread/detach.pass.cpp | 75 - .../std/thread/thread.jthread/dtor.pass.cpp | 70 - .../std/thread/thread.jthread/get_id.pass.cpp | 42 - .../thread.jthread/get_stop_source.pass.cpp | 43 - .../thread.jthread/get_stop_token.pass.cpp | 50 - .../hardware_concurrency.pass.cpp | 30 - .../thread.jthread/join.deadlock.pass.cpp | 65 - .../std/thread/thread.jthread/join.pass.cpp | 89 - .../thread/thread.jthread/joinable.pass.cpp | 54 - .../thread.jthread/nodiscard.verify.cpp | 31 - .../thread.jthread/request_stop.pass.cpp | 46 - .../thread/thread.jthread/swap.free.pass.cpp | 76 - .../thread.jthread/swap.member.pass.cpp | 76 - .../thread.jthread/type.compile.pass.cpp | 21 - .../thread.latch/arrive_and_wait.pass.cpp | 33 - .../thread/thread.latch/count_down.pass.cpp | 34 - .../std/thread/thread.latch/ctor.pass.cpp | 35 - .../test/std/thread/thread.latch/max.pass.cpp | 23 - .../std/thread/thread.latch/try_wait.pass.cpp | 30 - .../thread.lock.algorithm/lock.pass.cpp | 527 - .../thread.lock.algorithm/try_lock.pass.cpp | 527 - .../thread.lock.guard/adopt_lock.pass.cpp | 43 - .../thread.lock.guard/assign.compile.fail.cpp | 26 - .../thread.lock.guard/copy.compile.fail.cpp | 24 - .../thread.lock.guard/implicit_ctad.pass.cpp | 31 - .../thread.lock.guard/mutex.pass.cpp | 49 - .../thread.lock.guard/mutex.verify.cpp | 25 - .../thread.lock.guard/types.pass.cpp | 32 - .../thread.lock.scoped/adopt_lock.pass.cpp | 73 - .../thread.lock.scoped/assign.verify.cpp | 51 - .../thread.lock.scoped/copy.verify.cpp | 47 - .../thread.lock.scoped/implicit_ctad.pass.cpp | 41 - .../thread.lock.scoped/mutex.pass.cpp | 157 - .../thread.lock.scoped/mutex.verify.cpp | 54 - .../thread.lock.scoped/types.pass.cpp | 79 - .../thread.lock.shared/implicit_ctad.pass.cpp | 30 - .../copy_assign.compile.fail.cpp | 28 - .../copy_ctor.compile.fail.cpp | 26 - .../thread.lock.shared.cons/default.pass.cpp | 30 - .../move_assign.pass.cpp | 53 - .../move_ctor.pass.cpp | 48 - .../thread.lock.shared.cons/mutex.pass.cpp | 105 - .../mutex_adopt_lock.pass.cpp | 45 - .../mutex_defer_lock.pass.cpp | 43 - .../mutex_duration.pass.cpp | 98 - .../mutex_time_point.pass.cpp | 90 - .../mutex_try_to_lock.pass.cpp | 87 - .../thread.lock.shared.locking/lock.pass.cpp | 98 - .../try_lock.pass.cpp | 76 - .../try_lock_for.pass.cpp | 80 - .../try_lock_until.pass.cpp | 80 - .../unlock.pass.cpp | 66 - .../member_swap.pass.cpp | 43 - .../nonmember_swap.pass.cpp | 44 - .../thread.lock.shared.mod/release.pass.cpp | 51 - .../thread.lock.shared.obs/mutex.pass.cpp | 36 - .../thread.lock.shared.obs/op_bool.pass.cpp | 44 - .../thread.lock.shared.obs/owns_lock.pass.cpp | 36 - .../thread.lock.shared/types.pass.cpp | 35 - .../thread.lock.unique/implicit_ctad.pass.cpp | 30 - .../copy_assign.compile.fail.cpp | 34 - .../copy_ctor.compile.fail.cpp | 32 - .../thread.lock.unique.cons/default.pass.cpp | 29 - .../move_assign.pass.cpp | 51 - .../move_ctor.pass.cpp | 47 - .../thread.lock.unique.cons/mutex.pass.cpp | 64 - .../mutex_adopt_lock.pass.cpp | 44 - .../mutex_defer_lock.pass.cpp | 42 - .../mutex_duration.pass.cpp | 73 - .../mutex_time_point.pass.cpp | 73 - .../mutex_try_to_lock.pass.cpp | 71 - .../thread.lock.unique.locking/lock.pass.cpp | 81 - .../try_lock.pass.cpp | 74 - .../try_lock_for.pass.cpp | 78 - .../try_lock_until.pass.cpp | 78 - .../unlock.pass.cpp | 64 - .../member_swap.pass.cpp | 41 - .../nonmember_swap.pass.cpp | 42 - .../thread.lock.unique.mod/release.pass.cpp | 49 - .../thread.lock.unique.obs/mutex.pass.cpp | 34 - .../thread.lock.unique.obs/op_bool.pass.cpp | 39 - .../thread.lock.unique.obs/owns_lock.pass.cpp | 34 - .../thread.lock.unique/types.pass.cpp | 32 - .../thread.mutex/thread.lock/types.pass.cpp | 37 - .../thread.mutex/thread.lock/types.verify.cpp | 24 - .../nothing_to_do.pass.cpp | 13 - .../assign.compile.fail.cpp | 24 - .../thread.mutex.class/copy.compile.fail.cpp | 23 - .../thread.mutex.class/default.pass.cpp | 28 - .../thread.mutex.class/lock.pass.cpp | 54 - .../thread.mutex.class/try_lock.pass.cpp | 58 - .../assign.compile.fail.cpp | 24 - .../copy.compile.fail.cpp | 23 - .../thread.mutex.recursive/default.pass.cpp | 26 - .../thread.mutex.recursive/lock.pass.cpp | 56 - .../thread.mutex.recursive/try_lock.pass.cpp | 60 - .../assign.verify.cpp | 27 - .../thread.shared_mutex.class/copy.verify.cpp | 26 - .../default.pass.cpp | 28 - .../thread.shared_mutex.class/lock.pass.cpp | 67 - .../lock_shared.pass.cpp | 91 - .../try_lock.pass.cpp | 60 - .../try_lock_shared.pass.cpp | 75 - .../assign.compile.fail.cpp | 26 - .../copy.compile.fail.cpp | 25 - .../default.pass.cpp | 27 - .../lock.pass.cpp | 66 - .../lock_shared.pass.cpp | 104 - .../try_lock.pass.cpp | 60 - .../try_lock_for.pass.cpp | 86 - .../try_lock_shared.pass.cpp | 74 - .../try_lock_shared_for.pass.cpp | 93 - .../try_lock_shared_until.pass.cpp | 92 - .../try_lock_until.pass.cpp | 87 - .../try_lock_until_deadlock_bug.pass.cpp | 74 - .../assign.compile.fail.cpp | 24 - .../copy.compile.fail.cpp | 23 - .../thread.timedmutex.class/default.pass.cpp | 26 - .../thread.timedmutex.class/lock.pass.cpp | 54 - .../thread.timedmutex.class/try_lock.pass.cpp | 58 - .../try_lock_for.pass.cpp | 72 - .../try_lock_until.pass.cpp | 72 - .../assign.compile.fail.cpp | 24 - .../copy.compile.fail.cpp | 23 - .../default.pass.cpp | 26 - .../thread.timedmutex.recursive/lock.pass.cpp | 56 - .../try_lock.pass.cpp | 60 - .../try_lock_for.pass.cpp | 74 - .../try_lock_until.pass.cpp | 74 - .../thread.once.callonce/call_once.pass.cpp | 259 - .../thread.once.callonce/race.pass.cpp | 52 - .../assign.compile.fail.cpp | 26 - .../copy.compile.fail.cpp | 25 - .../thread.once.onceflag/default.pass.cpp | 34 - .../nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../thread.req.native/nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../thread.req.timing/nothing_to_do.pass.cpp | 13 - .../thread/thread.semaphore/acquire.pass.cpp | 34 - .../thread/thread.semaphore/binary.pass.cpp | 44 - .../thread.semaphore/ctor.compile.pass.cpp | 31 - .../thread/thread.semaphore/ctor.verify.cpp | 19 - .../thread.semaphore/lost_wakeup.pass.cpp | 64 - .../std/thread/thread.semaphore/max.pass.cpp | 26 - .../thread/thread.semaphore/release.pass.cpp | 37 - .../thread/thread.semaphore/timed.pass.cpp | 48 - .../thread.semaphore/try_acquire.pass.cpp | 41 - .../nostopstate/cons.default.pass.cpp | 42 - .../stopcallback/cons.const.token.pass.cpp | 237 - .../stopcallback/cons.rvalue.token.pass.cpp | 228 - .../stopcallback/copy.move.compile.pass.cpp | 29 - .../stopcallback/ctad.compile.pass.cpp | 29 - .../stopcallback/dtor.pass.cpp | 169 - .../stopcallback/typedef.compile.pass.cpp | 27 - .../stopsource/assign.copy.pass.cpp | 133 - .../stopsource/cons.copy.pass.cpp | 69 - .../stopsource/cons.default.pass.cpp | 32 - .../stopsource/cons.move.pass.cpp | 50 - .../stopsource/cons.nostopstate.pass.cpp | 34 - .../stopsource/equals.pass.cpp | 65 - .../stopsource/get_token.pass.cpp | 51 - .../stopsource/move.copy.pass.cpp | 133 - .../stopsource/nodiscard.verify.cpp | 27 - .../stopsource/request_stop.pass.cpp | 80 - .../stopsource/stop_possible.pass.cpp | 44 - .../stopsource/stop_requested.pass.cpp | 106 - .../stopsource/swap.free.pass.cpp | 50 - .../stopsource/swap.member.pass.cpp | 50 - .../stoptoken/assign.copy.pass.cpp | 46 - .../stoptoken/assign.move.pass.cpp | 49 - .../stoptoken/cons.copy.pass.cpp | 48 - .../stoptoken/cons.default.pass.cpp | 32 - .../stoptoken/cons.move.pass.cpp | 52 - .../stoptoken/equals.pass.cpp | 88 - .../stoptoken/nodiscard.verify.cpp | 25 - .../stoptoken/stop_possible.pass.cpp | 95 - .../stoptoken/stop_requested.pass.cpp | 156 - .../stoptoken/swap.free.pass.cpp | 52 - .../stoptoken/swap.member.pass.cpp | 52 - .../thread.thread.algorithm/swap.pass.cpp | 62 - .../copy.compile.fail.cpp | 23 - .../thread.thread.assign/move.pass.cpp | 71 - .../thread.thread.assign/move2.pass.cpp | 48 - .../thread.thread.constr/F.pass.cpp | 218 - .../constr.compile.fail.cpp | 25 - .../copy.compile.fail.cpp | 22 - .../thread.thread.constr/default.pass.cpp | 28 - .../thread.thread.constr/move.pass.cpp | 71 - .../robust_against_adl.pass.cpp | 33 - .../thread.thread.destr/dtor.pass.cpp | 69 - .../thread.thread.id/assign.pass.cpp | 32 - .../thread.thread.id/cmp.pass.cpp | 69 - .../thread.thread.id/copy.pass.cpp | 29 - .../thread.thread.id/default.pass.cpp | 28 - .../thread.thread.id/enabled_hashes.pass.cpp | 31 - .../format.functions.format.pass.cpp | 56 - .../thread.thread.id/format.functions.tests.h | 82 - .../format.functions.vformat.pass.cpp | 64 - .../thread.thread.id/format.pass.cpp | 72 - .../thread.thread.id/parse.pass.cpp | 70 - .../thread.thread.id/stream.pass.cpp | 148 - .../thread.thread.id/thread_id.pass.cpp | 41 - .../thread.thread.id/types.compile.pass.cpp | 41 - .../thread.thread.member/detach.pass.cpp | 98 - .../thread.thread.member/get_id.pass.cpp | 62 - .../thread.thread.member/join.pass.cpp | 87 - .../thread.thread.member/joinable.pass.cpp | 58 - .../thread.thread.member/swap.pass.cpp | 62 - .../hardware_concurrency.pass.cpp | 27 - .../thread.thread.this/get_id.pass.cpp | 26 - .../sleep_for_tested_elsewhere.pass.cpp | 22 - .../thread.thread.this/sleep_until.pass.cpp | 36 - .../thread.thread.this/yield.pass.cpp | 25 - .../libc++/src/test/std/time/clock.h | 25 - .../libc++/src/test/std/time/days.pass.cpp | 32 - .../libc++/src/test/std/time/hours.pass.cpp | 31 - .../src/test/std/time/microseconds.pass.cpp | 31 - .../src/test/std/time/milliseconds.pass.cpp | 31 - .../libc++/src/test/std/time/minutes.pass.cpp | 31 - .../libc++/src/test/std/time/months.pass.cpp | 32 - .../src/test/std/time/nanoseconds.pass.cpp | 31 - .../libc++/src/test/std/time/rep.h | 87 - .../libc++/src/test/std/time/seconds.pass.cpp | 31 - .../src/test/std/time/time.cal/euclidian.h | 36 - .../time.cal.day.members/ctor.pass.cpp | 47 - .../time.cal.day.members/decrement.pass.cpp | 45 - .../time.cal.day.members/increment.pass.cpp | 46 - .../time.cal.day.members/ok.pass.cpp | 38 - .../plus_minus_equal.pass.cpp | 48 - .../comparisons.pass.cpp | 51 - .../time.cal.day.nonmembers/literals.pass.cpp | 46 - .../literals.verify.cpp | 27 - .../time.cal.day.nonmembers/minus.pass.cpp | 51 - .../time.cal.day.nonmembers/ostream.pass.cpp | 90 - .../time.cal.day.nonmembers/plus.pass.cpp | 52 - .../time/time.cal/time.cal.day/types.pass.cpp | 27 - .../time.cal/time.cal.last/types.pass.cpp | 34 - .../time.cal.md.members/ctor.pass.cpp | 48 - .../time.cal.md.members/day.pass.cpp | 39 - .../time.cal.md.members/month.pass.cpp | 40 - .../time.cal.md.members/ok.pass.cpp | 56 - .../comparisons.pass.cpp | 69 - .../time.cal.md.nonmembers/ostream.pass.cpp | 145 - .../time/time.cal/time.cal.md/types.pass.cpp | 27 - .../time.cal.mdlast/comparisons.pass.cpp | 44 - .../time.cal/time.cal.mdlast/ctor.pass.cpp | 42 - .../time.cal/time.cal.mdlast/month.pass.cpp | 39 - .../time/time.cal/time.cal.mdlast/ok.pass.cpp | 47 - .../time.cal/time.cal.mdlast/ostream.pass.cpp | 195 - .../time.cal/time.cal.mdlast/types.pass.cpp | 28 - .../time.cal.month.members/ctor.pass.cpp | 47 - .../time.cal.month.members/decrement.pass.cpp | 64 - .../time.cal.month.members/increment.pass.cpp | 64 - .../time.cal.month.members/ok.pass.cpp | 39 - .../plus_minus_equal.pass.cpp | 61 - .../comparisons.pass.cpp | 49 - .../literals.pass.cpp | 88 - .../time.cal.month.nonmembers/minus.pass.cpp | 59 - .../ostream.pass.cpp | 186 - .../time.cal.month.nonmembers/plus.pass.cpp | 67 - .../time.cal/time.cal.month/types.pass.cpp | 27 - .../time.cal.mwd.members/ctor.pass.cpp | 47 - .../time.cal.mwd.members/month.pass.cpp | 41 - .../time.cal.mwd.members/ok.pass.cpp | 52 - .../weekday_indexed.pass.cpp | 44 - .../comparisons.pass.cpp | 87 - .../time.cal.mwd.nonmembers/ostream.pass.cpp | 371 - .../time/time.cal/time.cal.mwd/types.pass.cpp | 27 - .../time.cal.mwdlast.members/ctor.pass.cpp | 61 - .../time.cal.mwdlast.members/month.pass.cpp | 43 - .../time.cal.mwdlast.members/ok.pass.cpp | 53 - .../weekday_last.pass.cpp | 45 - .../comparisons.pass.cpp | 74 - .../ostream.pass.cpp | 374 - .../time.cal/time.cal.mwdlast/types.pass.cpp | 28 - .../time.cal.operators/month_day.pass.cpp | 107 - .../month_day_last.pass.cpp | 102 - .../time.cal.operators/month_weekday.pass.cpp | 111 - .../month_weekday_last.pass.cpp | 104 - .../time.cal.operators/year_month.pass.cpp | 66 - .../year_month_day.pass.cpp | 190 - .../year_month_day_last.pass.cpp | 133 - .../year_month_weekday.pass.cpp | 145 - .../year_month_weekday_last.pass.cpp | 151 - .../time.cal.wdidx.members/ctor.pass.cpp | 62 - .../time.cal.wdidx.members/index.pass.cpp | 40 - .../time.cal.wdidx.members/ok.pass.cpp | 50 - .../time.cal.wdidx.members/weekday.pass.cpp | 40 - .../comparisons.pass.cpp | 49 - .../ostream.pass.cpp | 136 - .../time.cal/time.cal.wdidx/types.pass.cpp | 27 - .../time.cal.wdlast.members/ctor.pass.cpp | 48 - .../time.cal.wdlast.members/ok.pass.cpp | 38 - .../time.cal.wdlast.members/weekday.pass.cpp | 34 - .../comparisons.pass.cpp | 44 - .../ostream.pass.cpp | 122 - .../time.cal/time.cal.wdlast/types.pass.cpp | 27 - .../c_encoding.pass.cpp | 40 - .../ctor.local_days.pass.cpp | 74 - .../time.cal.weekday.members/ctor.pass.cpp | 52 - .../ctor.sys_days.pass.cpp | 74 - .../decrement.pass.cpp | 47 - .../increment.pass.cpp | 47 - .../iso_encoding.pass.cpp | 44 - .../time.cal.weekday.members/ok.pass.cpp | 40 - .../operator[].pass.cpp | 60 - .../plus_minus_equal.pass.cpp | 53 - .../comparisons.pass.cpp | 43 - .../literals.pass.cpp | 63 - .../minus.pass.cpp | 63 - .../ostream.pass.cpp | 116 - .../time.cal.weekday.nonmembers/plus.pass.cpp | 62 - .../time.cal/time.cal.weekday/types.pass.cpp | 27 - .../time.cal.year.members/ctor.pass.cpp | 47 - .../time.cal.year.members/decrement.pass.cpp | 46 - .../time.cal.year.members/increment.pass.cpp | 46 - .../time.cal.year.members/is_leap.pass.cpp | 54 - .../time.cal.year.members/ok.pass.cpp | 54 - .../time.cal.year.members/plus_minus.pass.cpp | 45 - .../plus_minus_equal.pass.cpp | 48 - .../comparisons.pass.cpp | 50 - .../literals.pass.cpp | 43 - .../literals.verify.cpp | 27 - .../time.cal.year.nonmembers/minus.pass.cpp | 54 - .../time.cal.year.nonmembers/ostream.pass.cpp | 97 - .../time.cal.year.nonmembers/plus.pass.cpp | 52 - .../time.cal/time.cal.year/types.pass.cpp | 27 - .../time.cal.ym.members/ctor.pass.cpp | 53 - .../time.cal.ym.members/month.pass.cpp | 40 - .../time.cal.ym.members/ok.pass.cpp | 51 - .../plus_minus_equal_month.pass.cpp | 65 - .../plus_minus_equal_year.pass.cpp | 55 - .../time.cal.ym.members/year.pass.cpp | 40 - .../comparisons.pass.cpp | 75 - .../time.cal.ym.nonmembers/minus.pass.cpp | 94 - .../time.cal.ym.nonmembers/ostream.pass.cpp | 274 - .../time.cal.ym.nonmembers/plus.pass.cpp | 111 - .../time/time.cal/time.cal.ym/types.pass.cpp | 27 - .../ctor.local_days.pass.cpp | 86 - .../time.cal.ymd.members/ctor.pass.cpp | 57 - .../ctor.sys_days.pass.cpp | 85 - .../ctor.year_month_day_last.pass.cpp | 81 - .../time.cal.ymd.members/day.pass.cpp | 41 - .../time.cal.ymd.members/month.pass.cpp | 41 - .../time.cal.ymd.members/ok.pass.cpp | 97 - .../op.local_days.pass.cpp | 94 - .../time.cal.ymd.members/op.sys_days.pass.cpp | 117 - .../plus_minus_equal_month.pass.cpp | 93 - .../plus_minus_equal_year.pass.cpp | 61 - .../time.cal.ymd.members/year.pass.cpp | 41 - .../comparisons.pass.cpp | 121 - .../time.cal.ymd.nonmembers/minus.pass.cpp | 59 - .../time.cal.ymd.nonmembers/ostream.pass.cpp | 180 - .../time.cal.ymd.nonmembers/plus.pass.cpp | 104 - .../time/time.cal/time.cal.ymd/types.pass.cpp | 27 - .../time.cal.ymdlast.members/ctor.pass.cpp | 54 - .../time.cal.ymdlast.members/day.pass.cpp | 52 - .../time.cal.ymdlast.members/month.pass.cpp | 39 - .../month_day_last.pass.cpp | 39 - .../time.cal.ymdlast.members/ok.pass.cpp | 53 - .../op_local_days.pass.cpp | 62 - .../op_sys_days.pass.cpp | 62 - .../plus_minus_equal_month.pass.cpp | 67 - .../plus_minus_equal_year.pass.cpp | 56 - .../time.cal.ymdlast.members/year.pass.cpp | 39 - .../comparisons.pass.cpp | 88 - .../minus.pass.cpp | 81 - .../ostream.pass.cpp | 362 - .../time.cal.ymdlast.nonmembers/plus.pass.cpp | 108 - .../ctor.local_days.pass.cpp | 96 - .../time.cal.ymwd.members/ctor.pass.cpp | 65 - .../ctor.sys_days.pass.cpp | 95 - .../time.cal.ymwd.members/index.pass.cpp | 42 - .../time.cal.ymwd.members/month.pass.cpp | 41 - .../time.cal.ymwd.members/ok.pass.cpp | 96 - .../op.local_days.pass.cpp | 74 - .../op.sys_days.pass.cpp | 83 - .../plus_minus_equal_month.pass.cpp | 81 - .../plus_minus_equal_year.pass.cpp | 70 - .../time.cal.ymwd.members/weekday.pass.cpp | 42 - .../weekday_indexed.pass.cpp | 47 - .../time.cal.ymwd.members/year.pass.cpp | 41 - .../comparisons.pass.cpp | 114 - .../time.cal.ymwd.nonmembers/minus.pass.cpp | 83 - .../time.cal.ymwd.nonmembers/ostream.pass.cpp | 266 - .../time.cal.ymwd.nonmembers/plus.pass.cpp | 114 - .../time.cal/time.cal.ymwd/types.pass.cpp | 27 - .../time.cal.ymwdlast.members/ctor.pass.cpp | 53 - .../time.cal.ymwdlast.members/month.pass.cpp | 42 - .../time.cal.ymwdlast.members/ok.pass.cpp | 74 - .../op_local_days.pass.cpp | 62 - .../op_sys_days.pass.cpp | 69 - .../plus_minus_equal_month.pass.cpp | 78 - .../plus_minus_equal_year.pass.cpp | 69 - .../weekday.pass.cpp | 42 - .../time.cal.ymwdlast.members/year.pass.cpp | 42 - .../comparisons.pass.cpp | 115 - .../minus.pass.cpp | 83 - .../ostream.pass.cpp | 232 - .../plus.pass.cpp | 113 - .../time.cal/time.cal.ymwdlast/types.pass.cpp | 27 - .../time.clock.req/nothing_to_do.pass.cpp | 13 - .../time.clock.file/consistency.pass.cpp | 40 - .../time.clock.file/file_time.pass.cpp | 30 - .../time.clock/time.clock.file/now.pass.cpp | 38 - .../time.clock.file/ostream.pass.cpp | 195 - .../time.clock.file/rep_signed.pass.cpp | 30 - .../time.clock.file/to_from_sys.pass.cpp | 65 - .../time.clock.hires/consistency.pass.cpp | 37 - .../time.clock/time.clock.hires/now.pass.cpp | 29 - .../time.clock.local/ostream.pass.cpp | 179 - .../time.clock.local/ostream.verify.cpp | 89 - .../time.clock.steady/consistency.pass.cpp | 39 - .../time.clock/time.clock.steady/now.pass.cpp | 32 - .../time.clock.system/consistency.pass.cpp | 38 - .../time.clock.system/from_time_t.pass.cpp | 27 - .../local_time.types.pass.cpp | 66 - .../time.clock/time.clock.system/now.pass.cpp | 29 - .../time.clock.system/rep_signed.pass.cpp | 26 - .../time.clock.system/sys.time.types.pass.cpp | 65 - .../sys_date.ostream.pass.cpp | 175 - .../sys_time.ostream.pass.cpp | 188 - .../time.clock.system/to_time_t.pass.cpp | 27 - .../time/time.duration/default_ratio.pass.cpp | 30 - .../time.duration/duration.compile.fail.cpp | 24 - .../positive_num.compile.fail.cpp | 23 - .../time/time.duration/ratio.compile.fail.cpp | 31 - .../time.duration.alg/abs.compile.fail.cpp | 28 - .../time.duration.alg/abs.pass.cpp | 60 - .../time.duration.arithmetic/op_++.pass.cpp | 42 - .../op_++int.pass.cpp | 43 - .../time.duration.arithmetic/op_+.pass.cpp | 49 - .../time.duration.arithmetic/op_+=.pass.cpp | 46 - .../time.duration.arithmetic/op_--.pass.cpp | 42 - .../op_--int.pass.cpp | 44 - .../time.duration.arithmetic/op_-.pass.cpp | 50 - .../time.duration.arithmetic/op_-=.pass.cpp | 46 - .../op_divide=.pass.cpp | 52 - .../op_mod=duration.pass.cpp | 56 - .../op_mod=rep.pass.cpp | 57 - .../op_times=.pass.cpp | 52 - .../time.duration.cast/ceil.compile.fail.cpp | 27 - .../time.duration.cast/ceil.pass.cpp | 54 - .../time.duration.cast/duration_cast.pass.cpp | 56 - .../time.duration.cast/floor.compile.fail.cpp | 27 - .../time.duration.cast/floor.pass.cpp | 53 - .../time.duration.cast/round.compile.fail.cpp | 27 - .../time.duration.cast/round.pass.cpp | 53 - .../toduration.compile.fail.cpp | 26 - .../compare.three_way.pass.cpp | 77 - .../op_equal.pass.cpp | 119 - .../op_less.pass.cpp | 157 - .../time.duration.cons/convert_exact.pass.cpp | 39 - .../convert_float_to_int.compile.fail.cpp | 26 - .../convert_inexact.compile.fail.cpp | 26 - .../convert_inexact.pass.cpp | 40 - .../convert_int_to_float.pass.cpp | 40 - .../convert_overflow.pass.cpp | 41 - .../time.duration.cons/default.pass.cpp | 40 - .../time.duration.cons/rep.pass.cpp | 64 - .../time.duration.cons/rep01.compile.fail.cpp | 27 - .../time.duration.cons/rep02.compile.fail.cpp | 27 - .../time.duration.cons/rep02.pass.cpp | 33 - .../time.duration.cons/rep03.compile.fail.cpp | 25 - .../time.duration.literals/literals.pass.cpp | 62 - .../literals1.compile.fail.cpp | 18 - .../time.duration.literals/literals1.pass.cpp | 73 - .../literals2.compile.fail.cpp | 20 - .../time.duration.literals/literals2.pass.cpp | 53 - .../time.duration.nonmember/op_+.pass.cpp | 77 - .../time.duration.nonmember/op_-.pass.cpp | 78 - .../op_divide_duration.pass.cpp | 82 - .../op_divide_rep.compile.fail.cpp | 27 - .../op_divide_rep.pass.cpp | 53 - .../op_mod_duration.pass.cpp | 77 - .../op_mod_rep.compile.fail.cpp | 27 - .../op_mod_rep.pass.cpp | 53 - .../op_times_rep.pass.cpp | 78 - .../op_times_rep1.compile.fail.cpp | 31 - .../op_times_rep2.compile.fail.cpp | 31 - .../time.duration.nonmember/ostream.pass.cpp | 233 - .../tested_elsewhere.pass.cpp | 13 - .../time.duration.special/max.pass.cpp | 49 - .../time.duration.special/min.pass.cpp | 49 - .../time.duration.special/zero.pass.cpp | 48 - .../std/time/time.duration/types.pass.cpp | 31 - .../test/std/time/time.hms/hhmmss.verify.cpp | 30 - .../std/time/time.hms/time.12/is_am.pass.cpp | 37 - .../std/time/time.hms/time.12/is_pm.pass.cpp | 37 - .../std/time/time.hms/time.12/make12.pass.cpp | 39 - .../std/time/time.hms/time.12/make24.pass.cpp | 46 - .../time.hms/time.hms.members/hours.pass.cpp | 70 - .../time.hms.members/is_negative.pass.cpp | 56 - .../time.hms.members/minutes.pass.cpp | 61 - .../time.hms.members/precision.pass.cpp | 82 - .../time.hms.members/seconds.pass.cpp | 62 - .../time.hms.members/subseconds.pass.cpp | 62 - .../time.hms.members/to_duration.pass.cpp | 62 - .../time.hms/time.hms.members/width.pass.cpp | 59 - .../nothing.to.do.pass.cpp | 21 - .../time.hms.nonmembers/ostream.pass.cpp | 156 - .../time/time.point/default_duration.pass.cpp | 29 - .../time/time.point/duration.compile.fail.cpp | 23 - .../time.point.arithmetic/op_+=.pass.cpp | 47 - .../time.point.arithmetic/op_-=.pass.cpp | 47 - .../time.point.cast/ceil.compile.fail.cpp | 27 - .../time.point/time.point.cast/ceil.pass.cpp | 72 - .../time.point.cast/floor.compile.fail.cpp | 27 - .../time.point/time.point.cast/floor.pass.cpp | 71 - .../time.point.cast/round.compile.fail.cpp | 27 - .../time.point/time.point.cast/round.pass.cpp | 71 - .../time.point.cast/time_point_cast.pass.cpp | 84 - .../toduration.compile.fail.cpp | 29 - .../compare.three_way.compile.fail.cpp | 34 - .../compare.three_way.pass.cpp | 127 - .../op_equal.compile.fail.cpp | 41 - .../time.point.comparisons/op_equal.pass.cpp | 87 - .../op_less.compile.fail.cpp | 49 - .../time.point.comparisons/op_less.pass.cpp | 111 - .../time.point.cons/convert.compile.fail.cpp | 31 - .../time.point.cons/convert.pass.cpp | 40 - .../time.point.cons/default.pass.cpp | 38 - .../time.point.cons/duration.compile.fail.cpp | 26 - .../time.point.cons/duration.pass.cpp | 44 - .../time.point.nonmember/op_+.pass.cpp | 49 - .../op_-duration.pass.cpp | 55 - .../op_-time_point.pass.cpp | 41 - .../tested_elsewhere.pass.cpp | 13 - .../time.point.special/max.pass.cpp | 32 - .../time.point.special/min.pass.cpp | 32 - .../std/time/time.syn/formatter.day.pass.cpp | 148 - .../time/time.syn/formatter.duration.pass.cpp | 1207 - .../time.syn/formatter.file_time.pass.cpp | 1013 - .../time/time.syn/formatter.hh_mm_ss.pass.cpp | 584 - .../time.syn/formatter.local_time.pass.cpp | 952 - .../time/time.syn/formatter.month.pass.cpp | 212 - .../time.syn/formatter.month_day.pass.cpp | 580 - .../formatter.month_day_last.pass.cpp | 452 - .../time.syn/formatter.month_weekday.pass.cpp | 770 - .../time/time.syn/formatter.sys_time.pass.cpp | 1008 - .../time/time.syn/formatter.weekday.pass.cpp | 210 - .../time.syn/formatter.weekday_index.pass.cpp | 428 - .../time.syn/formatter.weekday_last.pass.cpp | 323 - .../std/time/time.syn/formatter.year.pass.cpp | 307 - .../time.syn/formatter.year_month.pass.cpp | 288 - .../formatter.year_month_day.pass.cpp | 1195 - .../formatter.year_month_day_last.pass.cpp | 981 - .../formatter.year_month_weekday.pass.cpp | 747 - ...formatter.year_month_weekday_last.pass.cpp | 246 - .../test/std/time/time.syn/formatter_tests.h | 262 - .../time.traits.duration_values/max.pass.cpp | 47 - .../time.traits.duration_values/min.pass.cpp | 47 - .../time.traits.duration_values/zero.pass.cpp | 36 - .../treat_as_floating_point.pass.cpp | 44 - .../duration.pass.cpp | 47 - .../time_point.pass.cpp | 51 - .../time.zone.db.access/get_tzdb.pass.cpp | 39 - .../get_tzdb_list.pass.cpp | 34 - .../erase_after.compile.pass.cpp | 33 - .../time.zone.db.list/front.pass.cpp | 29 - .../time.zone.db.list/iterators.pass.cpp | 49 - .../time.zone.db.list/types.compile.pass.cpp | 37 - .../time.zone.db.remote/reload_tzdb.pass.cpp | 45 - .../remote_version.pass.cpp | 33 - .../time.zone.db.tzdb/tzdb.members.pass.cpp | 47 - .../time.zone.link.members/name.pass.cpp | 35 - .../time.zone.link.members/target.pass.cpp | 34 - .../comparison.pass.cpp | 36 - .../time.zone.link/types.compile.pass.cpp | 37 - .../time.zone.members/name.pass.cpp | 35 - .../time.zone.nonmembers/comparison.pass.cpp | 36 - .../time.zone.timezone/types.compile.pass.cpp | 37 - .../libc++/src/test/std/time/weeks.pass.cpp | 32 - .../libc++/src/test/std/time/years.pass.cpp | 32 - .../allocator.adaptor.cnstr/allocs.pass.cpp | 123 - .../converting_copy.pass.cpp | 68 - .../converting_move.pass.cpp | 74 - .../allocator.adaptor.cnstr/copy.pass.cpp | 69 - .../allocator.adaptor.cnstr/deduct.pass.cpp | 62 - .../allocator.adaptor.cnstr/default.pass.cpp | 57 - .../allocate_size.pass.cpp | 48 - .../allocate_size.verify.cpp | 25 - .../allocate_size_hint.pass.cpp | 70 - .../allocate_size_hint.verify.cpp | 26 - .../construct.pass.cpp | 199 - .../construct_pair.pass.cpp | 161 - .../construct_pair_const_lvalue_pair.pass.cpp | 177 - .../construct_pair_piecewise.pass.cpp | 171 - .../construct_pair_rvalue.pass.cpp | 177 - .../construct_pair_values.pass.cpp | 169 - .../construct_type.pass.cpp | 142 - .../deallocate.pass.cpp | 45 - .../destroy.pass.cpp | 68 - .../inner_allocator.pass.cpp | 43 - .../max_size.pass.cpp | 42 - .../outer_allocator.pass.cpp | 43 - ...ct_on_container_copy_construction.pass.cpp | 54 - .../allocator_pointers.pass.cpp | 123 - .../inner_allocator_type.pass.cpp | 38 - .../is_always_equal.pass.cpp | 61 - ...gate_on_container_copy_assignment.pass.cpp | 39 - ...gate_on_container_move_assignment.pass.cpp | 39 - .../propagate_on_container_swap.pass.cpp | 37 - .../base-is-uglified.compile.pass.cpp | 27 - .../copy_assign.pass.cpp | 72 - .../scoped.adaptor.operators/eq.pass.cpp | 63 - .../move_assign.pass.cpp | 72 - .../allocator.adaptor/types.compile.pass.cpp | 66 - .../any/any.class/any.assign/copy.pass.cpp | 196 - .../any/any.class/any.assign/move.pass.cpp | 103 - .../any/any.class/any.assign/value.pass.cpp | 207 - .../any/any.class/any.cons/copy.pass.cpp | 98 - .../any/any.class/any.cons/default.pass.cpp | 45 - .../any.class/any.cons/in_place_type.pass.cpp | 192 - .../any/any.class/any.cons/move.pass.cpp | 98 - .../any/any.class/any.cons/value.pass.cpp | 152 - .../any.class/any.modifiers/emplace.pass.cpp | 284 - .../any.class/any.modifiers/reset.pass.cpp | 58 - .../any/any.class/any.modifiers/swap.pass.cpp | 129 - .../any.observers/has_value.pass.cpp | 62 - .../any/any.class/any.observers/type.pass.cpp | 45 - .../any.cast/any_cast_pointer.pass.cpp | 180 - .../any.cast/any_cast_reference.pass.cpp | 306 - ..._request_invalid_value_category.verify.cpp | 65 - .../any.cast/const_correctness.verify.cpp | 44 - .../not_copy_constructible.verify.cpp | 57 - .../any.cast/reference_types.verify.cpp | 52 - .../any.nonmembers/any.cast/void.verify.cpp | 34 - .../any/any.nonmembers/make_any.pass.cpp | 137 - .../any/any.nonmembers/swap.pass.cpp | 40 - .../integral.bool.verify.cpp | 32 - .../charconv.from.chars/integral.pass.cpp | 153 - .../integral.roundtrip.pass.cpp | 93 - ..._fixed_precision_to_chars_test_cases_1.hpp | 300 - ..._fixed_precision_to_chars_test_cases_2.hpp | 3477 --- ..._fixed_precision_to_chars_test_cases_3.hpp | 10832 -------- ..._fixed_precision_to_chars_test_cases_4.hpp | 10811 -------- .../double_from_chars_test_cases.hpp | 1146 - ..._general_precision_to_chars_test_cases.hpp | 5063 ---- ...uble_hex_precision_to_chars_test_cases.hpp | 120 - ...ntific_precision_to_chars_test_cases_1.hpp | 327 - ...ntific_precision_to_chars_test_cases_2.hpp | 3219 --- ...ntific_precision_to_chars_test_cases_3.hpp | 10125 ------- ...ntific_precision_to_chars_test_cases_4.hpp | 10107 ------- .../double_to_chars_test_cases.hpp | 2916 -- ...at_fixed_precision_to_chars_test_cases.hpp | 1264 - .../float_from_chars_test_cases.hpp | 139 - ..._general_precision_to_chars_test_cases.hpp | 1218 - ...loat_hex_precision_to_chars_test_cases.hpp | 106 - ...ientific_precision_to_chars_test_cases.hpp | 1093 - .../float_to_chars_test_cases.hpp | 541 - .../floating_point_test_cases.hpp | 278 - .../utilities/charconv/charconv.msvc/test.cpp | 1083 - .../utilities/charconv/charconv.msvc/test.hpp | 63 - .../charconv/charconv.msvc/test.pass.cpp | 47 - .../charconv.syn/chars_format.pass.cpp | 76 - .../from_chars_result.operator_bool.pass.cpp | 48 - .../charconv.syn/from_chars_result.pass.cpp | 56 - .../to_chars_result.operator_bool.pass.cpp | 48 - .../charconv.syn/to_chars_result.pass.cpp | 56 - .../integral.bool.verify.cpp | 32 - .../charconv.to.chars/integral.pass.cpp | 309 - .../expected/expected.bad/ctor.error.pass.cpp | 31 - .../expected.bad/error.member.pass.cpp | 69 - .../what.noexcept.compile.pass.cpp | 25 - .../assign/assign.U.pass.cpp | 349 - .../assign/assign.copy.pass.cpp | 311 - .../assign/assign.move.pass.cpp | 322 - .../assign/assign.unexpected.copy.pass.cpp | 197 - .../assign/assign.unexpected.move.pass.cpp | 197 - .../assign/emplace.intializer_list.pass.cpp | 99 - .../expected.expected/assign/emplace.pass.cpp | 104 - .../ctor/ctor.convert.copy.pass.cpp | 210 - .../ctor/ctor.convert.move.pass.cpp | 209 - .../expected.expected/ctor/ctor.copy.pass.cpp | 150 - .../ctor/ctor.default.pass.cpp | 80 - .../ctor/ctor.inplace.pass.cpp | 135 - .../ctor/ctor.inplace_init_list.pass.cpp | 122 - .../expected.expected/ctor/ctor.move.pass.cpp | 171 - .../expected.expected/ctor/ctor.u.pass.cpp | 177 - .../ctor/ctor.unexpect.pass.cpp | 135 - .../ctor/ctor.unexpect_init_list.pass.cpp | 122 - .../ctor/ctor.unexpected.copy.pass.cpp | 91 - .../ctor/ctor.unexpected.move.pass.cpp | 101 - .../expected/expected.expected/dtor.pass.cpp | 66 - .../equality/equality.T2.pass.cpp | 53 - .../equality/equality.other_expected.pass.cpp | 78 - .../equality/equality.unexpected.pass.cpp | 53 - .../monadic/and_then.pass.cpp | 312 - .../monadic/or_else.pass.cpp | 240 - .../monadic/transform.pass.cpp | 275 - .../monadic/transform_error.pass.cpp | 261 - .../observers/arrow.pass.cpp | 57 - .../expected.expected/observers/bool.pass.cpp | 56 - .../observers/deref.pass.cpp | 81 - .../observers/error.pass.cpp | 77 - .../observers/error_or.pass.cpp | 96 - .../observers/has_value.pass.cpp | 85 - .../observers/value.pass.cpp | 113 - .../observers/value_or.pass.cpp | 58 - .../expected.expected/swap/free.swap.pass.cpp | 283 - .../swap/member.swap.pass.cpp | 323 - .../assign/assign.copy.pass.cpp | 32 - .../assign/assign.move.pass.cpp | 39 - .../expected.unexpected/ctad.compile.pass.cpp | 19 - .../ctor/ctor.copy.pass.cpp | 31 - .../ctor/ctor.error.pass.cpp | 122 - .../ctor/ctor.inplace.pass.cpp | 103 - .../ctor/ctor.inplace_init_list.pass.cpp | 103 - .../ctor/ctor.move.pass.cpp | 34 - .../expected.unexpected/equality.pass.cpp | 41 - .../observer/error.const_ref.pass.cpp | 38 - .../observer/error.const_ref_ref.pass.cpp | 38 - .../observer/error.ref.pass.cpp | 38 - .../observer/error.ref_ref.pass.cpp | 38 - .../swap/swap.free.pass.cpp | 69 - .../swap/swap.member.pass.cpp | 71 - .../expected.void/assign/assign.copy.pass.cpp | 145 - .../expected.void/assign/assign.move.pass.cpp | 171 - .../assign/assign.unexpected.copy.pass.cpp | 131 - .../assign/assign.unexpected.move.pass.cpp | 213 - .../expected.void/assign/emplace.pass.cpp | 57 - .../ctor/ctor.convert.copy.pass.cpp | 136 - .../ctor/ctor.convert.move.pass.cpp | 137 - .../expected.void/ctor/ctor.copy.pass.cpp | 102 - .../expected.void/ctor/ctor.default.pass.cpp | 52 - .../expected.void/ctor/ctor.inplace.pass.cpp | 35 - .../expected.void/ctor/ctor.move.pass.cpp | 117 - .../expected.void/ctor/ctor.unexpect.pass.cpp | 135 - .../ctor/ctor.unexpect_init_list.pass.cpp | 121 - .../ctor/ctor.unexpected.copy.pass.cpp | 91 - .../ctor/ctor.unexpected.move.pass.cpp | 101 - .../expected/expected.void/dtor.pass.cpp | 55 - .../equality/equality.other_expected.pass.cpp | 74 - .../equality/equality.unexpected.pass.cpp | 53 - .../expected.void/monadic/and_then.pass.cpp | 149 - .../expected.void/monadic/or_else.pass.cpp | 104 - .../expected.void/monadic/transform.pass.cpp | 126 - .../monadic/transform_error.pass.cpp | 134 - .../expected.void/observers/bool.pass.cpp | 56 - .../expected.void/observers/deref.pass.cpp | 43 - .../expected.void/observers/error.pass.cpp | 77 - .../expected.void/observers/error_or.pass.cpp | 96 - .../observers/has_value.pass.cpp | 65 - .../expected.void/observers/value.pass.cpp | 76 - .../expected.void/swap/free.swap.pass.cpp | 190 - .../expected.void/swap/member.swap.pass.cpp | 221 - .../src/test/std/utilities/expected/types.h | 339 - .../is_execution_policy.compile.pass.cpp | 30 - .../utilities/expol/policies.compile.pass.cpp | 52 - .../make_format_args.pass.cpp | 41 - .../format.arg.store/make_format_args.sh.cpp | 30 - .../make_wformat_args.pass.cpp | 41 - .../format.arguments/format.arg/ctor.pass.cpp | 48 - .../format.arg/operator_bool.pass.cpp | 43 - .../format.arg/visit.pass.cpp | 333 - .../format.arg/visit.return_type.pass.cpp | 366 - .../visit_format_arg.deprecated.verify.cpp | 38 - .../format.arg/visit_format_arg.pass.cpp | 356 - .../format.args/ctad.compile.pass.cpp | 31 - .../format.args/ctor.pass.cpp | 70 - .../format.arguments/format.args/get.pass.cpp | 308 - .../format.args/types.compile.pass.cpp | 27 - .../format/format.error/format.error.pass.cpp | 47 - .../ctor.runtime-format-string.pass.cpp | 43 - .../format/format.fmt.string/ctor.verify.cpp | 45 - .../format/format.fmt.string/get.pass.cpp | 52 - .../format.fmt.string/types.compile.pass.cpp | 38 - .../concept.formattable.compile.pass.cpp | 415 - ...concept.formattable.float.compile.pass.cpp | 57 - .../format.context/advance_to.pass.cpp | 71 - .../format.context/arg.pass.cpp | 56 - .../format.context/ctor.pass.cpp | 136 - .../format.context/locale.pass.cpp | 89 - .../format.context/out.pass.cpp | 69 - .../formatter.bool.pass.cpp | 83 - .../formatter.c_string.pass.cpp | 139 - .../formatter.char.fsigned-char.pass.cpp | 130 - .../formatter.char.funsigned-char.pass.cpp | 130 - .../formatter.char.pass.cpp | 115 - .../formatter.char_array.pass.cpp | 150 - .../formatter.floating_point.pass.cpp | 571 - .../formatter.handle.pass.cpp | 79 - .../formatter.pointer.pass.cpp | 111 - .../formatter.signed_integral.pass.cpp | 125 - .../formatter.string.pass.cpp | 154 - .../formatter.unsigned_integral.pass.cpp | 118 - .../format.parse.ctx/advance_to.pass.cpp | 69 - .../format.parse.ctx/begin.pass.cpp | 55 - .../format.parse.ctx/check_arg_id.pass.cpp | 61 - .../format.parse.ctx/check_arg_id.verify.cpp | 27 - .../format.parse.ctx/ctor.pass.cpp | 76 - .../format.parse.ctx/end.pass.cpp | 55 - .../format.parse.ctx/next_arg_id.pass.cpp | 51 - .../format.parse.ctx/next_arg_id.verify.cpp | 28 - .../format.parse.ctx/types.compile.pass.cpp | 63 - .../format/format.functions/P2418.pass.cpp | 128 - .../bug_81590.compile.pass.cpp | 36 - .../escaped_output.unicode.pass.cpp | 571 - .../format.functions/fill.unicode.pass.cpp | 139 - .../format.functions/format.locale.pass.cpp | 59 - .../format.locale.runtime_format.pass.cpp | 85 - .../format.functions/format.locale.verify.cpp | 92 - .../format/format.functions/format.pass.cpp | 61 - .../format.runtime_format.pass.cpp | 83 - .../format/format.functions/format.verify.cpp | 104 - .../format/format.functions/format_tests.h | 3265 --- .../format_to.locale.pass.cpp | 82 - .../format_to.locale.verify.cpp | 99 - .../format.functions/format_to.pass.cpp | 78 - .../format.functions/format_to.verify.cpp | 95 - .../format_to_n.locale.pass.cpp | 117 - .../format_to_n.locale.verify.cpp | 101 - .../format.functions/format_to_n.pass.cpp | 112 - .../format.functions/format_to_n.verify.cpp | 97 - .../formatted_size.locale.pass.cpp | 55 - .../formatted_size.locale.verify.cpp | 94 - .../format.functions/formatted_size.pass.cpp | 52 - .../formatted_size.verify.cpp | 90 - .../locale-specific_form.pass.cpp | 2332 -- .../format/format.functions/unicode.pass.cpp | 329 - .../format.functions/vformat.locale.pass.cpp | 62 - .../format/format.functions/vformat.pass.cpp | 72 - .../vformat_to.locale.pass.cpp | 88 - .../format.functions/vformat_to.pass.cpp | 88 - .../format.range.fmtdef/format.pass.cpp | 110 - .../format.range.fmtdef/parse.pass.cpp | 67 - .../format.range.fmtdef/set_brackets.pass.cpp | 66 - .../set_separator.pass.cpp | 65 - .../format_kind.compile.pass.cpp | 111 - .../format_kind.verify.cpp | 59 - .../range_format.compile.pass.cpp | 29 - .../format.functions.format.pass.cpp | 54 - .../format.functions.tests.h | 856 - .../format.functions.vformat.pass.cpp | 62 - .../format.range.fmtmap/format.pass.cpp | 115 - .../format.range.fmtmap/parse.pass.cpp | 70 - .../format.functions.format.pass.cpp | 54 - .../format.functions.tests.h | 1524 -- .../format.functions.vformat.pass.cpp | 62 - .../format.range.fmtset/format.pass.cpp | 112 - .../format.range.fmtset/parse.pass.cpp | 70 - .../format.functions.format.pass.cpp | 55 - .../format.functions.tests.h | 447 - .../format.functions.vformat.pass.cpp | 63 - .../format.range.fmtstr/format.pass.cpp | 64 - .../format.range.fmtstr/parse.pass.cpp | 70 - .../format.functions.format.pass.cpp | 55 - .../format.functions.tests.h | 1386 - .../format.functions.vformat.pass.cpp | 63 - .../format.range.formatter/format.pass.cpp | 119 - .../format.range.formatter/parse.pass.cpp | 70 - .../set_brackets.pass.cpp | 70 - .../set_separator.pass.cpp | 69 - .../underlying.pass.cpp | 54 - ..._id_width_precision_allowed_types.pass.cpp | 90 - ...d_width_precision_allowed_types.verify.cpp | 108 - .../format.syn/format_to_n_result.pass.cpp | 52 - .../format.syn/runtime_format_string.pass.cpp | 70 - .../format.functions.format.pass.cpp | 59 - .../format.functions.format.verify.cpp | 53 - .../format.tuple/format.functions.tests.h | 373 - .../format.functions.vformat.pass.cpp | 63 - .../format/format.tuple/format.pass.cpp | 118 - .../format/format.tuple/parse.pass.cpp | 79 - .../format/format.tuple/set_brackets.pass.cpp | 63 - .../format.tuple/set_separator.pass.cpp | 63 - .../utilities/format/types.compile.pass.cpp | 142 - .../arithmetic.operations/divides.pass.cpp | 46 - .../arithmetic.operations/minus.pass.cpp | 46 - .../arithmetic.operations/modulus.pass.cpp | 46 - .../arithmetic.operations/multiplies.pass.cpp | 46 - .../arithmetic.operations/negate.pass.cpp | 45 - .../arithmetic.operations/plus.pass.cpp | 46 - .../transparent.pass.cpp | 60 - .../func.bind/func.bind.bind/PR23141.pass.cpp | 43 - .../func.bind.bind/bind_return_type.pass.cpp | 135 - .../func.bind/func.bind.bind/copy.pass.cpp | 51 - .../invoke_function_object.pass.cpp | 54 - .../func.bind.bind/invoke_int_0.pass.cpp | 62 - .../func.bind.bind/invoke_lvalue.pass.cpp | 304 - .../func.bind.bind/invoke_rvalue.pass.cpp | 278 - .../func.bind.bind/invoke_void_0.pass.cpp | 77 - .../func.bind/func.bind.bind/nested.pass.cpp | 55 - .../is_bind_expression.pass.cpp | 48 - .../is_bind_expression_03.pass.cpp | 42 - .../func.bind.isbind/specialization.pass.cpp | 57 - .../func.bind.isplace/is_placeholder.pass.cpp | 58 - .../func.bind.isplace/specialization.pass.cpp | 55 - .../func.bind.place/placeholders.pass.cpp | 83 - .../bitwise.operations/bit_and.pass.cpp | 66 - .../bitwise.operations/bit_not.pass.cpp | 53 - .../bitwise.operations/bit_or.pass.cpp | 66 - .../bitwise.operations/bit_xor.pass.cpp | 70 - .../bitwise.operations/transparent.pass.cpp | 49 - .../comparisons/compare_three_way.pass.cpp | 82 - .../compare_three_way_functional.pass.cpp | 26 - .../comparisons/constexpr_init.pass.cpp | 47 - .../comparisons/equal_to.pass.cpp | 48 - .../comparisons/greater.pass.cpp | 58 - .../comparisons/greater_equal.pass.cpp | 58 - .../comparisons/less.pass.cpp | 57 - .../comparisons/less_equal.pass.cpp | 58 - .../comparisons/not_equal_to.pass.cpp | 50 - .../comparisons/transparent.pass.cpp | 60 - .../transparent_three_way.compile.pass.cpp | 18 - .../func.bind_front/bind_front.pass.cpp | 413 - .../func.bind_front/bind_front.verify.cpp | 45 - .../func.def/nothing_to_do.pass.cpp | 13 - .../func.identity/identity.pass.cpp | 77 - .../func.invoke/invoke.pass.cpp | 425 - .../func.invoke/invoke_constexpr.pass.cpp | 282 - .../func.invoke/invoke_r.pass.cpp | 139 - .../func.invoke/invoke_r.temporary.verify.cpp | 31 - .../func.memfn/member_data.compile.fail.cpp | 44 - .../func.memfn/member_data.pass.cpp | 51 - .../func.memfn/member_function.pass.cpp | 87 - .../func.memfn/member_function_const.pass.cpp | 90 - .../member_function_const_volatile.pass.cpp | 81 - .../member_function_volatile.pass.cpp | 81 - .../func.memfn/robust_against_adl.pass.cpp | 53 - .../func.not_fn/not_fn.pass.cpp | 462 - .../INVOKE_tested_elsewhere.pass.cpp | 17 - .../func.require/binary_function.pass.cpp | 30 - .../func.require/unary_function.pass.cpp | 29 - .../func.search.bm/default.pass.cpp | 141 - .../func.search/func.search.bm/hash.pass.cpp | 126 - .../func.search.bm/hash.pred.pass.cpp | 144 - .../func.search.bm/implicit_ctad.pass.cpp | 41 - .../func.search/func.search.bm/pred.pass.cpp | 135 - .../func.search.bmh/default.pass.cpp | 130 - .../func.search/func.search.bmh/hash.pass.cpp | 125 - .../func.search.bmh/hash.pred.pass.cpp | 138 - .../func.search.bmh/implicit_ctad.pass.cpp | 41 - .../func.search/func.search.bmh/pred.pass.cpp | 132 - .../func.search.default/default.pass.cpp | 113 - .../func.search.default/default.pred.pass.cpp | 122 - .../implicit_ctad.pass.cpp | 34 - .../bad_function_call.pass.cpp | 32 - .../bad_function_call_ctor.pass.cpp | 25 - .../func.wrap.func/addressof.pass.cpp | 31 - .../func.wrap.func/derive_from.pass.cpp | 31 - .../func.wrap.func/derive_from.verify.cpp | 24 - .../func.wrap.func.alg/swap.pass.cpp | 139 - .../func.wrap.func.cap/operator_bool.pass.cpp | 38 - .../func.wrap.func.con/F.pass.cpp | 119 - .../func.wrap.func.con/F_assign.pass.cpp | 138 - .../func.wrap.func.con/F_incomplete.pass.cpp | 69 - .../func.wrap.func.con/F_nullptr.pass.cpp | 250 - .../func.wrap.func.con/alloc.pass.cpp | 32 - .../func.wrap.func.con/alloc.verify.cpp | 24 - .../func.wrap.func.con/alloc_F.pass.cpp | 140 - .../func.wrap.func.con/alloc_F.verify.cpp | 26 - .../alloc_function.pass.cpp | 133 - .../alloc_function.verify.cpp | 26 - .../func.wrap.func.con/alloc_nullptr.pass.cpp | 30 - .../alloc_nullptr.verify.cpp | 24 - .../alloc_rfunction.pass.cpp | 112 - .../alloc_rfunction.verify.cpp | 55 - .../func.wrap.func.con/copy_assign.pass.cpp | 143 - .../func.wrap.func.con/copy_move.pass.cpp | 178 - .../ctad.static.compile.pass.cpp | 40 - .../func.wrap.func.con/deduct_F.pass.cpp | 136 - .../func.wrap.func.con/deduct_F.verify.cpp | 30 - .../func.wrap.func.con/deduct_ptr.pass.cpp | 111 - .../func.wrap.func.con/default.pass.cpp | 28 - .../func.wrap.func.con/nullptr_t.pass.cpp | 28 - .../nullptr_t_assign.pass.cpp | 78 - .../func.wrap.func.inv/invoke.pass.cpp | 434 - .../func.wrap.func.inv/invoke.verify.cpp | 27 - .../assign_F_alloc.pass.cpp | 67 - .../func.wrap.func.mod/swap.pass.cpp | 199 - .../operator_==.pass.cpp | 46 - .../func.wrap.func.targ/target.pass.cpp | 100 - .../func.wrap.func.targ/target_type.pass.cpp | 68 - .../func.wrap/func.wrap.func/function_types.h | 65 - .../noncopyable_return_type.pass.cpp | 145 - .../robust_against_adl.pass.cpp | 53 - .../func.wrap/func.wrap.func/types.pass.cpp | 121 - .../logical.operations/logical_and.pass.cpp | 57 - .../logical.operations/logical_not.pass.cpp | 47 - .../logical.operations/logical_or.pass.cpp | 56 - .../logical.operations/transparent.pass.cpp | 45 - .../binary_negate.depr_in_cxx17.verify.cpp | 28 - .../negators/binary_negate.pass.cpp | 36 - .../negators/not1.depr_in_cxx17.verify.cpp | 26 - .../function.objects/negators/not1.pass.cpp | 29 - .../negators/not2.depr_in_cxx17.verify.cpp | 27 - .../function.objects/negators/not2.pass.cpp | 31 - .../unary_negate.depr_in_cxx17.verify.cpp | 27 - .../negators/unary_negate.pass.cpp | 33 - .../operations.implicit_ctad.pass.cpp | 98 - .../range.cmp/equal_to.pass.cpp | 64 - .../range.cmp/greater.pass.cpp | 63 - .../range.cmp/greater_equal.pass.cpp | 63 - .../function.objects/range.cmp/less.pass.cpp | 63 - .../range.cmp/less_equal.pass.cpp | 64 - .../range.cmp/not_equal_to.pass.cpp | 75 - .../refwrap/binder_typedefs.compile.pass.cpp | 42 - .../refwrap.access/conversion.pass.cpp | 48 - .../refwrap.assign/copy_assign.pass.cpp | 80 - .../refwrap/refwrap.const/copy_ctor.pass.cpp | 48 - .../refwrap.const/ctor.incomplete.pass.cpp | 44 - .../refwrap/refwrap.const/deduct.pass.cpp | 31 - .../refwrap.const/type_conv_ctor.pass.cpp | 74 - .../refwrap.const/type_conv_ctor2.pass.cpp | 65 - .../refwrap.const/type_ctor.compile.fail.cpp | 23 - .../refwrap/refwrap.const/type_ctor.pass.cpp | 64 - .../refwrap.helpers/cref.incomplete.pass.cpp | 45 - .../refwrap/refwrap.helpers/cref_1.pass.cpp | 36 - .../refwrap/refwrap.helpers/cref_2.pass.cpp | 50 - .../refwrap/refwrap.helpers/lwg3146.pass.cpp | 66 - .../refwrap.helpers/ref.incomplete.pass.cpp | 45 - .../refwrap.helpers/ref_1.compile.fail.cpp | 29 - .../refwrap/refwrap.helpers/ref_1.pass.cpp | 36 - .../refwrap/refwrap.helpers/ref_2.pass.cpp | 67 - .../refwrap.invoke/invoke.compile.fail.cpp | 53 - .../invoke.incomplete.compile.fail.cpp | 38 - .../refwrap/refwrap.invoke/invoke.pass.cpp | 705 - .../refwrap.invoke/invoke_int_0.pass.cpp | 79 - .../refwrap.invoke/invoke_void_0.pass.cpp | 71 - .../robust_against_adl.pass.cpp | 49 - .../function.objects/refwrap/type.pass.cpp | 40 - .../refwrap/type_properties.pass.cpp | 62 - .../refwrap/unwrap_ref_decay.pass.cpp | 61 - .../refwrap/unwrap_reference.pass.cpp | 54 - .../refwrap/weak_result.pass.cpp | 104 - .../unord.hash/enabled_hashes.pass.cpp | 26 - .../unord.hash/enum.compile.fail.cpp | 25 - .../function.objects/unord.hash/enum.pass.cpp | 65 - .../unord.hash/floating.pass.cpp | 78 - .../unord.hash/integral.pass.cpp | 119 - .../unord.hash/non_enum.pass.cpp | 39 - .../unord.hash/pointer.pass.cpp | 67 - .../intseq.general/integer_seq.pass.cpp | 83 - .../integer_seq.compile.fail.cpp | 33 - .../intseq/intseq.intseq/integer_seq.pass.cpp | 49 - .../intseq.make/make_integer_seq.pass.cpp | 35 - .../intseq.make/make_integer_seq.verify.cpp | 31 - .../allocator.tag/allocator_arg.pass.cpp | 27 - .../allocator.tag/allocator_arg.verify.cpp | 20 - .../allocate.pass.cpp | 63 - .../allocate.verify.cpp | 34 - .../allocate_at_least.pass.cpp | 70 - .../allocate_hint.pass.cpp | 90 - .../construct.pass.cpp | 178 - .../deallocate.pass.cpp | 70 - .../allocator.traits.members/destroy.pass.cpp | 134 - .../incomplete_type_helper.h | 14 - .../max_size.pass.cpp | 90 - ...ct_on_container_copy_construction.pass.cpp | 87 - .../const_pointer.pass.cpp | 68 - .../const_void_pointer.pass.cpp | 70 - .../difference_type.pass.cpp | 79 - .../is_always_equal.pass.cpp | 55 - .../allocator.traits.types/pointer.pass.cpp | 55 - ...gate_on_container_copy_assignment.pass.cpp | 55 - ...gate_on_container_move_assignment.pass.cpp | 56 - .../propagate_on_container_swap.pass.cpp | 54 - .../rebind_alloc.pass.cpp | 102 - .../allocator.traits.types/size_type.pass.cpp | 77 - .../void_pointer.pass.cpp | 69 - .../allocator.traits/allocator_type.pass.cpp | 34 - .../allocator.traits/rebind_traits.pass.cpp | 82 - .../allocator.traits/value_type.pass.cpp | 34 - .../allocator.uses.construction/common.h | 72 - .../make_obj_using_allocator.pass.cpp | 142 - ...ialized_construct_using_allocator.pass.cpp | 188 - .../uses_allocator_construction_args.pass.cpp | 197 - .../uses_allocator.pass.cpp | 79 - .../memory/c.malloc/nothing_to_do.pass.cpp | 15 - .../PR50299.compile.pass.cpp | 20 - .../default.allocator/allocator.ctor.pass.cpp | 49 - .../default.allocator/allocator.dtor.pass.cpp | 40 - .../allocator.globals/eq.pass.cpp | 45 - .../allocate.constexpr.size.verify.cpp | 38 - .../allocator.members/allocate.pass.cpp | 114 - .../allocator.members/allocate.size.pass.cpp | 51 - .../allocator.members/allocate.verify.cpp | 21 - .../allocate_at_least.pass.cpp | 109 - .../allocator_pointers.pass.cpp | 124 - ...cator_types.deprecated_in_cxx17.verify.cpp | 51 - ...cator_types.deprecated_in_cxx23.verify.cpp | 33 - .../allocator_types.pass.cpp | 68 - ...llocator_types.removed_in_cxx20.verify.cpp | 44 - ...llocator_types.removed_in_cxx26.verify.cpp | 34 - .../allocator_types.void.compile.pass.cpp | 35 - .../pointer.conversion/to_address.pass.cpp | 171 - .../to_address_on_funcptr.verify.cpp | 22 - .../to_address_on_function.verify.cpp | 22 - .../to_address_std_iterators.pass.cpp | 54 - ...to_address_without_pointer_traits.pass.cpp | 66 - .../pointer_to.pass.cpp | 54 - .../difference_type.compile.pass.cpp | 62 - .../element_type.compile.pass.cpp | 63 - .../lwg3545.compile.pass.cpp | 73 - .../pointer.compile.pass.cpp | 25 - .../rebind.compile.pass.cpp | 102 - .../pointer.traits/ptr.pointer_to.pass.cpp | 65 - .../pointer.traits/ptr.types.compile.pass.cpp | 51 - .../utilities/memory/ptr.align/align.pass.cpp | 88 - .../assume_aligned.nodiscard.verify.cpp | 21 - .../memory/ptr.align/assume_aligned.pass.cpp | 88 - .../memory/specialized.algorithms/buffer.h | 25 - .../memory/specialized.algorithms/counted.h | 85 - .../overload_compare_iterator.h | 73 - ...es_robust_against_nonbool.compile.pass.cpp | 69 - .../specialized.addressof/addressof.pass.cpp | 54 - .../addressof.temp.compile.fail.cpp | 27 - .../constexpr_addressof.pass.cpp | 44 - .../construct_at.pass.cpp | 124 - .../ranges_construct_at.pass.cpp | 138 - .../specialized.destroy/destroy.pass.cpp | 116 - .../specialized.destroy/destroy_at.pass.cpp | 141 - .../specialized.destroy/destroy_n.pass.cpp | 119 - .../ranges_destroy.pass.cpp | 221 - .../ranges_destroy_at.pass.cpp | 159 - .../ranges_destroy_n.pass.cpp | 143 - ...s_uninitialized_default_construct.pass.cpp | 192 - ...uninitialized_default_construct_n.pass.cpp | 91 - .../uninitialized_default_construct.pass.cpp | 94 - ...uninitialized_default_construct_n.pass.cpp | 97 - ...ges_uninitialized_value_construct.pass.cpp | 212 - ...s_uninitialized_value_construct_n.pass.cpp | 110 - .../uninitialized_value_construct.pass.cpp | 112 - .../uninitialized_value_construct_n.pass.cpp | 116 - .../ranges_uninitialized_copy.pass.cpp | 432 - .../ranges_uninitialized_copy_n.pass.cpp | 197 - .../uninitialized_copy.pass.cpp | 119 - .../uninitialized_copy_n.pass.cpp | 119 - .../ranges_uninitialized_fill_n.pass.cpp | 119 - .../uninitialized_fill_n.pass.cpp | 89 - .../ranges_uninitialized_fill.pass.cpp | 231 - .../uninitialized_fill.pass.cpp | 86 - .../ranges_uninitialized_move.pass.cpp | 471 - .../ranges_uninitialized_move_n.pass.cpp | 227 - .../uninitialized_move.pass.cpp | 145 - .../uninitialized_move_n.pass.cpp | 148 - .../storage.iterator/deprecated.verify.cpp | 17 - .../raw_storage_iterator.base.pass.cpp | 54 - .../raw_storage_iterator.pass.cpp | 70 - .../storage.iterator/types.compile.pass.cpp | 33 - .../memory/temporary.buffer/depr.verify.cpp | 18 - .../temporary.buffer/overaligned.pass.cpp | 47 - .../temporary_buffer.pass.cpp | 35 - ...rator_concept_conformance.compile.pass.cpp | 32 - .../unique.ptr/unique.ptr.special/io.pass.cpp | 37 - .../unique.ptr.special/io.verify.cpp | 38 - .../enable_shared_from_this.pass.cpp | 173 - .../util.smartptr.hash/enabled_hash.pass.cpp | 28 - .../hash_shared_ptr.pass.cpp | 49 - .../hash_unique_ptr.pass.cpp | 103 - .../atomic_compare_exchange_strong.pass.cpp | 53 - ..._compare_exchange_strong_explicit.pass.cpp | 58 - .../atomic_compare_exchange_weak.pass.cpp | 51 - ...ic_compare_exchange_weak_explicit.pass.cpp | 58 - .../atomic_exchange.pass.cpp | 37 - .../atomic_exchange_explicit.pass.cpp | 39 - .../atomic_is_lock_free.pass.cpp | 34 - .../atomic_load.pass.cpp | 35 - .../atomic_load_explicit.pass.cpp | 37 - .../atomic_store.pass.cpp | 36 - .../atomic_store_explicit.pass.cpp | 38 - ...rator_concept_conformance.compile.pass.cpp | 32 - .../util.smartptr.shared/types.pass.cpp | 65 - .../get_deleter.pass.cpp | 71 - .../auto_ptr_Y.pass.cpp | 119 - .../shared_ptr.pass.cpp | 126 - .../shared_ptr_Y.pass.cpp | 144 - .../shared_ptr_Y_rv.pass.cpp | 147 - .../shared_ptr_rv.pass.cpp | 127 - .../unique_ptr_Y.pass.cpp | 171 - .../const_pointer_cast.pass.cpp | 82 - .../dynamic_pointer_cast.pass.cpp | 84 - .../reinterpret_pointer_cast.pass.cpp | 93 - .../static_pointer_cast.pass.cpp | 100 - .../util.smartptr.shared.cmp/cmp.pass.cpp | 76 - .../cmp_nullptr.pass.cpp | 126 - .../auto_ptr.pass.cpp | 99 - .../deduction.pass.cpp | 88 - .../default.pass.cpp | 38 - .../nullptr_t.pass.cpp | 33 - .../nullptr_t_deleter.pass.cpp | 56 - .../nullptr_t_deleter_allocator.pass.cpp | 102 - ...nullptr_t_deleter_allocator_throw.pass.cpp | 50 - .../nullptr_t_deleter_throw.pass.cpp | 56 - .../pointer.pass.cpp | 109 - .../pointer_deleter.pass.cpp | 126 - .../pointer_deleter_allocator.pass.cpp | 198 - .../pointer_deleter_allocator_throw.pass.cpp | 51 - .../pointer_deleter_throw.pass.cpp | 57 - .../pointer_throw.pass.cpp | 56 - .../shared_ptr.pass.cpp | 71 - .../shared_ptr_Y.pass.cpp | 179 - .../shared_ptr_Y_rv.pass.cpp | 157 - .../shared_ptr_copy_move.verify.cpp | 53 - .../shared_ptr_pointer.pass.cpp | 122 - .../shared_ptr_rv.pass.cpp | 87 - .../unique_ptr.pass.cpp | 241 - .../weak_ptr.pass.cpp | 125 - .../allocate_shared.array.bounded.pass.cpp | 414 - .../allocate_shared.array.unbounded.pass.cpp | 456 - ...locate_shared.explicit_conversion.pass.cpp | 32 - .../allocate_shared.lwg2070.pass.cpp | 182 - .../allocate_shared.pass.cpp | 170 - .../allocate_shared_for_overwrite.pass.cpp | 215 - .../make_shared.array.bounded.pass.cpp | 386 - .../make_shared.array.unbounded.pass.cpp | 427 - .../make_shared.pass.cpp | 140 - .../make_shared.private.compile.fail.cpp | 31 - .../make_shared_for_overwrite.pass.cpp | 136 - .../util.smartptr.shared.create/types.h | 100 - .../tested_elsewhere.pass.cpp | 13 - .../util.smartptr.shared.io/io.pass.cpp | 34 - .../util.smartptr.shared.mod/reset.pass.cpp | 65 - .../util.smartptr.shared.mod/reset_helper.h | 25 - .../reset_pointer.pass.cpp | 93 - .../reset_pointer_deleter.pass.cpp | 121 - .../reset_pointer_deleter_allocator.pass.cpp | 132 - .../util.smartptr.shared.mod/swap.pass.cpp | 107 - .../util.smartptr.shared.obs/arrow.pass.cpp | 32 - .../dereference.pass.cpp | 28 - .../op_arrow.verify.cpp | 34 - .../util.smartptr.shared.obs/op_bool.pass.cpp | 49 - .../op_bracket.pass.cpp | 51 - .../op_bracket.verify.cpp | 28 - .../owner_before_shared_ptr.pass.cpp | 31 - .../owner_before_weak_ptr.pass.cpp | 34 - .../unique.deprecated_in_cxx17.verify.cpp | 24 - .../util.smartptr.shared.obs/unique.pass.cpp | 33 - .../unique.removed_in_cxx20.verify.cpp | 22 - .../util.smartptr.shared.spec/swap.pass.cpp | 107 - .../util.smartptr.weak/types.pass.cpp | 51 - .../owner_less.pass.cpp | 139 - .../shared_ptr_Y.pass.cpp | 82 - .../weak_ptr.pass.cpp | 82 - .../weak_ptr_Y.pass.cpp | 113 - .../util.smartptr.weak.const/default.pass.cpp | 28 - .../util.smartptr.weak.const/pr40459.pass.cpp | 62 - .../shared_ptr_Y.pass.cpp | 115 - .../shared_ptr_deduction.pass.cpp | 33 - .../weak_ptr.pass.cpp | 118 - .../weak_ptr_Y.pass.cpp | 130 - .../tested_elsewhere.pass.cpp | 13 - .../util.smartptr.weak.mod/reset.pass.cpp | 44 - .../util.smartptr.weak.mod/swap.pass.cpp | 52 - .../util.smartptr.weak.obs/expired.pass.cpp | 49 - .../util.smartptr.weak.obs/lock.pass.cpp | 61 - .../not_less_than.compile.fail.cpp | 28 - .../owner_before_shared_ptr.pass.cpp | 34 - .../owner_before_weak_ptr.pass.cpp | 34 - .../util.smartptr.weak.spec/swap.pass.cpp | 52 - .../bad_weak_ptr.pass.cpp | 35 - .../is_constant_evaluated.pass.cpp | 53 - .../is_constant_evaluated.verify.cpp | 30 - .../meta/meta.help/bool_constant.pass.cpp | 35 - .../meta/meta.help/integral_constant.pass.cpp | 52 - .../meta.logical/conjunction.compile.pass.cpp | 94 - .../meta.logical/disjunction.compile.pass.cpp | 94 - .../meta/meta.logical/negation.pass.cpp | 42 - .../meta/meta.rel/is_base_of.pass.cpp | 73 - .../meta/meta.rel/is_base_of_union.pass.cpp | 84 - .../meta/meta.rel/is_convertible.pass.cpp | 266 - .../meta/meta.rel/is_invocable.pass.cpp | 245 - .../meta.rel/is_invocable_r.compile.pass.cpp | 103 - .../is_invocable_r_v.compile.pass.cpp | 103 - .../meta.rel/is_nothrow_convertible.pass.cpp | 60 - .../meta.rel/is_nothrow_invocable.pass.cpp | 221 - .../utilities/meta/meta.rel/is_same.pass.cpp | 85 - .../meta/meta.rqmts/nothing_to_do.pass.cpp | 13 - .../remove_all_extents.pass.cpp | 44 - .../meta.trans.arr/remove_extent.pass.cpp | 45 - .../meta.trans.cv/add_const.pass.cpp | 46 - .../meta.trans/meta.trans.cv/add_cv.pass.cpp | 46 - .../meta.trans.cv/add_volatile.pass.cpp | 46 - .../meta.trans.cv/remove_const.pass.cpp | 46 - .../meta.trans.cv/remove_cv.pass.cpp | 46 - .../meta.trans.cv/remove_volatile.pass.cpp | 46 - .../aligned_storage.depr.verify.cpp | 14 - .../meta.trans.other/aligned_storage.pass.cpp | 337 - .../aligned_union.compile.fail.cpp | 24 - .../aligned_union.depr.verify.cpp | 14 - .../meta.trans.other/aligned_union.pass.cpp | 116 - .../common_reference.compile.pass.cpp | 218 - .../meta.trans.other/common_type.pass.cpp | 380 - .../meta.trans.other/conditional.pass.cpp | 27 - .../meta.trans.other/decay.pass.cpp | 47 - .../enable_if.compile.fail.cpp | 20 - .../meta.trans.other/enable_if.pass.cpp | 27 - .../enable_if2.compile.fail.cpp | 21 - .../meta.trans.other/remove_cvref.pass.cpp | 53 - .../result_of.deprecated.verify.cpp | 20 - .../meta.trans.other/result_of.pass.cpp | 375 - .../meta.trans.other/result_of11.pass.cpp | 184 - .../meta.trans.other/type_identity.pass.cpp | 41 - .../meta.trans.other/underlying_type.pass.cpp | 104 - .../underlying_type.verify.cpp | 42 - .../meta.trans.ptr/add_pointer.pass.cpp | 81 - .../meta.trans.ptr/remove_pointer.pass.cpp | 45 - .../meta.trans.ref/add_lvalue_ref.pass.cpp | 76 - .../meta.trans.ref/add_rvalue_ref.pass.cpp | 76 - .../meta.trans.ref/remove_ref.pass.cpp | 46 - .../meta.trans.sign/make_signed.pass.cpp | 71 - .../meta.trans.sign/make_unsigned.pass.cpp | 72 - .../meta.trans/objc_support.compile.pass.mm | 106 - .../meta.type.synop/nothing_to_do.pass.cpp | 13 - .../alignment_of.pass.cpp | 55 - .../meta.unary.prop.query/extent.pass.cpp | 75 - .../meta/meta.unary.prop.query/rank.pass.cpp | 55 - .../meta.unary.prop.query/void_t.pass.cpp | 74 - .../dependent_return_type.compile.pass.cpp | 170 - .../meta.unary/meta.unary.cat/array.pass.cpp | 62 - .../meta.unary/meta.unary.cat/class.pass.cpp | 61 - .../meta.unary/meta.unary.cat/enum.pass.cpp | 57 - .../meta.unary.cat/floating_point.pass.cpp | 58 - .../meta.unary.cat/function.pass.cpp | 92 - .../meta.unary.cat/integral.pass.cpp | 72 - .../meta.unary.cat/is_array.pass.cpp | 96 - .../meta.unary.cat/is_class.pass.cpp | 101 - .../meta.unary.cat/is_enum.pass.cpp | 96 - .../meta.unary.cat/is_floating_point.pass.cpp | 104 - .../meta.unary.cat/is_function.pass.cpp | 110 - .../meta.unary.cat/is_integral.pass.cpp | 110 - .../is_lvalue_reference.pass.cpp | 96 - .../is_member_object_pointer.pass.cpp | 100 - .../meta.unary.cat/is_member_pointer.pass.cpp | 107 - .../meta.unary.cat/is_null_pointer.pass.cpp | 98 - .../meta.unary.cat/is_pointer.pass.cpp | 97 - .../is_rvalue_reference.pass.cpp | 96 - .../meta.unary.cat/is_union.pass.cpp | 96 - .../meta.unary.cat/is_void.pass.cpp | 95 - .../meta.unary.cat/lvalue_ref.pass.cpp | 49 - .../member_function_pointer.pass.cpp | 230 - .../member_object_pointer.pass.cpp | 60 - .../meta.unary.cat/nullptr.pass.cpp | 58 - .../meta.unary.cat/pointer.pass.cpp | 60 - .../meta.unary.cat/rvalue_ref.pass.cpp | 48 - .../meta.unary/meta.unary.cat/union.pass.cpp | 62 - .../meta.unary/meta.unary.cat/void.pass.cpp | 56 - .../meta.unary/meta.unary.comp/array.pass.cpp | 52 - .../meta.unary/meta.unary.comp/class.pass.cpp | 50 - .../meta.unary/meta.unary.comp/enum.pass.cpp | 45 - .../meta.unary.comp/floating_point.pass.cpp | 45 - .../meta.unary.comp/function.pass.cpp | 46 - .../meta.unary.comp/integral.pass.cpp | 59 - .../meta.unary.comp/is_arithmetic.pass.cpp | 117 - .../meta.unary.comp/is_bounded_array.pass.cpp | 71 - .../meta.unary.comp/is_compound.pass.cpp | 99 - .../meta.unary.comp/is_fundamental.pass.cpp | 116 - .../is_member_pointer.pass.cpp | 106 - .../meta.unary.comp/is_object.pass.cpp | 104 - .../meta.unary.comp/is_reference.pass.cpp | 102 - .../meta.unary.comp/is_scalar.pass.cpp | 115 - .../is_unbounded_array.pass.cpp | 71 - .../meta.unary.comp/lvalue_ref.pass.cpp | 35 - .../member_function_pointer.pass.cpp | 49 - .../member_object_pointer.pass.cpp | 47 - .../meta.unary.comp/pointer.pass.cpp | 46 - .../meta.unary.comp/rvalue_ref.pass.cpp | 35 - .../meta.unary/meta.unary.comp/union.pass.cpp | 49 - .../meta.unary/meta.unary.comp/void.pass.cpp | 43 - .../meta/meta.unary/meta.unary.prop/common.h | 47 - ...has_unique_object_representations.pass.cpp | 106 - .../has_virtual_destructor.pass.cpp | 92 - .../meta.unary.prop/is_abstract.pass.cpp | 95 - .../meta.unary.prop/is_aggregate.pass.cpp | 76 - .../meta.unary.prop/is_assignable.pass.cpp | 84 - .../meta.unary.prop/is_const.pass.cpp | 49 - .../meta.unary.prop/is_constructible.pass.cpp | 259 - .../is_copy_assignable.pass.cpp | 86 - .../is_copy_constructible.pass.cpp | 96 - .../is_default_constructible.pass.cpp | 117 - .../meta.unary.prop/is_destructible.pass.cpp | 142 - .../meta.unary.prop/is_empty.pass.cpp | 105 - .../meta.unary.prop/is_final.pass.cpp | 63 - .../is_literal_type.deprecated.verify.cpp | 20 - .../meta.unary.prop/is_literal_type.pass.cpp | 109 - .../is_move_assignable.pass.cpp | 72 - .../is_move_constructible.pass.cpp | 87 - .../is_nothrow_assignable.pass.cpp | 63 - .../is_nothrow_constructible.pass.cpp | 95 - .../is_nothrow_copy_assignable.pass.cpp | 58 - .../is_nothrow_copy_constructible.pass.cpp | 62 - .../is_nothrow_default_constructible.pass.cpp | 79 - .../is_nothrow_destructible.pass.cpp | 110 - .../is_nothrow_move_assignable.pass.cpp | 56 - .../is_nothrow_move_constructible.pass.cpp | 63 - .../is_nothrow_swappable.pass.cpp | 84 - .../is_nothrow_swappable_with.pass.cpp | 82 - .../meta.unary.prop/is_pod.pass.cpp | 66 - .../meta.unary.prop/is_polymorphic.pass.cpp | 96 - .../meta.unary.prop/is_scoped_enum.pass.cpp | 120 - .../meta.unary.prop/is_signed.pass.cpp | 128 - .../is_standard_layout.pass.cpp | 62 - .../meta.unary.prop/is_swappable.pass.cpp | 99 - .../is_swappable_include_order.pass.cpp | 44 - .../is_swappable_with.pass.cpp | 79 - .../meta.unary.prop/is_trivial.pass.cpp | 64 - .../is_trivially_assignable.pass.cpp | 61 - .../is_trivially_constructible.pass.cpp | 78 - .../is_trivially_copy_assignable.pass.cpp | 79 - .../is_trivially_copy_constructible.pass.cpp | 83 - .../is_trivially_copyable.pass.cpp | 77 - ...s_trivially_default_constructible.pass.cpp | 90 - .../is_trivially_destructible.pass.cpp | 121 - .../is_trivially_move_assignable.pass.cpp | 79 - .../is_trivially_move_constructible.pass.cpp | 97 - .../meta.unary.prop/is_unsigned.pass.cpp | 128 - .../meta.unary.prop/is_volatile.pass.cpp | 49 - ...rator_concept_conformance.compile.pass.cpp | 23 - .../default.pass.cpp | 26 - .../derive.pass.cpp | 28 - .../compare.three_way.pass.cpp | 102 - .../optional.comp_with_t/equal.pass.cpp | 67 - .../optional.comp_with_t/greater.pass.cpp | 67 - .../greater_equal.pass.cpp | 69 - .../optional.comp_with_t/less_equal.pass.cpp | 69 - .../optional.comp_with_t/less_than.pass.cpp | 67 - .../optional.comp_with_t/not_equal.pass.cpp | 67 - .../optional.hash/enabled_hash.pass.cpp | 30 - .../optional/optional.hash/hash.pass.cpp | 83 - .../optional.monadic/and_then.pass.cpp | 264 - .../optional.monadic/or_else.pass.cpp | 73 - .../optional.monadic/transform.pass.cpp | 207 - .../compare.three_way.pass.cpp | 50 - .../optional/optional.nullops/equal.pass.cpp | 42 - .../optional.nullops/greater.pass.cpp | 42 - .../optional.nullops/greater_equal.pass.cpp | 42 - .../optional.nullops/less_equal.pass.cpp | 43 - .../optional.nullops/less_than.pass.cpp | 42 - .../optional.nullops/not_equal.pass.cpp | 42 - .../nullopt_t.compile.fail.cpp | 26 - .../optional.nullopt/nullopt_t.pass.cpp | 43 - .../assign_value.pass.cpp | 285 - .../const_optional_U.pass.cpp | 255 - .../optional.object.assign/copy.pass.cpp | 104 - .../optional.object.assign/emplace.pass.cpp | 297 - .../emplace_initializer_list.pass.cpp | 144 - .../optional.object.assign/move.pass.cpp | 204 - .../optional.object.assign/nullopt_t.pass.cpp | 104 - .../optional_U.pass.cpp | 338 - .../optional.object.ctor/U.pass.cpp | 153 - .../optional.object.ctor/const_T.pass.cpp | 129 - .../const_optional_U.pass.cpp | 120 - .../optional.object.ctor/copy.pass.cpp | 183 - .../optional.object.ctor/ctor.verify.cpp | 47 - .../optional.object.ctor/deduct.pass.cpp | 78 - .../optional.object.ctor/deduct.verify.cpp | 37 - .../optional.object.ctor/default.pass.cpp | 82 - ...empty_in_place_t_does_not_clobber.pass.cpp | 41 - .../explicit_const_optional_U.pass.cpp | 118 - .../explicit_optional_U.pass.cpp | 94 - .../optional.object.ctor/in_place_t.pass.cpp | 149 - .../initializer_list.pass.cpp | 118 - .../optional.object.ctor/move.pass.cpp | 222 - .../optional.object.ctor/nullopt_t.pass.cpp | 76 - .../optional.object.ctor/optional_U.pass.cpp | 97 - .../optional.object.ctor/rvalue_T.pass.cpp | 149 - .../optional.object.dtor/dtor.pass.cpp | 69 - .../optional.object.mod/reset.pass.cpp | 74 - .../optional.object.observe/bool.pass.cpp | 38 - .../dereference.pass.cpp | 64 - .../dereference_const.pass.cpp | 60 - .../dereference_const_rvalue.pass.cpp | 60 - .../dereference_rvalue.pass.cpp | 64 - .../has_value.pass.cpp | 38 - .../optional.object.observe/op_arrow.pass.cpp | 62 - .../op_arrow_const.pass.cpp | 66 - .../optional.object.observe/value.pass.cpp | 75 - .../value_const.compile.fail.cpp | 34 - .../value_const.pass.cpp | 66 - .../value_const_rvalue.pass.cpp | 66 - .../optional.object.observe/value_or.pass.cpp | 75 - .../value_or_const.pass.cpp | 80 - .../value_rvalue.pass.cpp | 73 - .../optional.object.swap/swap.pass.cpp | 328 - ...al_requires_destructible_object.verify.cpp | 51 - .../optional.object/special_members.pass.cpp | 65 - .../optional.object/triviality.pass.cpp | 99 - .../optional/optional.object/types.pass.cpp | 41 - .../compare.three_way.pass.cpp | 69 - .../optional/optional.relops/equal.pass.cpp | 89 - .../optional.relops/greater_equal.pass.cpp | 86 - .../optional.relops/greater_than.pass.cpp | 84 - .../optional.relops/less_equal.pass.cpp | 86 - .../optional.relops/less_than.pass.cpp | 84 - .../optional.relops/not_equal.pass.cpp | 89 - .../optional.specalg/make_optional.pass.cpp | 56 - .../make_optional_explicit.pass.cpp | 45 - ...ptional_explicit_initializer_list.pass.cpp | 65 - .../optional/optional.specalg/swap.pass.cpp | 353 - .../optional_in_place_t.verify.cpp | 21 - ...ptional_includes_initializer_list.pass.cpp | 26 - .../optional_nullopt_t.verify.cpp | 24 - .../R1_R2_requirement.verify.cpp | 56 - .../ratio_add.compile.fail.cpp | 20 - .../ratio/ratio.arithmetic/ratio_add.pass.cpp | 79 - .../ratio_divide.compile.fail.cpp | 20 - .../ratio.arithmetic/ratio_divide.pass.cpp | 61 - .../ratio_multiply.compile.fail.cpp | 20 - .../ratio.arithmetic/ratio_multiply.pass.cpp | 61 - .../ratio_subtract.compile.fail.cpp | 20 - .../ratio.arithmetic/ratio_subtract.pass.cpp | 79 - .../R1_R2_requirement.verify.cpp | 81 - .../R1_R2_requirement_v.verify.cpp | 69 - .../ratio.comparison/ratio_equal.pass.cpp | 68 - .../ratio.comparison/ratio_greater.pass.cpp | 68 - .../ratio_greater_equal.pass.cpp | 68 - .../ratio.comparison/ratio_less.pass.cpp | 98 - .../ratio_less_equal.pass.cpp | 68 - .../ratio.comparison/ratio_not_equal.pass.cpp | 68 - .../ratio/ratio.ratio/ratio.pass.cpp | 47 - .../ratio/ratio.ratio/ratio1.compile.fail.cpp | 19 - .../ratio/ratio.ratio/ratio2.compile.fail.cpp | 20 - .../ratio/ratio.ratio/ratio3.compile.fail.cpp | 20 - .../ratio/ratio.si/nothing_to_do.pass.cpp | 13 - .../std/utilities/ratio/typedefs.pass.cpp | 35 - .../utilities/smartptr/unique.ptr/README.TXT | 16 - .../unique.ptr.class/pointer_type.pass.cpp | 71 - .../unique.ptr.asgn/move.pass.cpp | 151 - .../unique.ptr.asgn/move_convert.pass.cpp | 430 - .../move_convert.runtime.pass.cpp | 123 - .../move_convert.single.pass.cpp | 165 - .../unique.ptr.asgn/null.pass.cpp | 53 - .../unique.ptr.asgn/nullptr.pass.cpp | 54 - .../unique.ptr.ctor/auto_pointer.pass.cpp | 99 - .../unique.ptr.ctor/deduct.pass.cpp | 45 - .../unique.ptr.ctor/default.pass.cpp | 122 - .../unique.ptr.ctor/move.pass.cpp | 200 - .../unique.ptr.ctor/move_convert.pass.cpp | 225 - .../move_convert.runtime.pass.cpp | 93 - .../move_convert.single.pass.cpp | 262 - .../unique.ptr.ctor/nullptr.pass.cpp | 109 - .../unique.ptr.ctor/pointer.pass.cpp | 206 - .../unique.ptr.ctor/pointer_deleter.pass.cpp | 354 - .../pointer_deleter.verify.cpp | 26 - .../unique.ptr.dtor/null.pass.cpp | 60 - .../unique.ptr.modifiers/release.pass.cpp | 70 - .../unique.ptr.modifiers/reset.pass.cpp | 143 - .../reset.runtime.verify.cpp | 32 - .../reset.single.pass.cpp | 69 - .../unique.ptr.modifiers/reset_self.pass.cpp | 39 - .../unique.ptr.modifiers/swap.pass.cpp | 109 - .../dereference.single.pass.cpp | 34 - .../dereference.verify.cpp | 24 - .../explicit_bool.pass.cpp | 76 - .../unique.ptr.observers/get.pass.cpp | 61 - .../unique.ptr.observers/get_deleter.pass.cpp | 77 - .../op_arrow.single.pass.cpp | 40 - .../unique.ptr.observers/op_arrow.verify.cpp | 30 - .../op_subscript.runtime.pass.cpp | 69 - .../op_subscript.single.verify.cpp | 25 - .../make_unique.array.pass.cpp | 56 - .../make_unique.array1.compile.fail.cpp | 18 - .../make_unique.array2.compile.fail.cpp | 18 - .../make_unique.array3.compile.fail.cpp | 18 - .../make_unique.array4.compile.fail.cpp | 18 - .../make_unique.single.pass.cpp | 43 - .../make_unique.sizezero.pass.cpp | 46 - ...unique_for_overwrite.default_init.pass.cpp | 62 - .../make_unique_for_overwrite.pass.cpp | 149 - .../convert_ctor.pass.cpp | 47 - .../unique.ptr.dltr.dflt/default.pass.cpp | 40 - .../incomplete.compile.fail.cpp | 27 - .../void.compile.fail.cpp | 25 - .../convert_ctor.compile.fail.cpp | 33 - .../convert_ctor.pass.cpp | 39 - .../unique.ptr.dltr.dflt1/default.pass.cpp | 42 - .../incomplete.compile.fail.cpp | 27 - .../nothing_to_do.pass.cpp | 13 - .../unique.ptr.special/cmp.pass.cpp | 166 - .../unique.ptr.special/cmp_nullptr.pass.cpp | 141 - .../unique.ptr.special/swap.pass.cpp | 130 - .../bitset.cons/char_ptr_ctor.pass.cpp | 98 - .../bitset.cons/default.pass.cpp | 55 - .../bitset.cons/string_ctor.pass.cpp | 158 - .../bitset.cons/string_view_ctor.pass.cpp | 151 - .../bitset.cons/ull_ctor.pass.cpp | 62 - .../bitset.hash/bitset.pass.cpp | 50 - .../bitset.hash/enabled_hash.pass.cpp | 32 - .../bitset.members/all.pass.cpp | 51 - .../bitset.members/any.pass.cpp | 54 - .../bitset.members/count.pass.cpp | 54 - .../bitset.members/flip_all.pass.cpp | 52 - .../flip_one.out_of_range.pass.cpp | 34 - .../bitset.members/flip_one.pass.cpp | 58 - .../bitset.members/index.pass.cpp | 76 - .../bitset.members/index_const.pass.cpp | 67 - .../bitset.members/left_shift.pass.cpp | 55 - .../bitset.members/left_shift_eq.pass.cpp | 59 - .../bitset.members/none.pass.cpp | 54 - .../bitset.members/not_all.pass.cpp | 51 - .../bitset.members/op_and_eq.pass.cpp | 55 - .../bitset.members/op_eq_eq.pass.cpp | 57 - .../bitset.members/op_or_eq.pass.cpp | 57 - .../bitset.members/op_xor_eq.pass.cpp | 57 - .../bitset.members/reset_all.pass.cpp | 47 - .../reset_one.out_of_range.pass.cpp | 34 - .../bitset.members/reset_one.pass.cpp | 54 - .../bitset.members/right_shift.pass.cpp | 54 - .../bitset.members/right_shift_eq.pass.cpp | 61 - .../bitset.members/set_all.pass.cpp | 46 - .../set_one.out_of_range.pass.cpp | 34 - .../bitset.members/set_one.pass.cpp | 55 - .../bitset.members/size.pass.cpp | 43 - .../bitset.members/test.out_of_range.pass.cpp | 37 - .../bitset.members/test.pass.cpp | 53 - .../bitset.members/to_string.pass.cpp | 158 - .../bitset.members/to_ullong.pass.cpp | 69 - .../bitset.members/to_ulong.pass.cpp | 71 - .../bitset.operators/op_and.pass.cpp | 53 - .../bitset.operators/op_not.pass.cpp | 53 - .../bitset.operators/op_or.pass.cpp | 53 - .../bitset.operators/stream_in.pass.cpp | 82 - .../bitset.operators/stream_out.pass.cpp | 31 - .../template.bitset/bitset_test_cases.h | 180 - .../template.bitset/includes.pass.cpp | 30 - .../tuple/tuple.general/ignore.pass.cpp | 56 - .../tuple.general/tuple.smartptr.pass.cpp | 36 - .../tuple/tuple.tuple/PR27375.pass.cpp | 19 - .../tuple/tuple.tuple/PR38601.pass.cpp | 31 - .../tuple/tuple.tuple/TupleFunction.pass.cpp | 34 - .../utilities/tuple/tuple.tuple/alloc_first.h | 59 - .../utilities/tuple/tuple.tuple/alloc_last.h | 59 - .../tuple.tuple/tuple.apply/apply.pass.cpp | 278 - .../tuple.apply/apply_extended_types.pass.cpp | 425 - .../tuple.apply/apply_large_arity.pass.cpp | 147 - .../tuple.apply/make_from_tuple.pass.cpp | 293 - .../tuple.assign/const_convert_copy.pass.cpp | 85 - .../tuple.assign/const_convert_move.pass.cpp | 84 - .../tuple.assign/const_copy.pass.cpp | 77 - .../tuple.assign/const_move.pass.cpp | 79 - .../tuple.assign/const_pair.pass.cpp | 85 - .../tuple.assign/const_pair_copy.pass.cpp | 89 - .../tuple.assign/const_pair_move.pass.cpp | 89 - .../tuple.assign/convert_copy.pass.cpp | 132 - .../tuple.assign/convert_move.pass.cpp | 263 - .../tuple.assign/copy.compile.fail.cpp | 32 - .../tuple.tuple/tuple.assign/copy.pass.cpp | 153 - .../derived_from_tuple_like.pass.cpp | 120 - .../tuple.assign/laziness.pass.cpp | 77 - .../tuple.tuple/tuple.assign/move.pass.cpp | 182 - .../tuple.assign/move_pair.pass.cpp | 204 - ...855_tuple_ref_binding_diagnostics.pass.cpp | 138 - ...PR22806_constrain_tuple_like_ctor.pass.cpp | 179 - .../PR23256_constrain_UTypes_ctor.pass.cpp | 103 - ...4_contains_ref_to_incomplete_type.pass.cpp | 50 - .../tuple.tuple/tuple.cnstr/PR31384.pass.cpp | 96 - .../tuple.cnstr/UTypes.compile.fail.cpp | 52 - .../tuple.tuple/tuple.cnstr/UTypes.pass.cpp | 119 - .../tuple.tuple/tuple.cnstr/alloc.pass.cpp | 115 - .../tuple.tuple/tuple.cnstr/alloc.verify.cpp | 29 - .../tuple.cnstr/alloc_UTypes.pass.cpp | 153 - .../tuple.cnstr/alloc_const_Types.pass.cpp | 108 - .../tuple.cnstr/alloc_const_Types.verify.cpp | 37 - .../alloc_const_move_pair.pass.cpp | 114 - .../tuple.cnstr/alloc_const_pair.pass.cpp | 68 - .../alloc_convert_const_move.pass.cpp | 156 - .../tuple.cnstr/alloc_convert_copy.pass.cpp | 113 - .../tuple.cnstr/alloc_convert_copy.verify.cpp | 37 - .../tuple.cnstr/alloc_convert_move.pass.cpp | 127 - .../tuple.cnstr/alloc_convert_move.verify.cpp | 30 - .../alloc_convert_non_const_copy.pass.cpp | 154 - .../tuple.cnstr/alloc_copy.pass.cpp | 87 - .../tuple.cnstr/alloc_move.pass.cpp | 86 - .../tuple.cnstr/alloc_move_pair.pass.cpp | 64 - .../tuple.cnstr/alloc_non_const_pair.pass.cpp | 110 - .../cnstr_with_any.compile.pass.cpp | 76 - .../tuple.cnstr/const_Types.pass.cpp | 142 - .../tuple.cnstr/const_Types.verify.cpp | 43 - .../tuple.cnstr/const_Types2.compile.fail.cpp | 28 - .../tuple.cnstr/const_move_pair.pass.cpp | 93 - .../tuple.cnstr/const_pair.pass.cpp | 47 - .../tuple.cnstr/convert_const_move.pass.cpp | 138 - .../tuple.cnstr/convert_copy.pass.cpp | 157 - .../tuple.cnstr/convert_move.pass.cpp | 122 - .../convert_non_const_copy.pass.cpp | 136 - .../tuple.cnstr/copy.compile.fail.cpp | 31 - .../tuple.tuple/tuple.cnstr/copy.pass.cpp | 71 - .../tuple.tuple/tuple.cnstr/deduct.pass.cpp | 196 - .../tuple.cnstr/default.lazy.verify.cpp | 26 - .../tuple.tuple/tuple.cnstr/default.pass.cpp | 117 - .../tuple.cnstr/default.verify.cpp | 45 - .../tuple.tuple/tuple.cnstr/dtor.pass.cpp | 61 - .../empty_tuple_trivial.compile.pass.cpp | 14 - .../tuple.tuple/tuple.cnstr/move.pass.cpp | 128 - .../tuple.cnstr/move_pair.pass.cpp | 60 - .../tuple.cnstr/non_const_pair.pass.cpp | 92 - .../tuple.cnstr/recursion_depth.pass.cpp | 54 - .../tuple.cnstr/test_lazy_sfinae.pass.cpp | 51 - .../tuple.creation/forward_as_tuple.pass.cpp | 89 - .../tuple.creation/make_tuple.pass.cpp | 65 - .../tuple.tuple/tuple.creation/tie.pass.cpp | 62 - .../tuple.creation/tuple_cat.pass.cpp | 274 - .../tuple.elem/get_const.compile.fail.cpp | 42 - .../tuple.tuple/tuple.elem/get_const.pass.cpp | 69 - .../tuple.elem/get_const_rv.pass.cpp | 81 - .../tuple.elem/get_const_rv.verify.cpp | 32 - .../tuple.elem/get_non_const.pass.cpp | 86 - .../tuple.tuple/tuple.elem/get_rv.pass.cpp | 36 - .../tuple.elem/tuple.by.type.pass.cpp | 97 - .../tuple.elem/tuple.by.type.verify.cpp | 39 - .../tuple.helper/tuple.include.array.pass.cpp | 54 - .../tuple.include.ranges.pass.cpp | 62 - .../tuple.include.utility.pass.cpp | 53 - .../tuple.helper/tuple_element.pass.cpp | 51 - .../tuple.helper/tuple_element.verify.cpp | 26 - .../tuple.helper/tuple_size.pass.cpp | 45 - .../tuple.helper/tuple_size.verify.cpp | 25 - .../tuple_size_incomplete.pass.cpp | 69 - .../tuple_size_incomplete.verify.cpp | 61 - .../tuple_size_structured_bindings.pass.cpp | 151 - .../tuple.helper/tuple_size_v.pass.cpp | 46 - .../tuple.helper/tuple_size_v.verify.cpp | 24 - .../tuple_size_value_sfinae.pass.cpp | 41 - .../tuple/tuple.tuple/tuple.rel/eq.pass.cpp | 159 - .../tuple/tuple.tuple/tuple.rel/lt.pass.cpp | 213 - .../size_incompatible_comparison.verify.cpp | 29 - ...ze_incompatible_three_way.compile.pass.cpp | 28 - .../tuple.tuple/tuple.rel/three_way.pass.cpp | 235 - .../tuple.special/non_member_swap.pass.cpp | 64 - .../non_member_swap_const.pass.cpp | 68 - .../tuple.swap/member_swap.pass.cpp | 73 - .../tuple.swap/member_swap_const.pass.cpp | 103 - .../tuple.traits/uses_allocator.pass.cpp | 49 - .../type.index.hash/enabled_hash.pass.cpp | 28 - .../type.index/type.index.hash/hash.pass.cpp | 39 - .../type.index.members/cmp.pass.cpp | 55 - .../type.index.members/ctor.pass.cpp | 30 - .../type.index.members/hash_code.pass.cpp | 29 - .../type.index.members/name.pass.cpp | 30 - .../type.index.overview/copy_assign.pass.cpp | 31 - .../type.index.overview/copy_ctor.pass.cpp | 29 - .../hash_type_index.pass.cpp | 42 - .../utilities.general/nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../hash.requirements/nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../nothing_to_do.pass.cpp | 13 - .../as_const/as_const.compile.fail.cpp | 23 - .../utility/as_const/as_const.pass.cpp | 48 - .../utility/declval/declval.pass.cpp | 29 - .../utility/declval/declval.verify.cpp | 16 - .../utility/exchange/exchange.pass.cpp | 117 - .../utility/forward/forward.pass.cpp | 90 - .../utility/forward/forward.verify.cpp | 48 - .../utility/forward/forward_like.pass.cpp | 120 - .../utilities/utility/forward/move.pass.cpp | 117 - .../utilities/utility/forward/move.verify.cpp | 38 - .../utility/forward/move_if_noexcept.pass.cpp | 66 - .../mem.poly.allocator.ctor/assign.pass.cpp | 29 - .../mem.poly.allocator.ctor/copy.pass.cpp | 45 - .../mem.poly.allocator.ctor/default.pass.cpp | 49 - .../memory_resource_convert.pass.cpp | 42 - .../other_alloc.pass.cpp | 49 - .../mem.poly.allocator.eq/equal.pass.cpp | 133 - .../mem.poly.allocator.eq/not_equal.pass.cpp | 107 - .../mem.poly.allocator.mem/allocate.pass.cpp | 113 - .../allocate_deallocate_bytes.pass.cpp | 65 - .../allocate_deallocate_object.pass.cpp | 63 - ...deallocate_vocabulary.nodiscard.verify.cpp | 29 - .../construct_pair.pass.cpp | 68 - .../construct_pair_const_lvalue_pair.pass.cpp | 134 - .../construct_pair_rvalue.pass.cpp | 131 - .../construct_pair_values.pass.cpp | 129 - .../construct_piecewise_pair.pass.cpp | 146 - .../construct_piecewise_pair_evil.pass.cpp | 135 - .../construct_types.pass.cpp | 186 - .../deallocate.pass.cpp | 66 - .../default_type.compile.pass.cpp | 18 - .../mem.poly.allocator.mem/destroy.pass.cpp | 49 - .../new_delete_object.pass.cpp | 77 - .../mem.poly.allocator.mem/resource.pass.cpp | 54 - ...ct_on_container_copy_construction.pass.cpp | 51 - .../mem.poly.allocator.mem/tracking_mem_res.h | 39 - .../header_deque_synop.pass.cpp | 35 - .../header_deque_synop2.pass.cpp | 30 - .../header_forward_list_synop.pass.cpp | 35 - .../header_list_synop.pass.cpp | 35 - .../header_list_synop2.pass.cpp | 30 - .../mem.res.aliases/header_map_synop.pass.cpp | 67 - .../header_map_synop2.pass.cpp | 31 - .../header_regex_synop.pass.cpp | 61 - .../mem.res.aliases/header_set_synop.pass.cpp | 65 - .../header_set_synop2.pass.cpp | 31 - .../header_string_synop.pass.cpp | 74 - .../header_string_synop2.pass.cpp | 40 - .../header_unordered_map_synop.pass.cpp | 85 - .../header_unordered_map_synop2.pass.cpp | 31 - .../header_unordered_set_synop.pass.cpp | 83 - .../header_unordered_set_synop2.pass.cpp | 31 - .../header_vector_synop.pass.cpp | 35 - .../header_vector_synop2.pass.cpp | 30 - .../mem.res.global/default_resource.pass.cpp | 76 - .../new_delete_resource.pass.cpp | 91 - .../null_memory_resource.pass.cpp | 106 - .../copy_move.pass.cpp | 29 - .../with_default_resource.pass.cpp | 46 - .../without_buffer.pass.cpp | 40 - .../allocate_deallocate.pass.cpp | 59 - .../allocate_exception_safety.pass.cpp | 81 - .../allocate_from_initial_buffer.pass.cpp | 58 - .../allocate_from_zero_sized_buffer.pass.cpp | 50 - ...allocate_in_geometric_progression.pass.cpp | 58 - .../allocate_overaligned_request.pass.cpp | 47 - .../allocate_with_initial_size.pass.cpp | 49 - .../equality.pass.cpp | 63 - .../ctor_does_not_allocate.pass.cpp | 47 - .../sync_with_default_resource.pass.cpp | 42 - .../unsync_with_default_resource.pass.cpp | 42 - .../mem.res.pool.mem/equality.pass.cpp | 73 - .../mem.res.pool.mem/sync_allocate.pass.cpp | 52 - ...sync_allocate_overaligned_request.pass.cpp | 53 - .../sync_allocate_reuse_blocks.pass.cpp | 56 - .../sync_deallocate_matches_allocate.pass.cpp | 114 - .../mem.res.pool.mem/unsync_allocate.pass.cpp | 52 - ...sync_allocate_overaligned_request.pass.cpp | 53 - .../unsync_allocate_reuse_blocks.pass.cpp | 56 - ...nsync_deallocate_matches_allocate.pass.cpp | 114 - .../mem.res/mem.res/construct.verify.cpp | 21 - .../mem.res/mem.res/mem.res.eq/equal.pass.cpp | 79 - .../mem.res/mem.res.eq/not_equal.pass.cpp | 78 - .../private_members.verify.cpp | 26 - .../protected_members.verify.cpp | 48 - .../mem.res/mem.res.public/allocate.pass.cpp | 80 - .../mem.res.public/deallocate.pass.cpp | 64 - .../mem.res/mem.res.public/dtor.pass.cpp | 54 - .../mem.res/mem.res.public/is_equal.pass.cpp | 95 - .../utility/mem.res/nodiscard.verify.cpp | 27 - .../utility/operators/rel_ops.pass.cpp | 52 - .../pairs/pair.astuple/get_const.pass.cpp | 41 - .../pairs/pair.astuple/get_const.verify.cpp | 23 - .../pairs/pair.astuple/get_const_rv.pass.cpp | 73 - .../pairs/pair.astuple/get_non_const.pass.cpp | 54 - .../pairs/pair.astuple/get_rv.pass.cpp | 35 - .../pairs/pair.astuple/pairs.by.type.pass.cpp | 88 - .../pair.astuple/pairs.by.type1.verify.cpp | 18 - .../pair.astuple/pairs.by.type2.verify.cpp | 18 - .../pair.astuple/pairs.by.type3.verify.cpp | 18 - .../pairs/pair.astuple/tuple_element.pass.cpp | 57 - .../pair.astuple/tuple_element.verify.cpp | 20 - .../pairs/pair.astuple/tuple_size.pass.cpp | 39 - .../piecewise_construct.pass.cpp | 69 - .../piecewise_construct_t.pass.cpp | 24 - .../piecewise_construct_t.verify.cpp | 20 - .../pairs.general/nothing_to_do.pass.cpp | 13 - .../pairs.pair/assign.pair_like_rv.pass.cpp | 111 - .../assign.pair_like_rv_const.pass.cpp | 121 - .../assign_const_copy_convert.pass.cpp | 88 - .../assign_const_copy_pair.pass.cpp | 85 - .../assign_const_move_convert.pass.cpp | 88 - .../assign_const_move_pair.pass.cpp | 85 - .../pairs.pair/assign_const_pair_U_V.pass.cpp | 98 - .../pairs/pairs.pair/assign_pair.pass.cpp | 104 - .../pairs.pair/assign_pair_cxx03.pass.cpp | 69 - .../pairs/pairs.pair/assign_rv_pair.pass.cpp | 143 - .../pairs.pair/assign_rv_pair_U_V.pass.cpp | 153 - .../pairs/pairs.pair/ctor.U_V.pass.cpp | 143 - .../pairs.pair/ctor.brace-init.P1951.pass.cpp | 48 - .../pairs/pairs.pair/ctor.brace-init.pass.cpp | 122 - .../ctor.const_first_const_second.pass.cpp | 101 - ...or.const_first_const_second_cxx03.pass.cpp | 45 - .../pairs/pairs.pair/ctor.copy.pass.cpp | 40 - .../ctor.copy_move_trivial.pass.cpp | 55 - .../ctor.default.explicit_LWG2510.verify.cpp | 34 - .../pairs/pairs.pair/ctor.default.pass.cpp | 56 - .../ctor.default.sfinae_LWG2367.pass.cpp | 165 - .../pairs/pairs.pair/ctor.move.pass.cpp | 77 - .../ctor.not_constexpr_cxx11.verify.cpp | 55 - .../ctor.pair_U_V_const_move.pass.cpp | 90 - .../ctor.pair_U_V_const_ref.cxx03.pass.cpp | 32 - .../ctor.pair_U_V_const_ref.pass.cpp | 202 - .../pairs.pair/ctor.pair_U_V_move.pass.cpp | 227 - .../pairs.pair/ctor.pair_U_V_ref.pass.cpp | 85 - .../pairs/pairs.pair/ctor.pair_like.pass.cpp | 153 - .../ctor.piecewise_construct.pass.cpp | 45 - .../utility/pairs/pairs.pair/dtor.pass.cpp | 37 - .../implicit_deduction_guides.pass.cpp | 75 - .../special_member_generation_test.pass.cpp | 130 - .../utility/pairs/pairs.pair/swap.pass.cpp | 58 - .../pairs.pair/swap_member_const.pass.cpp | 81 - .../utility/pairs/pairs.pair/types.pass.cpp | 29 - .../pairs/pairs.spec/comparison.pass.cpp | 110 - .../pairs/pairs.spec/make_pair.pass.cpp | 53 - .../pairs.spec/non_member_const_swap.pass.cpp | 94 - .../pairs/pairs.spec/non_member_swap.pass.cpp | 34 - .../pairs.spec/three_way_comparison.pass.cpp | 140 - .../std/utilities/utility/synopsis.pass.cpp | 24 - .../utility/utility.inplace/inplace.pass.cpp | 73 - .../intcmp.cmp_equal/cmp_equal.pass.cpp | 106 - .../intcmp.cmp_greater/cmp_greater.pass.cpp | 97 - .../cmp_greater_equal.pass.cpp | 99 - .../intcmp.cmp_less/cmp_less.pass.cpp | 98 - .../cmp_less_equal.pass.cpp | 98 - .../cmp_not_equal.pass.cpp | 105 - .../intcmp.in_range/in_range.pass.cpp | 82 - .../utility/utility.intcmp/intcmp.verify.cpp | 147 - .../utility/utility.swap/swap.pass.cpp | 119 - .../utility/utility.swap/swap_array.pass.cpp | 122 - .../utility.underlying/to_underlying.pass.cpp | 85 - .../to_underlying.verify.cpp | 22 - .../assert.unreachable.pass.cpp | 24 - .../utility.unreachable/unreachable.pass.cpp | 27 - .../unreachable.verify.cpp | 13 - .../bad_variant_access.pass.cpp | 39 - .../variant.general/nothing_to_do.pass.cpp | 11 - .../variant/variant.get/get_if_index.pass.cpp | 77 - .../variant/variant.get/get_if_type.pass.cpp | 75 - .../variant/variant.get/get_index.pass.cpp | 163 - .../variant/variant.get/get_type.pass.cpp | 159 - .../variant.get/holds_alternative.pass.cpp | 38 - .../variant.hash/enabled_hash.pass.cpp | 26 - .../variant/variant.hash/hash.pass.cpp | 159 - .../variant_alternative.pass.cpp | 67 - .../variant_alternative.verify.cpp | 32 - .../variant.helpers/variant_size.pass.cpp | 46 - .../variant.monostate.relops/relops.pass.cpp | 47 - .../variant.monostate/monostate.pass.cpp | 30 - .../variant/variant.relops/relops.pass.cpp | 276 - .../relops_bool_conv.verify.cpp | 88 - .../variant/variant.relops/three_way.pass.cpp | 194 - .../variant.synopsis/variant_npos.pass.cpp | 23 - .../variant.variant/implicit_ctad.pass.cpp | 41 - .../variant.variant/variant.assign/T.pass.cpp | 282 - .../variant.assign/conv.pass.cpp | 42 - .../variant.assign/copy.pass.cpp | 583 - .../variant.assign/copy.verify.cpp | 32 - .../variant.assign/move.pass.cpp | 498 - .../variant.variant/variant.ctor/T.pass.cpp | 184 - .../variant.ctor/conv.pass.cpp | 41 - .../variant.ctor/copy.pass.cpp | 254 - .../variant.ctor/default.pass.cpp | 117 - .../variant.ctor/in_place_index_args.pass.cpp | 103 - .../in_place_index_init_list_args.pass.cpp | 109 - .../variant.ctor/in_place_type_args.pass.cpp | 113 - .../in_place_type_init_list_args.pass.cpp | 110 - .../variant.ctor/move.pass.cpp | 327 - .../variant.dtor/dtor.pass.cpp | 75 - .../variant.mod/emplace_index_args.pass.cpp | 100 - .../emplace_index_init_list_args.pass.cpp | 91 - .../variant.mod/emplace_type_args.pass.cpp | 99 - .../emplace_type_init_list_args.pass.cpp | 91 - .../variant.status/index.pass.cpp | 61 - .../valueless_by_exception.pass.cpp | 54 - .../variant.swap/swap.pass.cpp | 592 - .../variant.variant/variant_array.verify.cpp | 33 - .../variant.variant/variant_empty.verify.cpp | 26 - .../variant_reference.verify.cpp | 28 - .../variant.variant/variant_void.verify.cpp | 33 - .../robust_against_adl.pass.cpp | 49 - .../variant.visit.member/visit.pass.cpp | 226 - .../visit_return_type.pass.cpp | 314 - .../variant.visit/robust_against_adl.pass.cpp | 43 - .../variant/variant.visit/visit.pass.cpp | 406 - .../variant.visit/visit_return_type.pass.cpp | 489 - .../libc++/src/test/support/Counter.h | 55 - .../libc++/src/test/support/DefaultOnly.h | 34 - .../libc++/src/test/support/MoveOnly.h | 128 - .../libc++/src/test/support/allocators.h | 256 - .../src/test/support/almost_satisfies_types.h | 441 - .../libc++/src/test/support/any_helpers.h | 429 - .../libc++/src/test/support/archetypes.h | 402 - .../libc++/src/test/support/archetypes.ipp | 184 - .../libc++/src/test/support/asan_testing.h | 96 - .../libc++/src/test/support/assert_macros.h | 152 - .../libc++/src/test/support/atomic_helpers.h | 138 - .../src/test/support/boolean_testable.h | 164 - .../libc++/src/test/support/callable_types.h | 186 - .../src/test/support/charconv_test_helpers.h | 328 - .../libc++/src/test/support/check_assertion.h | 405 - .../libc++/src/test/support/cmpxchg_loop.h | 59 - .../libc++/src/test/support/compare_types.h | 532 - .../libc++/src/test/support/concat_macros.h | 198 - .../src/test/support/constexpr_char_traits.h | 142 - .../src/test/support/container_debug_tests.h | 349 - .../src/test/support/container_test_types.h | 521 - .../src/test/support/controlled_allocators.h | 508 - .../libc++/src/test/support/copy_move_types.h | 345 - .../libc++/src/test/support/count_new.h | 629 - .../src/test/support/counting_predicates.h | 85 - .../src/test/support/counting_projection.h | 41 - .../support/deduction_guides_sfinae_checks.h | 513 - .../libc++/src/test/support/deleter_types.h | 468 - .../src/test/support/emplace_constructible.h | 74 - .../test/support/experimental_any_helpers.h | 322 - .../src/test/support/filesystem_test_helper.h | 662 - .../test/support/format.functions.common.h | 246 - .../libc++/src/test/support/format_string.h | 71 - .../libc++/src/test/support/fp_compare.h | 47 - .../libc++/src/test/support/hexfloat.h | 49 - .../src/test/support/indirectly_readable.h | 39 - .../test/support/invocable_with_telemetry.h | 89 - .../libc++/src/test/support/is_transparent.h | 86 - .../support/iterator_traits_cpp17_iterators.h | 104 - .../libc++/src/test/support/locale_helpers.h | 116 - .../libc++/src/test/support/make_implicit.h | 22 - .../libc++/src/test/support/make_string.h | 102 - .../src/test/support/make_test_thread.h | 51 - .../libc++/src/test/support/maths.h | 68 - .../libc++/src/test/support/min_allocator.h | 483 - .../test/support/msvc_stdlib_force_include.h | 108 - .../src/test/support/nasty_containers.h | 332 - .../libc++/src/test/support/nasty_string.h | 185 - .../src/test/support/operator_hijacker.h | 46 - .../libc++/src/test/support/parse_integer.h | 72 - .../src/test/support/platform_support.h | 100 - .../support/pointer_comparison_test_helper.h | 62 - .../src/test/support/poisoned_hash_helper.h | 245 - .../src/test/support/private_constructor.h | 26 - .../test/support/propagate_const_helpers.h | 118 - .../test/support/propagate_value_category.hpp | 153 - .../libc++/src/test/support/read_write.h | 37 - .../support/set_windows_crt_report_mode.h | 48 - .../libc++/src/test/support/string_literal.h | 58 - .../src/test/support/template_cost_testing.h | 37 - .../test.support/make_string_header.pass.cpp | 54 - .../test_check_assertion.pass.cpp | 132 - .../test_convertible_header.pass.cpp | 71 - .../test_macros_header.exceptions.pass.cpp | 23 - ...est_macros_header.no_exceptions.verify.cpp | 22 - .../test_macros_header.no_rtti.verify.cpp | 26 - .../test_macros_header.rtti.pass.cpp | 28 - .../test_poisoned_hash_helper.pass.cpp | 33 - .../support/test.support/test_proxy.pass.cpp | 300 - .../test.support/type_algorithms.pass.cpp | 76 - ...c1xx_broken_is_trivially_copyable.pass.cpp | 33 - .../c1xx_broken_za_ctor_check.pass.cpp | 43 - .../libc++/src/test/support/test_allocator.h | 509 - .../src/test/support/test_basic_format_arg.h | 28 - .../src/test/support/test_comparisons.h | 273 - .../test/support/test_constexpr_container.h | 58 - .../test/support/test_container_comparisons.h | 414 - .../src/test/support/test_convertible.h | 41 - .../test/support/test_execution_policies.h | 61 - .../src/test/support/test_format_context.h | 64 - .../src/test/support/test_format_string.h | 48 - .../libc++/src/test/support/test_iterators.h | 1569 -- .../libc++/src/test/support/test_macros.h | 478 - .../libc++/src/test/support/test_range.h | 97 - .../test/support/test_std_memory_resource.h | 170 - .../test/support/test_transparent_unordered.h | 187 - .../libc++/src/test/support/test_tzdb.h | 31 - .../src/test/support/test_workarounds.h | 28 - .../libc++/src/test/support/truncate_fp.h | 22 - .../libc++/src/test/support/type_algorithms.h | 149 - .../support/type_classification/copyable.h | 78 - .../support/type_classification/movable.h | 159 - .../type_classification/moveconstructible.h | 75 - .../support/type_classification/semiregular.h | 30 - .../support/type_classification/swappable.h | 267 - .../libc++/src/test/support/type_id.h | 72 - .../src/test/support/unique_ptr_test_helper.h | 159 - .../test/support/unwrap_container_adaptor.h | 32 - .../src/test/support/user_defined_integral.h | 54 - .../src/test/support/uses_alloc_types.h | 338 - .../src/test/support/variant_test_helpers.h | 157 - .../libc++/src/test/support/wide_temp_file.h | 27 - .../libc++/src/test/tools/CMakeLists.txt | 12 - .../tools/clang_tidy_checks/CMakeLists.txt | 66 - .../clang_tidy_checks/abi_tag_on_virtual.cpp | 46 - .../clang_tidy_checks/abi_tag_on_virtual.hpp | 18 - .../header_exportable_declarations.cpp | 309 - .../header_exportable_declarations.hpp | 64 - .../tools/clang_tidy_checks/hide_from_abi.cpp | 110 - .../tools/clang_tidy_checks/hide_from_abi.hpp | 18 - .../tools/clang_tidy_checks/libcpp_module.cpp | 36 - .../proper_version_checks.cpp | 74 - .../proper_version_checks.hpp | 19 - .../clang_tidy_checks/qualify_declval.cpp | 31 - .../clang_tidy_checks/qualify_declval.hpp | 18 - .../clang_tidy_checks/robust_against_adl.cpp | 51 - .../clang_tidy_checks/robust_against_adl.hpp | 18 - .../clang_tidy_checks/uglify_attributes.cpp | 145 - .../clang_tidy_checks/uglify_attributes.hpp | 18 - .../libc++abi/src/src/aix_state_tab_eh.inc | 19 +- .../libc++abi/src/src/cxa_personality.cpp | 4 +- .../src/src/demangle/ItaniumDemangle.h | 3 +- .../third_party/protobuf/proto_library.gni | 21 +- .../src/third_party/zstd/README.chromium | 2 +- .../zstd/src/.github/workflows/commit.yml | 89 + .../src/.github/workflows/dev-long-tests.yml | 84 +- .../src/.github/workflows/dev-short-tests.yml | 129 +- .../zstd/src/.github/workflows/nightly.yml | 65 + .../zstd/src/.github/workflows/scorecards.yml | 4 +- .../.github/workflows/windows-artifacts.yml | 2 +- naiveproxy/src/third_party/zstd/src/CHANGELOG | 41 +- naiveproxy/src/third_party/zstd/src/Makefile | 4 +- naiveproxy/src/third_party/zstd/src/README.md | 27 +- .../src/build/VS_scripts/build.generic.cmd | 36 +- .../zstd/src/build/cmake/CMakeLists.txt | 33 +- .../zstd/src/build/cmake/lib/CMakeLists.txt | 48 +- .../zstd/src/build/cmake/tests/CMakeLists.txt | 6 +- .../zstd/src/build/cmake/zstdConfig.cmake | 1 - .../zstd/src/build/cmake/zstdConfig.cmake.in | 10 + .../zstd/src/build/meson/meson.build | 9 +- .../zstd/src/build/meson/meson_options.txt | 2 +- .../zstd/src/contrib/pzstd/Makefile | 7 +- .../zstd/src/doc/decompressor_errata.md | 21 + .../zstd/src/doc/decompressor_permissive.md | 60 + .../zstd/src/doc/zstd_compression_format.md | 9 +- .../third_party/zstd/src/doc/zstd_manual.html | 107 +- .../src/third_party/zstd/src/lib/Makefile | 86 +- .../src/third_party/zstd/src/lib/README.md | 4 + .../src/third_party/zstd/src/lib/common/cpu.h | 36 + .../third_party/zstd/src/lib/common/debug.h | 6 +- .../third_party/zstd/src/lib/common/xxhash.h | 35 +- .../zstd/src/lib/compress/fse_compress.c | 2 +- .../zstd/src/lib/compress/zstd_compress.c | 143 +- .../lib/compress/zstd_compress_superblock.c | 331 +- .../zstd/src/lib/compress/zstd_lazy.c | 18 +- .../zstd/src/lib/compress/zstdmt_compress.c | 4 +- .../src/lib/decompress/huf_decompress_amd64.S | 23 +- .../zstd/src/lib/decompress/zstd_decompress.c | 62 +- .../lib/decompress/zstd_decompress_block.c | 5 +- .../zstd/src/lib/dictBuilder/cover.c | 24 +- .../zstd/src/lib/dictBuilder/cover.h | 10 +- .../zstd/src/lib/legacy/zstd_v02.c | 4 +- .../zstd/src/lib/legacy/zstd_v03.c | 4 +- .../src/third_party/zstd/src/lib/libzstd.mk | 36 +- .../third_party/zstd/src/lib/libzstd.pc.in | 4 +- .../src/third_party/zstd/src/lib/zstd.h | 82 +- .../third_party/zstd/src/programs/Makefile | 11 +- .../third_party/zstd/src/programs/benchzstd.c | 3 + .../third_party/zstd/src/programs/benchzstd.h | 1 + .../third_party/zstd/src/programs/fileio.c | 134 +- .../zstd/src/programs/fileio_asyncio.c | 5 +- .../third_party/zstd/src/programs/platform.h | 3 +- .../src/third_party/zstd/src/programs/util.c | 28 +- .../src/third_party/zstd/src/programs/zstd.1 | 489 +- .../third_party/zstd/src/programs/zstd.1.md | 359 +- .../third_party/zstd/src/programs/zstdcli.c | 22 +- .../third_party/zstd/src/programs/zstdgrep.1 | 13 +- .../third_party/zstd/src/programs/zstdless.1 | 9 +- .../src/third_party/zstd/src/tests/Makefile | 98 +- .../src/third_party/zstd/src/tests/bigdict.c | 11 +- .../src/tests/cli-tests/common/platform.sh | 1 - .../file-handling/directory-mirror.sh | 49 + .../directory-mirror.sh.stderr.exact} | 0 .../directory-mirror.sh.stdout.exact} | 0 .../golden-decompression-errors/off0.bin.zst | Bin 0 -> 17 bytes .../zeroSeq_extraneous.zst | Bin 0 -> 27 bytes .../zstd/src/tests/largeDictionary.c | 128 + .../third_party/zstd/src/tests/paramgrill.c | 1 - .../third_party/zstd/src/tests/playTests.sh | 91 +- .../zstd/src/tests/regression/result.c | 2 + .../third_party/zstd/src/tests/zstreamtest.c | 44 + .../zstd/src/zlibWrapper/examples/minigzip.c | 4 +- .../zstd/src/zlibWrapper/gzwrite.c | 3 +- naiveproxy/src/tools/cfi/ignores.txt | 4 +- naiveproxy/src/tools/clang/scripts/update.py | 9 +- .../src/tools/grit/grit/format/minifier.py | 9 + .../src/tools/gritsettings/resource_ids.spec | 33 +- .../gritsettings/translation_expectations.pyl | 1 - naiveproxy/src/url/android/gurl_android.cc | 11 + naiveproxy/src/url/gurl.cc | 2 +- naiveproxy/src/url/gurl.h | 4 +- naiveproxy/src/url/origin.cc | 4 +- .../src/url/third_party/mozilla/url_parse.cc | 165 +- .../src/url/third_party/mozilla/url_parse.h | 29 +- naiveproxy/src/url/url_canon.h | 4 +- naiveproxy/src/url/url_canon_fileurl.cc | 2 +- naiveproxy/src/url/url_canon_host.cc | 4 +- naiveproxy/src/url/url_canon_path.cc | 2 +- naiveproxy/src/url/url_canon_relative.cc | 23 +- naiveproxy/src/url/url_constants.h | 2 + naiveproxy/src/url/url_file.h | 11 - naiveproxy/src/url/url_parse_file.cc | 119 +- naiveproxy/src/url/url_parse_internal.h | 10 +- naiveproxy/src/url/url_util.cc | 65 +- naiveproxy/src/url/url_util.h | 2 +- naiveproxy/tools/exclude.txt | 2 + openclash/luci-app-openclash/Makefile | 3 +- .../model/cbi/openclash/other-rules-edit.lua | 11 - .../cbi/openclash/rule-providers-config.lua | 2 +- .../cbi/openclash/rule-providers-settings.lua | 2 +- .../luasrc/model/cbi/openclash/servers.lua | 4 +- .../luasrc/view/openclash/select_git_cdn.htm | 73 +- .../luasrc/view/openclash/update.htm | 2 +- .../po/zh-cn/openclash.zh-cn.po | 2 +- .../root/etc/init.d/openclash | 32 +- .../openclash/openclash_download_dashboard.sh | 2 +- .../usr/share/openclash/openclash_rule.sh | 10 +- .../openclash/openclash_streaming_unlock.lua | 9 +- .../usr/share/openclash/openclash_update.sh | 5 +- .../root/usr/share/openclash/res/lhie1.yaml | 128 +- .../usr/share/openclash/yml_groups_name_ch.sh | 2 +- .../usr/share/openclash/yml_proxys_set.sh | 7 - .../usr/share/openclash/yml_rules_change.sh | 4 - openwrt-packages/alist/Makefile | 18 +- openwrt-packages/alist/files/data.db | Bin 36864 -> 20480 bytes .../alist/src/public/dist/assets/logo.png | Bin 0 -> 42933 bytes .../luci-app-ikoolproxy/README.md | 4 +- .../luci-app-ikoolproxy/change.log | 6 +- .../{ => luci-app-ikoolproxy}/Makefile | 2 +- .../luasrc/controller/koolproxy.lua | 0 .../luasrc/model/cbi/koolproxy/add_rule.lua | 0 .../luasrc/model/cbi/koolproxy/basic.lua | 0 .../luasrc/model/cbi/koolproxy/black_list.lua | 0 .../luasrc/model/cbi/koolproxy/cert.lua | 0 .../luasrc/model/cbi/koolproxy/control.lua | 0 .../model/cbi/koolproxy/custom_rule.lua | 0 .../model/cbi/koolproxy/ip_black_list.lua | 0 .../model/cbi/koolproxy/ip_white_list.lua | 0 .../luasrc/model/cbi/koolproxy/rss_rule.lua | 0 .../luasrc/model/cbi/koolproxy/tips.lua | 0 .../luasrc/model/cbi/koolproxy/update_log.lua | 0 .../luasrc/model/cbi/koolproxy/white_list.lua | 0 .../luasrc/view/koolproxy/cadvalue.htm | 0 .../luasrc/view/koolproxy/caupload.htm | 0 .../view/koolproxy/koolproxy_status.htm | 0 .../luasrc/view/koolproxy/tips.htm | 0 .../root/etc/adblocklist/adblock | 0 .../root/etc/adblocklist/adblockip | 0 .../root/etc/adblocklist/adbypass | 0 .../root/etc/adblocklist/adbypassip | 0 .../root/etc/config/koolproxy | 0 .../root/etc/init.d/koolproxy | 1 + .../root/etc/uci-defaults/luci-koolproxy | 0 .../root/lib/upgrade/keep.d/koolproxy | 0 .../root/usr/sbin/adblockplus | 0 .../root/usr/share/koolproxy/adblock.conf | 0 .../root/usr/share/koolproxy/camanagement | 0 .../root/usr/share/koolproxy/data/gen_ca.sh | 0 .../root/usr/share/koolproxy/data/openssl.cnf | 0 .../usr/share/koolproxy/data/rules/user.txt | 0 .../root/usr/share/koolproxy/data/source.list | 0 .../root/usr/share/koolproxy/data/user.txt | 0 .../root/usr/share/koolproxy/dnsmasq.adblock | 0 .../usr/share/koolproxy/koolproxy_ipset.conf | 0 .../root/usr/share/koolproxy/kpupdate | 0 .../share/rpcd/acl.d/luci-app-ikoolproxy.json | 0 openwrt-packages/luci-app-openclash/Makefile | 3 +- .../model/cbi/openclash/other-rules-edit.lua | 11 - .../cbi/openclash/rule-providers-config.lua | 2 +- .../cbi/openclash/rule-providers-settings.lua | 2 +- .../luasrc/model/cbi/openclash/servers.lua | 4 +- .../luasrc/view/openclash/select_git_cdn.htm | 73 +- .../luasrc/view/openclash/update.htm | 2 +- .../po/zh-cn/openclash.zh-cn.po | 2 +- .../root/etc/init.d/openclash | 32 +- .../openclash/openclash_download_dashboard.sh | 2 +- .../usr/share/openclash/openclash_rule.sh | 10 +- .../openclash/openclash_streaming_unlock.lua | 9 +- .../usr/share/openclash/openclash_update.sh | 5 +- .../root/usr/share/openclash/res/lhie1.yaml | 128 +- .../usr/share/openclash/yml_groups_name_ch.sh | 2 +- .../usr/share/openclash/yml_proxys_set.sh | 7 - .../usr/share/openclash/yml_rules_change.sh | 4 - shadowsocks-rust/Cargo.lock | 297 +- shadowsocks-rust/Cargo.toml | 6 +- .../crates/shadowsocks-service/Cargo.toml | 4 +- shadowsocks-rust/debian/changelog | 11 + small/shadowsocks-rust/Makefile | 16 +- small/v2ray-geodata/Makefile | 4 +- udp2raw/connection.cpp | 4 +- v2rayn/v2rayN/v2rayN/Common/Utils.cs | 4 +- xray-core/go.mod | 2 +- xray-core/go.sum | 4 +- 10473 files changed, 27853 insertions(+), 963102 deletions(-) create mode 100644 lede/package/boot/arm-trusted-firmware-mediatek/patches/0001-mediatek-snfi-FM35Q1GA-is-x4-only.patch create mode 100644 lede/package/boot/arm-trusted-firmware-mediatek/patches/0002-mediatek-snfi-adjust-pin-drive-strength-for-Fidelix-.patch create mode 100644 lede/package/boot/arm-trusted-firmware-mediatek/patches/0003-mediatek-snfi-adjust-drive-strength-to-12mA-like-old.patch create mode 100644 naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h create mode 100644 naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/build_config.h create mode 100644 naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/buildflag.h create mode 100644 naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/buildflag_header.gni create mode 100644 naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/use_death_tests.h create mode 100755 naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/write_buildflag_header.py rename naiveproxy/src/base/android/proguard/{chromium_code.flags => shared_with_cronet.flags} (58%) delete mode 100644 naiveproxy/src/base/big_endian.cc create mode 100644 naiveproxy/src/base/numerics/.clang-tidy create mode 100644 naiveproxy/src/base/numerics/.clangd create mode 100644 naiveproxy/src/base/task/sequence_manager/task_time_observer.cc delete mode 100644 naiveproxy/src/base/third_party/dynamic_annotations/BUILD.gn delete mode 100644 naiveproxy/src/base/third_party/dynamic_annotations/DEPS delete mode 100644 naiveproxy/src/base/third_party/dynamic_annotations/LICENSE delete mode 100644 naiveproxy/src/base/third_party/dynamic_annotations/README.chromium delete mode 100644 naiveproxy/src/base/third_party/dynamic_annotations/dynamic_annotations.c delete mode 100644 naiveproxy/src/base/third_party/dynamic_annotations/dynamic_annotations.h delete mode 100644 naiveproxy/src/base/third_party/dynamic_annotations/dynamic_annotations_compiletest.cc create mode 100644 naiveproxy/src/base/tracing/test/data/scroll_offsets_trace_2.pftrace.sha256 create mode 100644 naiveproxy/src/base/types/cxx23_is_scoped_enum.h create mode 100644 naiveproxy/src/build/.clang-tidy create mode 100644 naiveproxy/src/build/.clangd create mode 100644 naiveproxy/src/build/DEPS create mode 100755 naiveproxy/src/build/android/generate_wrap_sh.py create mode 100755 naiveproxy/src/build/android/gyp/gcc_preprocess_tests.py delete mode 100644 naiveproxy/src/build/android/pylib/valgrind_tools.py delete mode 100644 naiveproxy/src/build/linux/sysroot_scripts/generated_package_lists/bullseye.armel create mode 100644 naiveproxy/src/build/linux/sysroot_scripts/sysroot.gni create mode 100644 naiveproxy/src/net/base/apple/guarded_fd.h create mode 100644 naiveproxy/src/net/device_bound_sessions/cookie_craving.cc create mode 100644 naiveproxy/src/net/device_bound_sessions/cookie_craving.h create mode 100644 naiveproxy/src/net/quic/quic_socket_data_provider.cc create mode 100644 naiveproxy/src/net/quic/quic_socket_data_provider.h create mode 100644 naiveproxy/src/net/test/test_with_task_environment.cc delete mode 100644 naiveproxy/src/net/third_party/quiche/src/quiche/blind_sign_auth/blind_sign_http_response.h create mode 100644 naiveproxy/src/net/third_party/quiche/src/quiche/blind_sign_auth/blind_sign_message_response.cc create mode 100644 naiveproxy/src/net/third_party/quiche/src/quiche/blind_sign_auth/blind_sign_message_response.h rename naiveproxy/src/net/third_party/quiche/src/quiche/blind_sign_auth/test_tools/{mock_blind_sign_http_interface.h => mock_blind_sign_message_interface.h} (60%) create mode 100644 naiveproxy/src/net/third_party/quiche/src/quiche/http2/adapter/chunked_buffer.cc create mode 100644 naiveproxy/src/net/third_party/quiche/src/quiche/http2/adapter/chunked_buffer.h create mode 100644 naiveproxy/src/net/third_party/quiche/src/quiche/quic/core/quic_blocked_writer_list.cc create mode 100644 naiveproxy/src/net/third_party/quiche/src/quiche/quic/core/quic_blocked_writer_list.h create mode 100644 naiveproxy/src/net/third_party/quiche/src/quiche/quic/core/quic_connection_alarms.cc create mode 100644 naiveproxy/src/net/third_party/quiche/src/quiche/quic/core/quic_connection_alarms.h create mode 100644 naiveproxy/src/net/third_party/quiche/src/quiche/quic/moqt/moqt_outgoing_queue.cc create mode 100644 naiveproxy/src/net/third_party/quiche/src/quiche/quic/moqt/moqt_outgoing_queue.h delete mode 100644 naiveproxy/src/net/tools/cache_transparency/checksum_pervasive_js.py delete mode 100644 naiveproxy/src/net/tools/cache_transparency/generate_checksums.py delete mode 100644 naiveproxy/src/net/tools/cache_transparency/pervasive_checksum.py delete mode 100644 naiveproxy/src/net/tools/cache_transparency/sample_pervasive_payloads_list.csv create mode 100644 naiveproxy/src/third_party/abseil-cpp/absl/container/hash_container_defaults.h create mode 100644 naiveproxy/src/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc create mode 100644 naiveproxy/src/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.h create mode 100644 naiveproxy/src/third_party/abseil-cpp/absl/status/internal/status_matchers.cc create mode 100644 naiveproxy/src/third_party/abseil-cpp/absl/status/internal/status_matchers.h create mode 100644 naiveproxy/src/third_party/abseil-cpp/absl/status/status_matchers.h create mode 100644 naiveproxy/src/third_party/boringssl/src/.bazelignore create mode 100644 naiveproxy/src/third_party/boringssl/src/.bazelrc create mode 100644 naiveproxy/src/third_party/boringssl/src/BUILD.bazel create mode 100644 naiveproxy/src/third_party/boringssl/src/MODULE.bazel create mode 100644 naiveproxy/src/third_party/boringssl/src/MODULE.bazel.lock create mode 100644 naiveproxy/src/third_party/boringssl/src/gen/sources.bzl create mode 100644 naiveproxy/src/third_party/boringssl/src/pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/clientauth-strict-leaf.test create mode 100644 naiveproxy/src/third_party/boringssl/src/pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/serverauth-strict-leaf.test create mode 100644 naiveproxy/src/third_party/boringssl/src/pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/clientauth-strict-leaf.test create mode 100644 naiveproxy/src/third_party/boringssl/src/pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/serverauth-strict-leaf.test create mode 100644 naiveproxy/src/third_party/boringssl/src/pki/testdata/verify_certificate_chain_unittest/intermediate-invalid-spki/README.md create mode 100644 naiveproxy/src/third_party/boringssl/src/pki/testdata/verify_certificate_chain_unittest/intermediate-invalid-spki/chain.pem create mode 100644 naiveproxy/src/third_party/boringssl/src/pki/testdata/verify_certificate_chain_unittest/intermediate-invalid-spki/main.test create mode 100644 naiveproxy/src/third_party/boringssl/src/pki/testdata/verify_certificate_chain_unittest/target-eku-any/clientauth-strict-leaf.test create mode 100644 naiveproxy/src/third_party/boringssl/src/pki/testdata/verify_certificate_chain_unittest/target-eku-any/serverauth-strict-leaf.test create mode 100644 naiveproxy/src/third_party/boringssl/src/pki/testdata/verify_certificate_chain_unittest/target-eku-many/clientauth-strict-leaf.test create mode 100644 naiveproxy/src/third_party/boringssl/src/pki/testdata/verify_certificate_chain_unittest/target-eku-many/serverauth-strict-leaf.test create mode 100644 naiveproxy/src/third_party/boringssl/src/pki/testdata/verify_certificate_chain_unittest/target-eku-none/clientauth-strict-leaf.test create mode 100644 naiveproxy/src/third_party/boringssl/src/pki/testdata/verify_certificate_chain_unittest/target-not-end-entity/strict-leaf.test create mode 100644 naiveproxy/src/third_party/boringssl/src/util/bazel-example/BUILD.bazel create mode 100644 naiveproxy/src/third_party/boringssl/src/util/bazel-example/MODULE.bazel create mode 100644 naiveproxy/src/third_party/boringssl/src/util/bazel-example/README.md create mode 100644 naiveproxy/src/third_party/boringssl/src/util/bazel-example/example.cc create mode 100644 naiveproxy/src/third_party/boringssl/src/util/util.bzl delete mode 100644 naiveproxy/src/third_party/libc++/src/test/.clang-format delete mode 100644 naiveproxy/src/third_party/libc++/src/test/.clang-tidy delete mode 100644 naiveproxy/src/third_party/libc++/src/test/CMakeLists.txt delete mode 100644 naiveproxy/src/third_party/libc++/src/test/configs/apple-libc++-backdeployment.cfg.in delete mode 100644 naiveproxy/src/third_party/libc++/src/test/configs/apple-libc++-shared.cfg.in delete mode 100644 naiveproxy/src/third_party/libc++/src/test/configs/armv7m-picolibc-libc++.cfg.in delete mode 100644 naiveproxy/src/third_party/libc++/src/test/configs/cmake-bridge.cfg.in delete mode 100644 naiveproxy/src/third_party/libc++/src/test/configs/ibm-libc++-shared.cfg.in delete mode 100644 naiveproxy/src/third_party/libc++/src/test/configs/llvm-libc++-android-ndk.cfg.in delete mode 100644 naiveproxy/src/third_party/libc++/src/test/configs/llvm-libc++-mingw.cfg.in delete mode 100644 naiveproxy/src/third_party/libc++/src/test/configs/llvm-libc++-shared-clangcl.cfg.in delete mode 100644 naiveproxy/src/third_party/libc++/src/test/configs/llvm-libc++-shared-gcc.cfg.in delete mode 100644 naiveproxy/src/third_party/libc++/src/test/configs/llvm-libc++-shared-no-vcruntime-clangcl.cfg.in delete mode 100644 naiveproxy/src/third_party/libc++/src/test/configs/llvm-libc++-shared.cfg.in delete mode 100644 naiveproxy/src/third_party/libc++/src/test/configs/llvm-libc++-static-clangcl.cfg.in delete mode 100644 naiveproxy/src/third_party/libc++/src/test/configs/llvm-libc++-static.cfg.in delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.cxx1z.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.depr_in_cxx14.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/alg.modifying.operations/copy_move_nontrivial.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/alg.modifying.operations/copy_move_trivial.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/alg.modifying.operations/copy_move_unwrap_reverse.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/alg.sorting/alg.heap.operations/make.heap/complexity.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/alg.sorting/assert.min.max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/assert.sort.invalid_comparator.oob.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/assert.sort.invalid_comparator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/bad_comparator_values.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/invalid_comparator_utilities.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/alg.sorting/pstl.is_partitioned.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/bad_iterator_traits.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/callable.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/debug_less.inconsistent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/debug_less.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/debug_three_way_comp.inconsistent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/half_positive.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/lifetimebound.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/nth_element_stability.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/partial_sort_stability.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/pstl.libdispatch.chunk_partitions.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/pstl.robust_against_customization_points_not_working.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/robust_against_copying_comparators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/robust_against_cpp20_hostile_iterators.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/robust_against_using_non_transparent_comparators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/sort_stability.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_forward_iterator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_forward_range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_input_iterator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_input_range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_sentinel_for.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/assertions/customize_verbose_abort.compile-time.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/assertions/default_verbose_abort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/assertions/modes/debug.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/assertions/modes/enabling_assertions_enables_extensive_mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/assertions/modes/extensive.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/assertions/modes/fast.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/assertions/modes/hardening_mode_incorrect_value.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/assertions/modes/none.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/assertions/modes/override_with_debug_mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/assertions/modes/override_with_extensive_mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/assertions/modes/override_with_fast_mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/assertions/modes/override_with_unchecked_mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/assertions/single_expression.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/atomics/atomics.align/align.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/atomics/atomics.flag/init_bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/atomics/atomics.order/memory_order.underlying_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/atomics/atomics.syn/incompatible_with_stdatomic.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/atomics/bit-int.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/atomics/diagnose_invalid_memory_order.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/atomics/stdatomic.h.syn/dont_hijack_header.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/clang_modules_include.gen.py delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/clang_tidy.gen.py delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/concepts/concepts.arithmetic/__libcpp_integer.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/concepts/concepts.arithmetic/__libcpp_signed_integer.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/concepts/concepts.arithmetic/__libcpp_unsigned_integer.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/associative/map/at.abort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/associative/map/at.const.abort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/associative/map/find.modules.compile.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/associative/non_const_comparator.incomplete.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/associative/non_const_comparator.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/associative/tree_left_rotate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/associative/tree_remove.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/associative/tree_right_rotate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/gnu_cxx/hash_map.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/gnu_cxx/hash_map_name_lookup.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/gnu_cxx/hash_set.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/gnu_cxx/hash_set_name_lookup.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/array/array.zero/assert.back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/array/array.zero/assert.front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/array/array.zero/assert.subscript.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/array/triviality.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/deque/abi.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/deque/asan.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/deque/asan_caterpillar.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/deque/asan_turning_off.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/deque/assert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/deque/assert.pop_back.empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/deque/incomplete.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/deque/segmented_iterator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/list/abi.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/list/list.cons/debug.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/list/list.modifiers/assert.erase_iter.end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/list/list.modifiers/assert.pop_back.empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/list/list.modifiers/debug.emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/list/list.modifiers/debug.erase.iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/list/list.modifiers/debug.erase.iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/list/list.ops/debug.splice.pos_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/list/list.ops/debug.splice.pos_list_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/list/list.ops/debug.splice.pos_list_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector.bool/abi.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector.bool/trivial_for_purposes_of_call.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/abi.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/asan.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/asan_throw.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/asan_turning_off.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/assert.back.empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/assert.cback.empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/assert.cfront.empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/assert.cindex.oob.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/assert.front.empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/assert.index.oob.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/assert.pop_back.empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/const_T.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/const_value_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/debug.iterator.add.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/debug.iterator.compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/debug.iterator.decrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/debug.iterator.dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/debug.iterator.increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/debug.iterator.index.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/debug.iterator.subtract.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/erase.modules.compile.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/exception_safety_exceptions_disabled.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/invalid_allocator.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/robust_against_adl.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/strings/basic.string/asan.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/strings/basic.string/asan_turning_off.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/key_value_traits.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/next_pow2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/next_prime.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/non_const_comparator.incomplete.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/non_const_comparator.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.map/assert.bucket.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.map/assert.bucket_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.map/assert.iterator.dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.map/assert.iterator.increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.map/assert.local_iterator.dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.map/assert.local_iterator.increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.map/assert.max_load_factor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.map/at.abort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.map/at.const.abort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.map/debug.insert.hint_const_lvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.map/debug.insert.hint_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.map/debug.swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.map/unord.map.modifiers/debug.erase.iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.map/unord.map.modifiers/debug.erase.iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multimap/assert.bucket.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multimap/assert.bucket_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multimap/assert.iterator.dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multimap/assert.iterator.increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multimap/assert.local_iterator.dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multimap/assert.local_iterator.increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multimap/assert.max_load_factor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multimap/debug.insert.hint_const_lvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multimap/debug.insert.hint_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multimap/debug.swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/debug.erase.iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/debug.erase.iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multiset/assert.bucket.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multiset/assert.bucket_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multiset/assert.iterator.dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multiset/assert.iterator.increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multiset/assert.local_iterator.dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multiset/assert.local_iterator.increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multiset/assert.max_load_factor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multiset/debug.erase.iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multiset/debug.erase.iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multiset/debug.insert.hint_const_lvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.multiset/debug.swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.set/assert.bucket.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.set/assert.bucket_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.set/assert.iterator.dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.set/assert.iterator.increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.set/assert.local_iterator.dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.set/assert.local_iterator.increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.set/assert.max_load_factor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.set/debug.erase.iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.set/debug.erase.iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.set/debug.insert.hint_const_lvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.set/debug.swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/unord/unord.set/missing_hash_specialization.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/extents/assert.conversion.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_integral.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_span.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/extents/assert.obs.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_left/assert.conversion.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.extents.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.layout_right.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.layout_stride.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_left/assert.index_operator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_left/assert.stride.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_right/assert.conversion.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.extents.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.layout_left.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.layout_stride.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_right/assert.index_operator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_right/assert.stride.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.non_unique.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.non_unique.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_stride/assert.index_operator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/layout_stride/assert.stride.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/mdspan/assert.conversion.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/mdspan/assert.index_operator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/mdspan/mdspan/assert.size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/views.span/assert.iterator-indexing.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/views.span/span.cons/assert.iter_sent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/views.span/span.cons/assert.iter_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/views.span/span.cons/assert.other_span.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/views.span/span.cons/assert.range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/views.span/span.elem/assert.back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/views.span/span.elem/assert.front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/views.span/span.elem/assert.op_idx.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/views.span/span.sub/assert.first.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/views.span/span.sub/assert.last.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/containers/views/views.span/span.sub/assert.subspan.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/debug/containers.multithread.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/debug/containers/sequence_container_iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/debug/containers/string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/debug/containers/unord_containers.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.auto.ptr/auto.ptr/auto_ptr.cxx1z.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.auto.ptr/auto.ptr/auto_ptr.depr_in_cxx11.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.c.headers/math_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.c.headers/stdint_h.std_types_t.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.c.headers/stdint_h.xopen_source.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx20.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx20.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.default.allocator/allocator.members/address.depr_in_cxx17.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx20.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx20.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.depr_in_cxx17.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx20.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx20.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx20.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx20.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.default.allocator/allocator_types.cxx20.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.func.adaptor.typedefs/typedefs.depr_in_cxx17.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.function.objects/adaptors.depr_in_cxx11.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/depr.function.objects/depr.adaptors.cxx1z.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/enable_removed_cpp17_features.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/enable_removed_cpp17_features.deprecated.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/enable_removed_cpp20_features.deprecated.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/exception.unexpected/get_unexpected.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/exception.unexpected/set_unexpected.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/exception.unexpected/unexpected.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/depr/exception.unexpected/unexpected_disabled_cpp17.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/bit.nodiscard_extensions.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/bit.nodiscard_extensions.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/format.nodiscard_extensions.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/format.nodiscard_extensions.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/limits.nodiscard_extensions.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/limits.nodiscard_extensions.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/math_nodiscard_extensions.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/nodiscard.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/nodiscard_aftercxx17.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/nodiscard_extensions.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/nodiscard_extensions.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/pstl.nodiscard_extensions.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/pstl.nodiscard_extensions.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/ranges.nodiscard_extensions.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/ranges.nodiscard_extensions.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/diagnostics/view_adaptors.nodiscard_extensions.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/double_include.gen.py delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/experimental/fexperimental-library.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/extensions/hash/specializations.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/extensions/hash/specializations.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/extensions/hash_map/const_iterator.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/gdb/gdb_pretty_printer_test.py delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/header_inclusions.gen.py delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/headers_in_modulemap.sh.py delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/include_as_c.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/file.streams/fstreams/fstream.close.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/file.streams/fstreams/fstream.cons/wchar_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/file.streams/fstreams/fstream.members/open_wchar_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/file.streams/fstreams/ifstream.cons/test.dat delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/file.streams/fstreams/ifstream.cons/wchar_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/file.streams/fstreams/ifstream.members/open_wchar_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/file.streams/fstreams/ifstream.members/test.dat delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/file.streams/fstreams/ofstream.cons/wchar_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/file.streams/fstreams/ofstream.members/open_wchar_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/file.streams/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/filesystems/class.path/path.itr/assert.iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/filesystems/class.path/path.member/path.native.obs/string_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/iostream.format/input.streams/traits_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/iostream.format/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/vprint_unicode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/iostream.format/output.streams/ostream.syn/includes.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/iostream.format/print.fun/transcoding.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/iostream.format/print.fun/vprint_unicode_posix.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/iostream.format/print.fun/vprint_unicode_windows.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/iostream.objects/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/iostreams.base/ios.base/ios.base.cons/dtor.uninitialized.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/iostreams.base/ios/iostate.flags/clear.abort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/iostreams.base/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/stream.buffers/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/string.streams/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/input.output/string.streams/traits_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/assert.advance.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/assert.next.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/assert.prev.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/bounded_iter/comparison.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/bounded_iter/dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/contiguous_iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/iterator.concepts/iterator.concept.random.access/subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_bidirectional_iterator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_forward_iterator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_input_iterator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_iterator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_random_access_iterator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/locale_dependent.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_concepts.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_traits.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/iterator.requirements/iterator.concepts/integer_like.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/iterator_with_data.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/predef.iterators/counted.iterator/assert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/get_container.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/predef.iterators/iterators.common/assert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/predef.iterators/reverse.iterators/bad_template_argument.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/failed.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/iterators/unwrap_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/language.support/cxa_deleted_virtual.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/language.support/support.c.headers/support.c.headers.other/math.lerp.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/language.support/support.dynamic/assert.nothrow_new_not_overridden_fno_exceptions.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/language.support/support.dynamic/new_dont_return_nullptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/language.support/support.dynamic/new_faligned_allocation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/language.support/support.rtti/type.info/type_info.comparison.apple.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/language.support/support.rtti/type.info/type_info.comparison.merged.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/language.support/support.rtti/type.info/type_info.comparison.unmerged.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/language.support/support.types/cstddef.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/language.support/timespec_get.xopen.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/libcpp_alignof.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/libcpp_freestanding.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/libcpp_version.gen.py delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/lint/lint_cmakelists.sh.py delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/lint/lint_headers.sh.py delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/localization/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/localization/locale.categories/__scan_keyword.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/localization/locales/locale.abort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/localization/locales/locale.category.abort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/ctor_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/localization/locales/locale/locale.types/locale.facet/facet.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/localization/locales/locale/locale.types/locale.facet/no_allocation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/localization/locales/locale/locale.types/locale.id/id.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/localization/locales/use_facet.abort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/mem/mem.res/nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/memory/aligned_allocation_macro.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/memory/allocation_guard.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/memory/allocator_void.trivial.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/memory/allocator_volatile.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/memory/compressed_pair/compressed_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/memory/is_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/memory/shared_ptr_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/memory/swap_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/memory/trivial_abi/shared_ptr_arg.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/memory/trivial_abi/unique_ptr_arg.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/memory/trivial_abi/unique_ptr_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/memory/trivial_abi/unique_ptr_destruction_order.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/memory/trivial_abi/weak_ptr_ret.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/memory/uninitialized_allocator_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/minimal_cxx11_configuration.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/module_std.gen.py delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/module_std_compat.gen.py delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/no_assert_include.gen.py delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/bit.ops.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/c.math/constexpr-cxx23-clang.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/c.math/constexpr-cxx23-gcc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/c.math/constexpr-fns.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/c.math/fdelayed-template-parsing.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/clamp_to_integral.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/complex.number/__sqr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/numarray/class.gslice.array/assert.get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/numarray/class.gslice.array/get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/numarray/class.indirect.array/assert.get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/numarray/class.indirect.array/get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/numarray/class.mask.array/assert.get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/numarray/class.mask.array/get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/numarray/class.slice.array/assert.get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/numarray/class.slice.array/get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/numeric.ops/midpoint.integer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.device/has-no-random-device.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/bad_engine.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.req.urng/valid_int_type.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/numerics/rand/rand.req.urng/valid_real_type.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/odr_signature.exceptions.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/odr_signature.hardening.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.access/end.incomplete_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.adaptor.helpers/as-lvalue.lifetimebound.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.adaptor.helpers/as-lvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.adaptor.helpers/tuple-for-each.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.all/all.nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.chunk.by/adaptor.nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.chunk.by/assert.begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.chunk.by/assert.find-next.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.chunk.by/assert.find-prev.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.chunk.by/no_unique_address.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/assert.deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/assert.increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.chunk.by/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.common.view/adaptor.nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.counted/adaptor.nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.drop.while/assert.begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.elements/elements_view.no_unique_address.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.elements/sentinel.no_unique_address.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.join/range.join.iterator/ctor.parent.outer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.join/range.join.iterator/ctor.parent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.join/range.join.iterator/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.join/segmented_iterator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.lazy.split/no_unique_address.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/assert.equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/assert.equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.lazy.split/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.move.wrap/arrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.move.wrap/assign.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.move.wrap/assign.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.move.wrap/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.move.wrap/ctor.in_place.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.move.wrap/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.move.wrap/empty_object.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.move.wrap/has_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.move.wrap/no_unique_address.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.move.wrap/properties.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.move.wrap/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.reverse/adaptor.nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.split/no_unique_address.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.adaptors/range.transform/adaptor.nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.factories/range.istream.view/no_unique_address.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.factories/range.repeat.view/ctor.piecewise.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.factories/range.repeat.view/ctor.value.bound.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.factories/range.repeat.view/no_unique_address.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.factories/range.single.view/no_unique_address.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.nonprop.cache/assign.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.nonprop.cache/assign.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.nonprop.cache/constraints.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.nonprop.cache/ctor.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.nonprop.cache/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.nonprop.cache/ctor.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.nonprop.cache/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.nonprop.cache/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.nonprop.cache/emplace_from.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.nonprop.cache/has_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.utility.helpers/different_from.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.utility.helpers/has_arrow.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.utility.helpers/simple_view.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.utility/range.utility.conv/to.internal_constraints.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.utility/range.utility.conv/to.nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/ranges/range.utility/range.utility.conv/to.static_assert.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/additional_compile_flags/conditional-compile-flags.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/additional_compile_flags/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/additional_compile_flags/substitutes-in-compile-flags.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/additional_compile_flags/substitutes-in-run.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/compile.fail.cpp/compile-error.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/compile.fail.cpp/compile-success.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/compile.pass.cpp/compile-error.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/compile.pass.cpp/compile-success.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/compile.pass.cpp/link-error.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/compile.pass.cpp/run-error.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/compile.pass.mm/compile-error.compile.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/compile.pass.mm/compile-success.compile.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/compile.pass.mm/link-error.compile.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/compile.pass.mm/run-error.compile.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/convenience_substitutions/build_run.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/convenience_substitutions/verify.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/dsl/dsl.sh.py delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/dsl/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/file_dependencies/absolute-and-relative-paths.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/file_dependencies/substitute-in-dependencies.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/gen.cpp/empty.gen.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/gen.cpp/one.gen.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/gen.cpp/two.gen.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/link.fail.cpp/compile-error.link.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/link.fail.cpp/link-error.link.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/link.fail.cpp/link-success.link.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/link.pass.cpp/compile-error.link.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/link.pass.cpp/link-error.link.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/link.pass.cpp/link-success.link.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/link.pass.cpp/run-error.link.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/link.pass.mm/compile-error.link.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/link.pass.mm/link-error.link.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/link.pass.mm/link-success.link.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/link.pass.mm/run-error.link.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/modules/no-modules.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/modules/std-and-std.compat-module.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/modules/std-module.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/modules/std.compat-module.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/pass.cpp/compile-error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/pass.cpp/link-error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/pass.cpp/run-error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/pass.cpp/run-success.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/pass.cpp/werror.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/pass.mm/compile-error.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/pass.mm/link-error.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/pass.mm/no-arc.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/pass.mm/run-error.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/pass.mm/run-success.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/pass.mm/use-objective-cxx.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/remote-substitutions.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/sh.cpp/run-error.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/sh.cpp/run-success.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/sh.cpp/substitutions.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/sh.cpp/werror.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/shell-no-escape-builtins.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/stdin-is-piped.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/test_macros.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/tmpdir-exists.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/verify.cpp/no-diagnostics-unmarked.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/verify.cpp/no-diagnostics.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/verify.cpp/no-werror.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/verify.cpp/right-diagnostic.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/selftest/verify.cpp/wrong-diagnostic.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/alignof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/sizeof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.access/assert.back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.access/assert.cback.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.access/assert.cfront.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.access/assert.cindex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.access/assert.front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.access/assert.index.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.capacity/PR53170.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.cons/constinit_sso_string.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.cons/copy_shrunk_long.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.cons/debug.iterator.substr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.iterators/debug.iterator.add.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.iterators/debug.iterator.compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.iterators/debug.iterator.decrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.iterators/debug.iterator.dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.iterators/debug.iterator.increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.iterators/debug.iterator.index.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.iterators/debug.iterator.subtract.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.modifiers/assert.erase_iter.null.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.modifiers/assert.pop_back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.modifiers/clear_and_shrink.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.modifiers/debug.erase.iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.modifiers/debug.erase.iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.modifiers/debug.insert.iter_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.modifiers/debug.insert.iter_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.modifiers/debug.insert.iter_size_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/basic.string/string.modifiers/resize_default_initialized.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/c.strings/constexpr.cstring.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/c.strings/constexpr.cwchar.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/c.strings/constexpr_memmove.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/string.view/assert.ctor.length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/string.view/assert.ctor.pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/strings/string.view/string.view.iterators/assert.iterator-indexing.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/system_reserved_names.gen.py delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/atomic.availability.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/barrier.availability.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/futures/futures.promise/assert.set_exception.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/futures/futures.promise/assert.set_exception_at_thread_exit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/futures/futures.task/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/latch.availability.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/semaphore.availability.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.barrier/assert.arrive.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.barrier/assert.ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.condition/PR30202_notify_from_pthread_created_thread.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.condition/thread.condition.condvar/native_handle.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.latch/assert.arrive_and_wait.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.latch/assert.count_down.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.latch/assert.ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.lock/thread.lock.guard/nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/native_handle.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/native_handle.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.mutex/thread_safety_annotations_not_enabled.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.mutex/thread_safety_lock_guard.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.mutex/thread_safety_lock_unlock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.mutex/thread_safety_missing_unlock.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.mutex/thread_safety_requires_capability.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.semaphore/assert.ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.semaphore/assert.release.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.shared_mutex/thread_safety.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.shared_timed_mutex/thread_safety.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.stoptoken/atomic_unique_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.stoptoken/intrusive_list_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.stoptoken/intrusive_shared_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.threads/create_late.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.threads/thread.thread.class/thread.thread.member/native_handle.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.threads/thread.thread.class/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.signals.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/time/convert_to_tm.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/time/time.zone/time.zone.db/links.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/time/time.zone/time.zone.db/time.zone.db.list/erase_after.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/time/time.zone/time.zone.db/version.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/transitive_includes.gen.py delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/transitive_includes/cxx03.csv delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/transitive_includes/cxx11.csv delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/transitive_includes/cxx14.csv delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/transitive_includes/cxx17.csv delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/transitive_includes/cxx20.csv delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/transitive_includes/cxx23.csv delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/transitive_includes/cxx26.csv delete mode 100755 naiveproxy/src/third_party/libc++/src/test/libcxx/transitive_includes_to_csv.py delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/type_traits/convert_to_integral.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/type_traits/datasizeof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/type_traits/is_always_bitcastable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/type_traits/is_callable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/type_traits/is_constant_evaluated.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/type_traits/is_implicitly_default_constructible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/type_traits/is_pointer.arc.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/type_traits/is_scalar.objc.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/type_traits/is_specialization.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/type_traits/is_specialization.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/type_traits/lazy_metafunctions.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/any/allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/any/size_and_alignment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/any/small_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/assert.exception_guard.no_exceptions.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/exception_guard.no_exceptions.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/exception_guard.odr.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/exception_guard.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.expected/and_then.mandates.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.expected/assert.arrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.expected/assert.deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.expected/assert.error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.expected/error_or.mandates.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.expected/no_unique_address.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.expected/noexcept.extension.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.expected/or_else.mandates.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.expected/transform_error.mandates.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.expected/value.observers.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.expected/value_or.mandates.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.unexpected/class.mandates.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.unexpected/noexcept.extension.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.unexpected/swap.mandates.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.void/and_then.mandates.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.void/assert.deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.void/assert.error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.void/error_or.mandates.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.void/no_unique_address.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.void/noexcept.extension.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.void/or_else.mandates.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.void/transform_error.mandates.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/expected.void/value.lwg3940.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expected/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/expol/policies.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/format/enable_insertable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/format/format.arguments/format.arg/arg_t.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/format/format.formatter/format.context/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/format/format.functions/ascii.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/format/format.functions/escaped_output.ascii.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/format/format.string/format.string.std/code_point_width_estimation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/format/format.string/format.string.std/concepts_precision.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/format/format.string/format.string.std/test_exception.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/function.objects/func.bind.partial/bind_back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/function.objects/func.bind.partial/compose.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/function.objects/func.blocks.arc.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/function.objects/func.blocks.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/function.objects/func.require/bullet_1_2_3.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/function.objects/func.require/bullet_4_5_6.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/function.objects/func.require/bullet_7.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/function.objects/func.require/invoke.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/function.objects/func.require/invoke_helpers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/move_reentrant.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign_reentrant.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/function.objects/refwrap/binary.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/function.objects/refwrap/layout.binary.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/function.objects/refwrap/layout.unary.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/function.objects/refwrap/unary.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/function.objects/unord.hash/murmur2_or_cityhash_ubsan_unsigned_overflow_ignored.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/intseq/for_each_index_sequence.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/is_pointer_in_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/memory/pointer.conversion/to_address.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/memory/pointer.conversion/to_address_on_funcptr.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/memory/pointer.conversion/to_address_on_function.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/memory/pointer.conversion/to_address_std_iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/memory/ptr.align/assume_aligned.const_eval.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/memory/ptr.align/assume_aligned.power2.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/memory/util.smartptr/race_condition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/function_type_default_deleter.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/libcxx.control_block_layout.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared.array.zero_size.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.array.zero_size.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/meta/is_referenceable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/meta/meta_base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/meta/stress_tests/stress_test_is_same.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/meta/stress_tests/stress_test_metafunctions.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/meta/stress_tests/stress_test_variant_overloads_impl.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/optional/block.objc.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/optional/optional.object/optional.object.assign/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/optional/optional.object/optional.object.assign/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/optional/optional.object/optional.object.observe/assert.dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/optional/optional.object/optional.object.observe/assert.op_arrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/optional/optional.object/optional_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/optional/optional.object/triviality.abi.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/smartptr/unique.ptr/null.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/template.bitset/includes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/tuple/__tuple_like.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/tuple/tuple.tuple/empty_member.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/tuple/tuple.tuple/tuple.assign/array.extension.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/tuple/tuple.tuple/tuple.assign/tuple_array_template_depth.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/PR20855_tuple_ref_binding_diagnostics.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/__is_inplace_index.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/__is_inplace_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/__murmur2_or_cityhash.abi-v1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/__murmur2_or_cityhash.abi-v2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/forward/lifetimebound.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate_vocabulary.attributes.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/assert.deallocate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_piecewise_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_from_underaligned_buffer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_in_geometric_progression.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/mem.res/mem.res.pool/unsynchronized_buffer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/mem.res/pmr.availability.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/pairs/pairs.pair/U_V.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/pairs/pairs.pair/assign_tuple_like.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/pairs/pairs.pair/const_first_const_second.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/pairs/pairs.pair/const_pair_U_V.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/pairs/pairs.pair/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/pairs/pairs.pair/non_trivial_copy_move_ABI.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/pairs/pairs.pair/pair.tuple_element.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/pairs/pairs.pair/piecewise.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/pairs/pairs.pair/rv_pair_U_V.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/pairs/pairs.pair/trivial_copy_move_ABI.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/utility/small_buffer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/variant/variant.variant/variant.helper/variant_alternative.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/utilities/variant/variant.variant/variant_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/vendor/apple/availability-with-pedantic-errors.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/vendor/apple/system-install-properties.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/vendor/clang-cl/static-lib-exports.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/vendor/ibm/bad_function_call.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/libcxx/vendor/mingw/static-lib-exports.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/lit.cfg.py delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.c.library/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.copy/pstl.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.copy/pstl.copy_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.segmented.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.segmented.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.segmented.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.exception_handling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.generate/generate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.generate/generate_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.generate/pstl.generate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.generate/pstl.generate_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.move/contiguous_trivial_optimization.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.move/pstl.exception_handling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.move/pstl.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.segmented.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.segmented.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_point.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_point.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_stable_partition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.random.sample/ranges_sample.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.random.sample/sample.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.random.sample/sample.stable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.random.sample/sample.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_rand.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_urng.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/ranges_shuffle.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.remove/ranges.remove.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.remove/ranges.remove_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.remove/remove.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.exception_handling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_copy_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.replace_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.replace/ranges.replace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.replace/ranges.replace_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.replace/replace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.replace/replace_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.reverse/ranges.reverse.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.reverse/ranges.reverse_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.rotate/pstl.exception_handling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.rotate/pstl.rotate_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.rotate/ranges.rotate_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.rotate/ranges_rotate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.shift/shift_left.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.shift/shift_right.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.swap/iter_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.swap/ranges.swap_ranges.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.transform/binary_transform.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.exception_handling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.transform.binary.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.transform.unary.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.binary.range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.unary.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.transform/unary_transform.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.unique/unique.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.modifying.operations/alg.unique/unique_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/ranges.adjacent_find.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.all_of.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.all_of/ranges.all_of.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.any_of.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.exception_handling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.any_of/ranges.any_of.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains_subrange.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.count/pstl.count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.count/pstl.count_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.count/ranges.count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.count/ranges.count_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.ends_with/ranges.ends_with.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.exception_handling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.find.end/ranges.find_end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.find.first.of/ranges.find_first_of.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.find/pstl.exception_handling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if_not.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find_if_not.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.fold/requirements.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.exception_handling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.is_permutation/ranges.is_permutation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.exception_handling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.none_of.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.none_of/ranges.none_of.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/alg.starts_with/ranges.starts_with.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.nonmodifying/mismatch/ranges_mismatch.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.binary.search/binary.search/binary_search.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.binary.search/binary.search/binary_search_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.binary.search/binary.search/ranges.binary_search.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/equal_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/equal_range_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/ranges_equal_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.binary.search/lower.bound/lower_bound.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.binary.search/lower.bound/lower_bound_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.binary.search/lower.bound/ranges.lower_bound.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.binary.search/upper.bound/ranges.upper_bound.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.binary.search/upper.bound/upper_bound.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.binary.search/upper.bound/upper_bound_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.clamp/assert.ranges_clamp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.clamp/clamp.comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.clamp/clamp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.clamp/ranges.clamp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap_until.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/make_heap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/make_heap_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/ranges_make_heap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/assert.pop_heap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/assert.ranges_pop_heap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/pop_heap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/pop_heap_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/ranges_pop_heap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/push_heap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/push_heap_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/ranges_push_heap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/complexity.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/ranges_sort_heap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/sort_heap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/sort_heap_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.lex.comparison/ranges.lexicographical_compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.merge/inplace_merge.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.merge/merge.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.merge/merge_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.merge/pstl.exception_handling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.merge/pstl.merge.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.merge/ranges_inplace_merge.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.merge/ranges_merge.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/max_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/max_element.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/max_element_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/max_init_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/max_init_list_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/min_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/min_element.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/min_element_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/min_init_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/min_init_list_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/minmax.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/minmax_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/minmax_element.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/minmax_element_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/ranges.max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/ranges.max_element.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/ranges.min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/ranges.min_element.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/ranges.minmax.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/ranges.minmax_element.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.min.max/requires_forward_iterator.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.nth.element/nth_element.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.nth.element/nth_element_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.nth.element/ranges_nth_element.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.partitions/pstl.is_partitioned.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.partitions/ranges.is_partitioned.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.permutation.generators/next_permutation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.permutation.generators/next_permutation_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.permutation.generators/prev_permutation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.permutation.generators/prev_permutation_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.permutation.generators/ranges.next_permutation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.permutation.generators/ranges.prev_permutation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.set.operations/includes/includes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.set.operations/includes/includes_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.set.operations/includes/ranges_includes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/ranges_set_difference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/set_difference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/set_difference_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/ranges_set_intersection.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/ranges_set_symmetric_difference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/set_symmetric_difference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/set_symmetric_difference_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.set.operations/set.union/ranges_set_union.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.set.operations/set.union/set_union.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.set.operations/set.union/set_union_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.set.operations/set.union/set_union_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/is.sorted/ranges.is_sorted.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/is.sorted/ranges.is_sorted_until.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/partial.sort.copy/partial_sort_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/partial.sort.copy/partial_sort_copy_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/partial.sort.copy/ranges_partial_sort_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/partial.sort/ranges_partial_sort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/sort/pstl.sort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/sort/ranges.sort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/sort/sort_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/sort/sort_constexpr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/sort/sort_constexpr_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.exception_handling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.stable_sort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/stable.sort/ranges.stable.sort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.three.way/lexicographical_compare_three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.three.way/lexicographical_compare_three_way_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/alg.three.way/lexicographical_compare_three_way_comp.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/alg.sorting/sortable_helpers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/algorithms.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/algorithms.results/in_found_result.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/algorithms.results/in_fun_result.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/algorithms.results/in_in_out_result.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/algorithms.results/in_in_result.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/algorithms.results/in_out_out_result.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/algorithms.results/in_out_result.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/algorithms.results/in_value_result.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/algorithms.results/min_max_result.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/algorithms.results/no_unique_address.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/numeric.ops/reduce/pstl.exception_handling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/numeric.ops/reduce/pstl.reduce.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/numeric.ops/transform.reduce/pstl.exception_handling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/ranges_robust_against_dangling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/ranges_robust_against_differing_projections.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/ranges_robust_against_nonbool.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/robust_against_adl.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/robust_against_adl_on_new.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/robust_against_proxy_iterators_lifetime_bugs.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/algorithms/robust_re_difference_type.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.fences/atomic_signal_fence.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.fences/atomic_thread_fence.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.flag/atomic_flag_clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.flag/atomic_flag_clear_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.flag/atomic_flag_test.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.flag/atomic_flag_test_and_set.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.flag/atomic_flag_test_and_set_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.flag/atomic_flag_test_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.flag/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.flag/copy_assign.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.flag/copy_ctor.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.flag/copy_volatile_assign.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.flag/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.flag/init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.flag/test_and_set.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.general/replace_failure_order.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.general/replace_failure_order_codegen.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.lockfree/lockfree.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.order/kill_dependency.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.order/memory_order.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.order/memory_order_new.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.syn/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/address.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_strong.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/copy.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/test_helper.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/constexpr_noexcept.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/copy_semantics_traits.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/cstdint_typedefs.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/general.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/integral.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/integral_typedefs.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/pointer.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/standard_layout.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/throw.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/trivially_copyable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.generic/trivially_copyable.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.arith/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.pointer/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_var_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/copy.assign.ptr.volatile.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/copy.assign.volatile.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.req/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.templ/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_one.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/stdatomic.h.syn/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/atomics/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.callable/concept.equiv/equivalence_relation.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.callable/concept.equiv/equivalence_relation.subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.callable/concept.invocable/invocable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.callable/concept.predicate/predicate.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.callable/concept.predicate/predicate.subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.callable/concept.regularinvocable/regular_invocable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.callable/concept.relation/relation.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.callable/concept.relation/relation.subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.callable/concept.strictweakorder/strict_weak_order.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.callable/concept.strictweakorder/strict_weak_order.subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable_with.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered_with.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concept.assignable/assignable_from.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concept.common/common_with.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concept.commonref/common_reference.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concept.constructible/constructible_from.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concept.convertible/convertible_to.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concept.copyconstructible/copy_constructible.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concept.default.init/default_initializable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concept.default.init/default_initializable.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concept.derived/derived_from.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concept.destructible/destructible.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concept.moveconstructible/move_constructible.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concept.same/same_as.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concept.swappable/swappable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concept.swappable/swappable_with.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concepts.arithmetic/arithmetic.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concepts.arithmetic/floating_point.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concepts.arithmetic/integral.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concepts.arithmetic/signed_integral.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.lang/concepts.arithmetic/unsigned_integral.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.object/copyable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.object/movable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.object/regular.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/concepts/concepts.object/semiregular.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/Copyable.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/Emplaceable.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/NotConstructible.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/from_range_associative_containers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/iterator_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/PR28469_undefined_behavior_segfault.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/allocator_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/gcc_workaround.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/get_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/incomplete_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.access/at.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.access/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.access/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.access/index_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.access/index_tuple.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.access/iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.access/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.access/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/assign_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/compare_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/compare_copy_constructible.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/copy_assign.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/deduct_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/default_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/default_recursive.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/dtor_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/initializer_list_compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/initializer_list_compare_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/iter_iter_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/iter_iter_comp_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/move_assign_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/emplace_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/erase_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/erase_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/erase_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/extract_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/extract_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/insert_and_emplace_allocator_requirements.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/insert_cv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/insert_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/insert_iter_cv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/insert_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/insert_iter_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/insert_node_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/insert_node_type_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/insert_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/insert_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/merge.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.modifiers/try.emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.nonmember/compare.three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.nonmember/compare.three_way.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.nonmember/op_compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.observers/key_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.observers/value_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/contains.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/contains_transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/count0.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/count1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/count2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/count3.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/equal_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/equal_range0.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/equal_range1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/equal_range2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/equal_range3.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/equal_range_transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/find.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/find0.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/find1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/find2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/find3.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/lower_bound.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/lower_bound0.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/lower_bound1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/lower_bound2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/lower_bound3.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/upper_bound.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/upper_bound0.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/upper_bound1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/upper_bound2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.ops/upper_bound3.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.special/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.special/non_member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.special/swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.value_compare/invoke.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/map.value_compare/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/map/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/allocator_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/get_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/incomplete_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/assign_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/compare_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/compare_copy_constructible.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/copy_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/copy_assign.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/deduct_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/default_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/default_recursive.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/dtor_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/initializer_list_compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/initializer_list_compare_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/iter_iter_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/iter_iter_comp_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/move_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/move_assign_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.cons/move_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.erasure/erase_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/emplace_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/erase_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/erase_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/erase_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/extract_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/extract_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/insert_allocator_requirements.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/insert_cv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/insert_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_cv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/insert_node_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/insert_node_type_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/insert_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/insert_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.modifiers/merge.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.nonmember/compare.three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.nonmember/compare.three_way.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.nonmember/op_compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.observers/key_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.observers/value_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/count0.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/count1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/count2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/count3.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/count_transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/equal_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/equal_range0.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/equal_range1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/equal_range2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/equal_range3.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/equal_range_transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/find.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/find0.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/find1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/find2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/find3.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/lower_bound.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/lower_bound0.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/lower_bound1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/lower_bound2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/lower_bound3.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/upper_bound.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/upper_bound0.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/upper_bound1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/upper_bound2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.ops/upper_bound3.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.special/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.special/non_member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.special/swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.value_compare/invoke.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/multimap.value_compare/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/scary.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multimap/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/allocator_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/count_transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/emplace_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/equal_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/equal_range_transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/erase_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/erase_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/erase_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/extract_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/extract_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/find.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/get_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/incomplete_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/insert_cv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/insert_emplace_allocator_requirements.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/insert_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/insert_iter_cv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/insert_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/insert_iter_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/insert_node_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/insert_node_type_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/insert_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/insert_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/lower_bound.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/merge.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/assign_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/compare_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/compare_copy_constructible.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/copy_assign.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/default_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/dtor_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/move_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/move_assign_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.cons/move_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.erasure/erase_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.nonmember/compare.three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.nonmember/compare.three_way.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.nonmember/op_compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.observers/comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.special/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.special/non_member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/multiset.special/swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/scary.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/multiset/upper_bound.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/allocator_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/contains.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/contains_transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/count_transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/emplace_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/equal_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/equal_range_transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/erase_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/erase_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/erase_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/extract_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/extract_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/find.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/gcc_workaround.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/get_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/incomplete_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/insert_and_emplace_allocator_requirements.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/insert_cv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/insert_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/insert_iter_cv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/insert_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/insert_iter_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/insert_node_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/insert_node_type_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/insert_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/insert_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/lower_bound.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/merge.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/assign_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/compare_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/compare_copy_constructible.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/copy_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/copy_assign.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/default_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/dtor_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/initializer_list_compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/initializer_list_compare_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/iter_iter_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/iter_iter_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/move_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/move_assign_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.cons/move_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.erasure/erase_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.nonmember/compare.three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.nonmember/compare.three_way.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.nonmember/op_compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.observers/comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.special/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.special/non_member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/set.special/swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/associative/set/upper_bound.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/check_consecutive.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/container.adaptors.format/format.functions.format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/container.adaptors.format/format.functions.tests.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/container.adaptors.format/format.functions.vformat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/container.adaptors.format/format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/container.adaptors.format/parse.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/container.adaptors.format/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/from_range_container_adaptors.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_cont_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_rcont_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_copy_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_cont_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_rcont_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_move_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_copy.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_container.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_rcontainer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_constraint.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_cont.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_rcont.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/default_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/dtor_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/move_assign_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.cons/move_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.members/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.members/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.members/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.members/pop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.members/push.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.members/push_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.members/push_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.members/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.members/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.members/top.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/types.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/priority.queue/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/push_range_container_adaptors.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_queue_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_rcontainer_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_rqueue_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons/ctor_container.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons/ctor_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons/ctor_default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons/ctor_iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons/ctor_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons/ctor_rcontainer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons/default_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons/dtor_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons/from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons/move_assign_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.cons/move_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/assign_copy.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/assign_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/assign_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/back_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/front_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/pop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/push.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/push_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/push_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/types.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.defn/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.ops/compare.three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.ops/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.ops/lt.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.special/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/queue/queue.special/swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/compare.three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_copy_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_rcontainer_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_rqueue_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons/ctor_container.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons/ctor_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons/ctor_default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons/ctor_iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons/ctor_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons/ctor_rcontainer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons/default_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons/dtor_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons/from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons/move_assign_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.cons/move_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.defn/assign_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.defn/assign_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.defn/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.defn/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.defn/pop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.defn/push.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.defn/push_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.defn/push_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.defn/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.defn/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.defn/top.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.defn/top_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.defn/types.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.defn/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.ops/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.ops/lt.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.special/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.adaptors/stack/stack.special/swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.node/node_handle.nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.node/node_handle.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.requirements/associative.reqmts/associative.reqmts.except/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.requirements/container.requirements.dataraces/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.requirements/container.requirements.general/allocator_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.requirements/sequence.reqmts/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/container.requirements/unord.req/unord.req.except/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/containers.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/exception_safety_helpers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/from_range_helpers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/insert_range_helpers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/insert_range_maps_sets.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/iterator.rel_ops.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/map_allocator_requirement_test_templates.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/aggregate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.cons/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.cons/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.cons/implicit_copy.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.cons/implicit_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.cons/initialization.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.creation/to_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.creation/to_array.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.data/data.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.data/data_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.fill/fill.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.fill/fill.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.size/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.special/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.swap/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.swap/swap.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.tuple/get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.tuple/get.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.tuple/get_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.tuple/get_const_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.tuple/get_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.tuple/tuple_element.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.tuple/tuple_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/array.zero/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/at.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/at_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/compare.three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/compare.three_way.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/compare.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/contiguous.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/front_back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/front_back_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/indexing.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/indexing_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/array/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/allocator_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/compare.three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.capacity/access.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.capacity/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.capacity/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.capacity/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.capacity/resize_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.capacity/resize_size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.capacity/shrink_to_fit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.capacity/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/assign_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/assign_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/assign_size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/copy_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/default_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/dtor_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/initializer_list_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/iter_iter_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/move_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/move_assign.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/move_assign_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/move_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/op_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/op_equal_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.cons/size_value_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.erasure/erase.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.erasure/erase_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/append_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/assign_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/emplace_front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/erase_iter.invalidation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/erase_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/erase_iter_iter.invalidation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/erase_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/insert_iter_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/insert_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/insert_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/insert_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/insert_size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/insert_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/pop_back.invalidation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/pop_back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/pop_front.invalidation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/pop_front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/prepend_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/push_back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/push_back_exception_safety.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/push_back_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/push_front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/push_front_exception_safety.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.modifiers/push_front_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.special/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.special/copy_backward.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.special/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.special/move_backward.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.special/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/deque.special/swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/get_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/deque/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/allocator_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/compare.three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/exception_safety.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.access/front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_copy.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_op_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/copy_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/default_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/default_recursive.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/dtor_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/init_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/move_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/move_assign_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/move_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/range_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.iter/before_begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.iter/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/assign_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_after.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_many.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_one.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_range_after.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/pop_front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/prepend_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_lvalue.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_lvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_lvalue_pred.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_lvalue_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue_pred.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/remove.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/reverse.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/sort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/sort_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_flist.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_one.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/unique.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.spec/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.spec/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.spec/non_member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.spec/relational.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/get_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/incomplete.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/forwardlist/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/from_range_sequence_containers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/insert_range_sequence_containers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/allocator_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/compare.three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/exception_safety.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/get_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/incomplete_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.capacity/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.capacity/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.capacity/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.capacity/resize_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.capacity/resize_size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.capacity/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/assign_copy.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/assign_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/assign_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/assign_move.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/assign_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/copy_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/default_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/default_stack_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/dtor_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/initializer_list_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/input_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/move_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/move_assign_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/move_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/op_equal_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/size_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.cons/size_value_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.erasure/erase.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.erasure/erase_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/append_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/assign_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/emplace.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/emplace_back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/emplace_front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/erase_iter.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/erase_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/erase_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/insert_iter_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/insert_iter_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/insert_iter_rvalue.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/insert_iter_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/insert_iter_size_value.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/insert_iter_size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/insert_iter_value.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/insert_iter_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/insert_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/pop_back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/pop_front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/prepend_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/push_back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/push_back_exception_safety.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/push_back_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/push_front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/push_front_exception_safety.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.modifiers/push_front_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.ops/merge.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.ops/merge_comp.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.ops/merge_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.ops/remove.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.ops/reverse.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.ops/sort.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.ops/sort_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.ops/splice_pos_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.ops/splice_pos_list_iter.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.ops/splice_pos_list_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.ops/splice_pos_list_iter_iter.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.ops/splice_pos_list_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.ops/unique.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.special/swap.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.special/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/list.special/swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/list/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/append_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/assign_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/assign_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/assign_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/assign_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/capacity.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/compare.three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/const_reference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/construct_default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/construct_from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/construct_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/construct_iter_iter_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/construct_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/construct_size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/construct_size_value_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/copy_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/ctor_exceptions.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/default_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/dtor_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/emplace_back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/enabled_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/erase_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/erase_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/find.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/get_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/initializer_list_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/insert_iter_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/insert_iter_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/insert_iter_size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/insert_iter_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/insert_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/move_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/move_assign_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/move_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/op_equal_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/push_back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/reference.swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/reference/assign_bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/reference/assign_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/reference/ctor_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/reference/flip.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/reference/operator_bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/reference/triviality.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/reserve.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/resize_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/resize_size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/shrink_to_fit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.tests.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.vformat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/vector.bool.fmt/parse.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/vector.bool.fmt/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector.bool/vector_bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/access.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/allocator_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/compare.three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/constant_initialization.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/contiguous.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/get_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/reverse_iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.capacity/capacity.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.capacity/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.capacity/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.capacity/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.capacity/reserve.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.capacity/resize_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.capacity/resize_size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.capacity/shrink_to_fit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.capacity/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.capacity/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/assign_copy.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/assign_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/assign_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/assign_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/assign_move.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/assign_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/assign_size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/construct_default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/construct_from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/construct_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/construct_size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/construct_size_value_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/copy.move_only.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/copy_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/default.recursive.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/default_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/dtor_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/initializer_list_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/move.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/move_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/move_assign_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/move_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.cons/op_equal_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.data/data.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.data/data_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.erasure/erase.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.erasure/erase_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/append_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/assign_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/destory_elements.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/emplace.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/emplace_back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/emplace_extra.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/erase_iter.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/erase_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/erase_iter_iter.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/erase_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/insert_iter_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/insert_iter_lvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/insert_iter_rvalue.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/insert_iter_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/insert_iter_size_value.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/insert_iter_size_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/insert_iter_value.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/insert_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/pop_back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/push_back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/push_back_exception_safety.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/push_back_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.modifiers/resize_not_move_insertable.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.special/swap.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.special/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/sequences/vector/vector.special/swap_noexcept.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/set_allocator_requirement_test_templates.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/test_compare.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/test_hash.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/from_range_unordered_containers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/iterator_difference_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/allocator_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/bucket.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/bucket_count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/bucket_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/contains.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/contains.transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/count.transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/eq.different_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/equal_range.transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/equal_range_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/equal_range_non_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/erase_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/find.transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/find_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/find_non_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/get_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/hash_function.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/incomplete_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/iterator.operators.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/key_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/load_factor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/local_iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/max_bucket_count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/max_load_factor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/rehash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/reserve.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/swap_member.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/assign_copy.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/assign_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/assign_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/assign_move.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/assign_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/compare_copy_constructible.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/copy_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/deduct_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/default_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/dtor_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/hash_copy_constructible.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/init_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/iter_iter_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/iter_iter_size_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/iter_iter_size_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/iter_iter_size_hash_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/iter_iter_size_hash_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/iter_iter_size_hash_equal_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/move.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/move_alloc.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/move_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/move_assign_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/move_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/size.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/size_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/size_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/size_hash_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/size_hash_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.cnstr/size_hash_equal_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.elem/at.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.elem/index.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.elem/index_tuple.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/emplace_hint.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/emplace_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/erase_const_iter.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/erase_const_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/erase_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/erase_range.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/erase_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/extract_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/extract_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/insert_and_emplace_allocator_requirements.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/insert_const_lvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/insert_hint_const_lvalue.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/insert_hint_const_lvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/insert_hint_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/insert_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/insert_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/insert_node_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/insert_node_type_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/insert_or_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/insert_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/insert_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/insert_rvalue_constructible_value_type.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/insert_rvalue_value_type.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/merge.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/try.emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.modifiers/try_emplace_hint.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.swap/swap.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.swap/swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.map/unord.map.swap/swap_non_member.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/allocator_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/bucket.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/bucket_count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/bucket_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/contains.transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/count.transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/eq.different_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/equal_range.transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/equal_range_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/equal_range_non_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/erase_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/find.transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/find_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/find_non_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/get_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/hash_function.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/incomplete.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/iterators.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/key_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/load_factor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/local_iterators.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/local_iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/max_bucket_count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/max_load_factor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/rehash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/reserve.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/scary.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/swap_member.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_copy.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/compare_copy_constructible.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/copy_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/deduct_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/default_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/dtor_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/hash_copy_constructible.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/iter_iter_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/iter_iter_size_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/iter_iter_size_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/iter_iter_size_hash_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/iter_iter_size_hash_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/iter_iter_size_hash_equal_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_alloc.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_assign_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_hash_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_hash_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_hash_equal_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/emplace_hint.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/emplace_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_const_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/extract_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/extract_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_allocator_requirements.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_const_lvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_hint_const_lvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_hint_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_node_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_node_type_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/merge.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.swap/swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multimap/unord.multimap.swap/swap_non_member.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/allocator_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/bucket.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/bucket_count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/bucket_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/contains.transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/count.transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/emplace_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/eq.different_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/equal_range.transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/equal_range_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/equal_range_non_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/erase_const_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/erase_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/erase_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/erase_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/extract_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/extract_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/find.transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/find_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/find_non_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/get_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/hash_function.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/incomplete.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/insert_const_lvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/insert_emplace_allocator_requirements.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/insert_hint_const_lvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/insert_hint_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/insert_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/insert_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/insert_node_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/insert_node_type_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/insert_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/insert_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/iterators.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/key_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/load_factor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/local_iterators.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/local_iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/max_bucket_count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/max_load_factor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/merge.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/rehash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/reserve.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/scary.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/swap_member.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_copy.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/compare_copy_constructible.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/copy_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/default_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/dtor_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/hash_copy_constructible.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/iter_iter_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/iter_iter_size_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/iter_iter_size_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/iter_iter_size_hash_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/iter_iter_size_hash_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/iter_iter_size_hash_equal_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_alloc.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_assign_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_hash_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_hash_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_hash_equal_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.swap/swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.multiset/unord.multiset.swap/swap_non_member.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/allocator_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/bucket.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/bucket_count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/bucket_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/contains.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/contains.transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/count.transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/emplace_hint.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/emplace_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/eq.different_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/equal_range.transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/equal_range_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/equal_range_non_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/erase_const_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/erase_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/erase_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/erase_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/extract_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/extract_key.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/find.transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/find_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/find_non_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/get_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/hash_function.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/incomplete.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/insert_and_emplace_allocator_requirements.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/insert_const_lvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/insert_hint_const_lvalue.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/insert_hint_const_lvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/insert_hint_rvalue.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/insert_hint_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/insert_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/insert_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/insert_node_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/insert_node_type_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/insert_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/insert_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/iterator.operators.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/iterators.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/key_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/load_factor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/local_iterators.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/local_iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/max_bucket_count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/max_load_factor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/merge.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/rehash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/reserve.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/swap_member.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/assign_copy.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/assign_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/assign_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/assign_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/compare_copy_constructible.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/copy_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/default_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/dtor_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/hash_copy_constructible.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/init_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/iter_iter_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/iter_iter_size_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/iter_iter_size_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/iter_iter_size_hash_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/iter_iter_size_hash_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/iter_iter_size_hash_equal_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/move.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/move_alloc.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/move_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/move_assign_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/move_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/size.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/size_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/size_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/size_hash_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/size_hash_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.cnstr/size_hash_equal_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.swap/swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/unord/unord.set/unord.set.swap/swap_non_member.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/ConvertibleToIntegral.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/CustomTestLayouts.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/MinimalElementType.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/default_accessor/access.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/default_accessor/ctor.conversion.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/default_accessor/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/default_accessor/element_type.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/default_accessor/offset.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/default_accessor/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/extents/CtorTestCombinations.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/extents/comparison.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/extents/conversion.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/extents/ctad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/extents/ctor_default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/extents/ctor_from_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/extents/ctor_from_integral.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/extents/ctor_from_span.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/extents/dextents.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/extents/obs_static.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/extents/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_left/comparison.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_left/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_left/ctor.extents.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_left/extents.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_left/properties.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_left/required_span_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_left/stride.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_right/comparison.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_right/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_right/ctor.extents.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_right/extents.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_right/properties.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_right/required_span_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_right/stride.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_stride/comparison.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_stride/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_stride/ctor.extents_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_stride/ctor.extents_span.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_stride/ctor.strided_mapping.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_stride/deduction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_stride/extents.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_stride/required_span_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/layout_stride/stride.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/CustomTestAccessors.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/conversion.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/conversion.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/element_type.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/extents.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/mapping.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/properties.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/mdspan/mdspan/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/enable_borrowed_range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.cons/array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.cons/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.cons/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.cons/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.cons/initializer_list.assert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.cons/initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.cons/initializer_list.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.cons/iterator_len.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.cons/iterator_len.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.cons/iterator_sentinel.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.cons/iterator_sentinel.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.cons/range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.cons/span.dtor.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.cons/span.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.cons/span.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.cons/stdarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.elem/at.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.elem/back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.elem/data.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.elem/front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.elem/op_idx.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.iterators/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.iterators/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.iterators/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.iterators/rbegin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.iterators/rend.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.objectrep/as_bytes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.obs/empty.nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.obs/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.obs/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.obs/size_bytes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.sub/first.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.sub/first.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.sub/last.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.sub/last.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.sub/subspan.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/span.sub/subspan.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/trivially_copyable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/containers/views/views.span/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr.cerro/cerrno.syn.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr.cerro/system.error.syn.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.atomics/depr.atomics.nonmembers/atomic_init.depr_in_cxx20.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/A.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/AB.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/assignment.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/assignment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert_assignment.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert_assignment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/copy.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/explicit.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/assign_from_auto_ptr_ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_from_auto_ptr_ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_to_auto_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_to_auto_ptr_ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/arrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/release.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/reset.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.auto.ptr/auto.ptr/element_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/assert_h.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/ciso646.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/complex_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/ctype_h.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/errno_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/fenv_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/float_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/inttypes_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/iso646_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/limits_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/locale_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/math_h.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/setjmp_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/signal_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/stdarg_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/stdbool_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/stddef_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/stddef_h.nullptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/stdint_h.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/stdio_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/stdlib_h.aligned_alloc.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/stdlib_h.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/string_h.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/tgmath_h.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/time_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/uchar_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/wchar_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.c.headers/wctype_h.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.function.pointer.adaptors/pointer_to_binary_function.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.function.pointer.adaptors/pointer_to_binary_function.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.function.pointer.adaptors/pointer_to_unary_function.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.function.pointer.adaptors/pointer_to_unary_function.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.function.pointer.adaptors/ptr_fun1.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.function.pointer.adaptors/ptr_fun1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.function.pointer.adaptors/ptr_fun2.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.function.pointer.adaptors/ptr_fun2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun1.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun1_ref_t.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun1_ref_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun1_t.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun1_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_ref.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_ref1.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_ref1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_ref_t.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_ref_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_t.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun1.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun1_ref_t.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun1_ref_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun1_t.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun1_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun_ref.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun_ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun_ref1.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun_ref1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun_ref_t.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun_ref_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun_t.cxx1z.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.base/binary_function.depr.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.base/binary_function.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.base/unary_function.depr.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.function.objects/depr.base/unary_function.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.ios.members/io_state.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.ios.members/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.ios.members/open_mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.ios.members/seek_dir.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.ios.members/streamoff.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.ios.members/streampos.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.lib.binders/depr.lib.bind.1st/bind1st.depr_in_cxx11.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.lib.binders/depr.lib.bind.1st/bind1st.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.lib.binders/depr.lib.bind.2nd/bind2nd.depr_in_cxx11.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.lib.binders/depr.lib.bind.2nd/bind2nd.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.lib.binders/depr.lib.binder.1st/binder1st.depr_in_cxx11.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.lib.binders/depr.lib.binder.1st/binder1st.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.lib.binders/depr.lib.binder.2nd/binder2nd.depr_in_cxx11.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.lib.binders/depr.lib.binder.2nd/binder2nd.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.lib.binders/test_func.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.numeric.limits.has.denorm/deprecated.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/ccp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/ccp_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/cp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/cp_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.members/rdbuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.members/str.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.istrstream/depr.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.istrstream/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.cons/cp_size_mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/freeze.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/pcount.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/rdbuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/str.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.ostrstream/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.cons/cp_size_mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.dest/rdbuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/freeze.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/pcount.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/str.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstream/depr.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstream/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/ccp_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cp_size_cp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cscp_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cucp_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/custom_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/scp_size_scp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/ucp_size_ucp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/freeze.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/overflow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/pcount.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/str.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/overflow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/pbackfail.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/seekoff.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/seekpos.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/setbuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/underflow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/depr.strstreambuf/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/depr.str.strstreams/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/exception.unexpected/set.unexpected/get_unexpected.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/exception.unexpected/set.unexpected/set_unexpected.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/exception.unexpected/unexpected.handler/unexpected_handler.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/depr/exception.unexpected/unexpected/unexpected.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/assertions/cassert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/diagnostics.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/errno/cerrno.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/std.exceptions/domain.error/domain_error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/std.exceptions/invalid.argument/invalid_argument.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/std.exceptions/length.error/length_error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/std.exceptions/logic.error/logic_error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/std.exceptions/out.of.range/out_of_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/std.exceptions/overflow.error/overflow_error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/std.exceptions/range.error/range_error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/std.exceptions/runtime.error/runtime_error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/std.exceptions/underflow.error/underflow_error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/errc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/is_error_code_enum.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/is_error_condition_enum.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.compare/cmp_error_code.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.compare/cmp_error_condition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.compare/eq_error_code_error_code.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.derived/message.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.nonvirtuals/cmp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.nonvirtuals/default_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.nonvirtuals/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.nonvirtuals/lt.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.nonvirtuals/neq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.overview/error_category.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.virtuals/default_error_condition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.virtuals/equivalent_error_code_int.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.virtuals/equivalent_int_error_condition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/ErrorCodeEnum.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/int_error_category.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/lwg3629.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/ErrorCodeEnum.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/lwg3629.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.nonmembers/lt.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.nonmembers/make_error_code.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.nonmembers/stream_inserter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.observers/bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.observers/category.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.observers/default_error_condition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.observers/message.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.observers/value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.overview/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.constructors/ErrorConditionEnum.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.constructors/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.constructors/int_error_category.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.constructors/lwg3629.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.modifiers/ErrorConditionEnum.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.modifiers/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.modifiers/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.modifiers/lwg3629.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.nonmembers/lt.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.nonmembers/make_error_condition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.observers/bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.observers/category.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.observers/message.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.observers/value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.overview/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.hash/enabled_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.hash/error_code.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.hash/error_condition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.members/ctor_error_code.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.members/ctor_error_code_const_char_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.members/ctor_error_code_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.members/ctor_int_error_category.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.members/ctor_int_error_category_const_char_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.members/ctor_int_error_category_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.overview/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/iterator/ostream.joiner/ostream.joiner.cons/ostream_joiner.cons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/iterator/ostream.joiner/ostream.joiner.creation/make_ostream_joiner.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/iterator/ostream.joiner/ostream.joiner.ops/ostream_joiner.op.assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/iterator/ostream.joiner/ostream.joiner.ops/ostream_joiner.op.postincrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/iterator/ostream.joiner/ostream.joiner.ops/ostream_joiner.op.pretincrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/iterator/ostream.joiner/ostream.joiner.ops/ostream_joiner.op.star.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/memory/memory.observer.ptr/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/memory/memory.observer.ptr/ctor.convert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/memory/memory.observer.ptr/ctor.copy_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/memory/memory.observer.ptr/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/memory/memory.observer.ptr/ctor.element_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/memory/memory.observer.ptr/ctor.nullptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/memory/memory.observer.ptr/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/memory/memory.observer.ptr/get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/memory/memory.observer.ptr/hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/memory/memory.observer.ptr/make_observer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/memory/memory.observer.ptr/operator-bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/memory/memory.observer.ptr/operator-element_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/memory/memory.observer.ptr/release.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/memory/memory.observer.ptr/reset.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/memory/memory.observer.ptr/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/memory/memory.observer.ptr/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.class/simd_alias.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.class/simd_ctor_broadcast.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.class/simd_ctor_default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.class/simd_ctor_generator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.class/simd_ctor_load.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.class/simd_subscr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.class/simd_width.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.mask.class/simd_mask_alias.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_broadcast.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_conversion.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_load.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.mask.class/simd_mask_subscr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.mask.class/simd_mask_width.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.reference/reference_alias.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.reference/reference_value_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.traits/is_abi_tag.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.traits/is_simd.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.traits/is_simd_flag_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.traits/is_simd_mask.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.traits/memory_alignment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.traits/memory_alignment.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.traits/simd_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/simd.traits/simd_size.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/simd/test_utils.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/meta/meta.detect/detected_or.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/meta/meta.detect/detected_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/meta/meta.detect/is_detected.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/meta/meta.detect/is_detected_convertible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/meta/meta.detect/is_detected_exact.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/meta/meta.detect/nonesuch.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/meta/meta.detect/nonesuch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/assign_convertible_element_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/assign_convertible_propagate_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/assign_element_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/move_assign_convertible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.assignment/move_assign_convertible_propagate_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/convertible_element_type.explicit.ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/convertible_element_type.non-explicit.ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/convertible_propagate_const.copy_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/convertible_propagate_const.explicit.move_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/convertible_propagate_const.move_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/copy_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/element_type.explicit.ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/element_type.non-explicit.ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.ctors/move_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.non-const_observers/dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.non-const_observers/explicit_operator_element_type_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.non-const_observers/get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.non-const_observers/op_arrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.non-const_observers/operator_element_type_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.observers/dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.observers/explicit_operator_element_type_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.observers/get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.observers/op_arrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/propagate_const.observers/operator_element_type_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.class/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/equal_to.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/greater.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/greater_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/less.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/less_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.comparison_function_objects/not_equal_to.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.relops/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.relops/greater_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.relops/greater_than.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.relops/less_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.relops/less_than.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/propagate_const.relops/not_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/propagate_const/propagate_const.nonmembers/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/utility/utility.erased.type/erased_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/experimental/utilities/utility/utility.synop/includes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/c.files/cinttypes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/c.files/cstdio.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/c.files/gets.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.assign/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.assign/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.assign/nonmember_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.assign/nonmember_swap_min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.members/close.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.members/native_handle.assert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.members/native_handle.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.members/open_path.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.members/open_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.virtuals/overflow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.virtuals/pbackfail.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.virtuals/seekoff.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.virtuals/underflow.dat delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.virtuals/underflow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf.virtuals/underflow_utf8.dat delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/filebuf/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/fstream.assign/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/fstream.assign/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/fstream.assign/nonmember_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/fstream.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/fstream.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/fstream.cons/path.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/fstream.cons/string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/fstream.members/close.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/fstream.members/native_handle.assert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/fstream.members/native_handle.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/fstream.members/open_path.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/fstream.members/open_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/fstream.members/open_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/fstream.members/rdbuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/fstream/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.assign/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.assign/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.assign/nonmember_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.assign/test.dat delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.assign/test2.dat delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.cons/path.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.cons/pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.cons/string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.cons/test.dat delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.members/buffered_reads.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.members/close.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.members/native_handle.assert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.members/native_handle.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.members/open_path.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.members/open_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.members/open_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.members/rdbuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream.members/test.dat delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ifstream/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/native_handle_assert_test_helpers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/native_handle_test_helpers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ofstream.assign/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ofstream.assign/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ofstream.assign/nonmember_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ofstream.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ofstream.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ofstream.cons/path.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ofstream.cons/string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ofstream.members/buffered_writes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ofstream.members/close.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ofstream.members/native_handle.assert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ofstream.members/native_handle.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ofstream.members/open_path.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ofstream.members/open_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ofstream.members/open_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ofstream.members/rdbuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/ofstream/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/fstreams/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/file.streams/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.io/directory_entry.io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/comparisons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/path.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_entry/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/default_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_iterator/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_iterator/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.directory_iterator/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.file_status/file_status.cons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.file_status/file_status.mods.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.file_status/file_status.obs.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.file_status/file_status.status.eq.ops.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.filesystem_error/filesystem_error.members.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.itr/iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.append.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.assign/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.charconv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.construct/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.decompose/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.decompose/path.decompose.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_normal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/named_overloads.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.hash_enabled.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.modifiers/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.modifiers/remove_filename.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_extension.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_filename.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.modifiers/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.native.obs/c_str.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.native.obs/named_overloads.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.native.obs/native.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.native.obs/operator_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.member/path.query/tested_in_path_decompose.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.nonmember/append_op.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops_tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.nonmember/hash.tested_elswhere.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.nonmember/hash_value.tested_elswhere.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.nonmember/path.io.unicode_bug.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/path_helper.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.path/synop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.rec.dir.itr/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.enum/check_bitmask_types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.enum/enum.directory_options.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.enum/enum.perm_options.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.enum/enum.perms.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.error.report/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.filesystem.synopsis/enable_borrowed_range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.filesystem.synopsis/enable_view.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type_resolution.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.filesystem.synopsis/space_info.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.absolute/absolute.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.status_known/status_known.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/filesystems/fs.req.namespace/namespace.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/input.output.general/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/input.output.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/ext.manip/get_money.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/ext.manip/get_time.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/ext.manip/put_money.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/ext.manip/put_time.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/iostreamclass/iostream.assign/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/iostreamclass/iostream.assign/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/iostreamclass/iostream.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/iostreamclass/iostream.cons/streambuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/iostreamclass/iostream.dest/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/iostreamclass/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/float.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/int.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_long.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/short.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_int.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long_long.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_short.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.reqmts/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/basic_ios.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/chart.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/ios_base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/istream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/signed_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/signed_char_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/streambuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/unsigned_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/unsigned_char_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/wchar_t_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.manip/ws.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.rvalue/not_istreamable.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.rvalue/rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size_chart.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf_chart.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size_chart.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore_0xff.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/peek.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/putback.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/readsome.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/sync.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/tellg.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream.unformatted/unget.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream/istream.assign/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream/istream.assign/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream/istream.cons/copy.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream/istream.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream/istream.cons/streambuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream/istream_sentry/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/input.streams/istream/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.assign/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.assign/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.cons/streambuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/locale-specific_form.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/print.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/print_tests.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/println.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/vprint_nonunicode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/vprint_unicode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.reqmts/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/float.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/int.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long_long.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minmax_showbase.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.volatile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/short.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_int.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long_long.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_short.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/CharT.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/CharT_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/char_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/char_to_wide.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/char_to_wide_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/signed_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/signed_char_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/unsigned_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/unsigned_char_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters/basic_ios.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters/ios_base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters/streambuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.manip/endl.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.manip/ends.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.manip/flush.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.rvalue/not_ostreamable.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.rvalue/rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.seeks/seekp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.seeks/seekp2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.seeks/tellp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.unformatted/flush.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.unformatted/put.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream.unformatted/write.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream/deleted_output_functions.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream_sentry/construct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/output.streams/ostream_sentry/destruct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/print.fun/echo.sh delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/print.fun/includes.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/print.fun/print.file.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/print.fun/print.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/print.fun/print_tests.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/print.fun/println.file.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/print.fun/println.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/print.fun/vprint_nonunicode.file.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/print.fun/vprint_nonunicode.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/print.fun/vprint_unicode.file.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/print.fun/vprint_unicode.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/quoted.manip/quoted.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/quoted.manip/quoted_char.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/quoted.manip/quoted_traits.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/quoted.manip/quoted_traits.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/std.manip/resetiosflags.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/std.manip/setbase.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/std.manip/setfill.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/std.manip/setiosflags.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/std.manip/setprecision.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.format/std.manip/setw.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.forward/iosfwd.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.forward/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.objects/init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.objects/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.objects/narrow.stream.objects/cerr.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.objects/narrow.stream.objects/cin.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.objects/narrow.stream.objects/clog.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.objects/narrow.stream.objects/cout.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.objects/wide.stream.objects/test.dat delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.objects/wide.stream.objects/wcerr-imbue.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.objects/wide.stream.objects/wcerr-wide-mode.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.objects/wide.stream.objects/wcerr.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.objects/wide.stream.objects/wcin-imbue.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.objects/wide.stream.objects/wcin-wide-mode.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.objects/wide.stream.objects/wcin.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.objects/wide.stream.objects/wclog.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.objects/wide.stream.objects/wcout-imbue.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.objects/wide.stream.objects/wcout-wide-mode.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostream.objects/wide.stream.objects/wcout.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/fpos/fpos.members/state.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/fpos/fpos.operations/addition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/fpos/fpos.operations/ctor_int.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/fpos/fpos.operations/difference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/fpos/fpos.operations/eq_int.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/fpos/fpos.operations/fpos.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/fpos/fpos.operations/offset.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/fpos/fpos.operations/streamsize.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/fpos/fpos.operations/subtraction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/fmtflags.state/flags.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/fmtflags.state/flags_fmtflags.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/fmtflags.state/precision.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/fmtflags.state/precision_streamsize.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/fmtflags.state/setf_fmtflags.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/fmtflags.state/setf_fmtflags_mask.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/fmtflags.state/unsetf_mask.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/fmtflags.state/width.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/fmtflags.state/width_streamsize.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/ios.base.callback/register_callback.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/ios.base.cons/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/ios.base.locales/getloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/ios.base.locales/imbue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/ios.base.storage/iword.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/ios.base.storage/pword.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/ios.base.storage/xalloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/ios.members.static/sync_with_stdio.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.multiple.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/ios.types/ios_failure/ctor_char_pointer_error_code.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/ios.types/ios_failure/ctor_string_error_code.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/ios.types/ios_fmtflags/fmtflags.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/ios.types/ios_iostate/iostate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/ios.types/ios_openmode/openmode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios.base/ios.types/ios_seekdir/seekdir.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/basic.ios.cons/ctor_streambuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/basic.ios.members/fill.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/basic.ios.members/fill_char_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/basic.ios.members/imbue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/basic.ios.members/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/basic.ios.members/narrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/basic.ios.members/rdbuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/basic.ios.members/rdbuf_streambuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/basic.ios.members/set_rdbuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/basic.ios.members/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/basic.ios.members/tie.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/basic.ios.members/tie_ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/basic.ios.members/widen.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/iostate.flags/bad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/iostate.flags/bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/iostate.flags/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/iostate.flags/eof.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/iostate.flags/exceptions.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/iostate.flags/exceptions_iostate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/iostate.flags/fail.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/iostate.flags/good.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/iostate.flags/not.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/iostate.flags/rdstate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/iostate.flags/setstate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/ios/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/is_error_code_enum_io_errc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/adjustfield.manip/internal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/adjustfield.manip/left.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/adjustfield.manip/right.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/basefield.manip/dec.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/basefield.manip/hex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/basefield.manip/oct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/error.reporting/iostream_category.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/error.reporting/make_error_code.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/error.reporting/make_error_condition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/floatfield.manip/defaultfloat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/floatfield.manip/fixed.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/floatfield.manip/hexfloat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/floatfield.manip/scientific.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/boolalpha.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/noboolalpha.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/noshowbase.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/noshowpoint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/noshowpos.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/noskipws.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/nounitbuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/nouppercase.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/showbase.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/showpoint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/showpos.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/skipws.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/unitbuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/uppercase.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/stream.types/streamoff.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.base/stream.types/streamsize.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.requirements/iostream.limits.imbue/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.requirements/iostreams.limits.pos/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.requirements/iostreams.threadsafety/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/iostreams.requirements/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf.reqts/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.cons/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.cons/copy.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.cons/default.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.buffer/pubseekoff.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.buffer/pubseekpos.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.buffer/pubsetbuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.buffer/pubsync.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.locales/locales.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.get/in_avail.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.get/sbumpc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.get/sgetc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.get/sgetn.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.get/snextc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.pback/sputbackc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.pback/sungetc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.put/sputc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.put/sputn.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.get.area/gbump.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.get.area/setg.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/pbump.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/pbump2gig.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/setp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.buffer/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.get/showmanyc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.get/uflow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.get/underflow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.get/xsgetn.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.locales/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.pback/pbackfail.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.put/overflow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.put/xsputn.PR14074.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.put/xsputn.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/stream.buffers/streambuf/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/helper_concepts.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/helper_string_macros.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/helper_types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.assign/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.assign/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.assign/nonmember_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.cons/mode.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.cons/string-alloc.mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.cons/string.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.cons/string.mode.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.cons/string.move.mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.cons/string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.cons/string_view.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.cons/string_view.mode.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.cons/string_view.mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.members/str.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.members/str.allocator_propagation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.members/str.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.members/str.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.members/str.string-alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.members/str.string.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.members/str.string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/istringstream.members/view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/istringstream/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.assign/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.assign/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.assign/nonmember_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.cons/mode.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string-alloc.mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.mode.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.move.mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string_view.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string_view.mode.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string_view.mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.members/str.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.members/str.allocator_propagation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.members/str.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.members/str.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.members/str.string-alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.members/str.string.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.members/str.string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/ostringstream.members/view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/ostringstream/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.assign/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.assign/member_swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.assign/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.assign/nonmember_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.assign/nonmember_swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.cons/alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.cons/mode.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.cons/move.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.cons/string-alloc.mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.cons/string.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.cons/string.mode.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.cons/string.move.mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.cons/string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.cons/string_view.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.cons/string_view.mode.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.cons/string_view.mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.members/str.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.members/str.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.members/str.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.members/str.string-alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.members/str.string.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.members/str.string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.members/view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.virtuals/overflow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.virtuals/pbackfail.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.virtuals/seekoff.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.virtuals/seekpos.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.virtuals/setbuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/stringbuf.virtuals/underflow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringbuf/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.assign/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.assign/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.assign/nonmember_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.cons/mode.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.cons/move2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.cons/string-alloc.mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.cons/string.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.cons/string.mode.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.cons/string.move.mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.cons/string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.cons/string_view.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.cons/string_view.mode.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.cons/string_view.mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.members/gcount.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.members/str.alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.members/str.allocator_propagation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.members/str.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.members/str.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.members/str.string-alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.members/str.string.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.members/str.string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/stringstream.members/view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/string.streams/stringstream/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/osyncstream/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/osyncstream/members/emit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/osyncstream/members/get_wrapped.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/osyncstream/members/rdbuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/osyncstream/syncstream.osyncstream.cons/cons.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/osyncstream/syncstream.osyncstream.cons/cons.ostream.allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/osyncstream/syncstream.osyncstream.cons/cons.ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/osyncstream/syncstream.osyncstream.cons/cons.pointer.allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/osyncstream/syncstream.osyncstream.cons/cons.pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/osyncstream/thread/basic.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/osyncstream/thread/several_threads.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/osyncstream/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/syncbuf/helpers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/syncbuf/sputc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/syncbuf/sputn.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/syncbuf/sync.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.assign/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.assign/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/cons.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/cons.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/cons.pointer.allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/cons.pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.cons/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.members/emit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.members/get_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.members/get_wrapped.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.members/set_emit_on_sync.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/syncbuf/syncstream.syncbuf.special/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/input.output/syncstream/syncbuf/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.container/data.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.container/empty.array.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.container/empty.container.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.container/empty.initializer_list.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.container/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.container/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.container/ssize.LWG3207.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.container/ssize.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/iterator.basic/deprecated.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/iterator.basic/iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/iterator.operations/advance.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/iterator.operations/distance.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/iterator.operations/next.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/iterator.operations/prev.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/iterator.operations/robust_against_adl.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/iterator.traits/const_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/iterator.traits/const_volatile_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/iterator.traits/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/iterator.traits/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/iterator.traits/iter_reference_t.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/iterator.traits/iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/iterator.traits/pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/iterator.traits/volatile_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/constraints.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count_sentinel.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_sentinel.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/iterator_sentinel.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/lwg3664.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/constraints.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/iterator_count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/iterator_count_sentinel.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/iterator_sentinel.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/constraints.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/iterator_count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/iterator_count_sentinel.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/range.iter.ops/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/std.iterator.tags/bidirectional_iterator_tag.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/std.iterator.tags/contiguous_iterator_tag.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/std.iterator.tags/forward_iterator_tag.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/std.iterator.tags/input_iterator_tag.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/std.iterator.tags/output_iterator_tag.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.primitives/std.iterator.tags/random_access_iterator_tag.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.range/begin-end.adl.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.range/begin-end.array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.range/begin-end.container.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.range/begin-end.initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/alg.req.ind.copy/indirectly_copyable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/alg.req.ind.copy/indirectly_copyable.subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/alg.req.ind.copy/indirectly_copyable_storable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/alg.req.ind.copy/indirectly_copyable_storable.subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/alg.req.ind.move/indirectly_movable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/alg.req.ind.move/indirectly_movable.subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/alg.req.ind.move/indirectly_movable_storable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/alg.req.ind.move/indirectly_movable_storable.subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/alg.req.ind.swap/indirectly_swappable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/alg.req.ind.swap/indirectly_swappable.subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/alg.req.mergeable/mergeable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/alg.req.mergeable/mergeable.subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/alg.req.permutable/permutable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/alg.req.permutable/permutable.subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/alg.req.sortable/sortable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/alg.req.sortable/sortable.subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/bidirectional.iterators/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/forward.iterators/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_binary_predicate.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_equivalence_relation.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_result_t.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_strict_weak_order.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_unary_predicate.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirectly_comparable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirectly_regular_unary_invocable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirectly_unary_invocable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/indirectcallable/projected/projected.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/input.iterators/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.assoc.types/incrementable.traits/incrementable_traits.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.assoc.types/incrementable.traits/iter_difference_t.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.assoc.types/readable.traits/indirectly_readable_traits.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.assoc.types/readable.traits/iter_value_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/incrementable.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.bidir/bidirectional_iterator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.bidir/subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.forward/forward_iterator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.forward/subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.inc/incrementable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.inc/subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.input/input_iterator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.input/subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.iterator/input_or_output_iterator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.iterator/subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.output/output_iterator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.access/contiguous_iterator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.access/random_access_iterator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.readable/indirectly_readable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.readable/iter_common_reference_t.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.sentinel/sentinel_for.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.sentinel/sentinel_for.subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.sentinel/sized_sentinel_for.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.winc/weakly_incrementable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.writable/indirectly_writable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.move/iter_move.nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.move/iter_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.move/iter_rvalue_reference_t.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.swap/iter_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.cust/unqualified_lookup_wrapper.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.iterators/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/iterator.requirements.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/output.iterators/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.requirements/random.access.iterators/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterator.synopsis/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/iterators.general/gcc_workaround.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/arrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/ctor.conv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/ctor.iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/decrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/implicit_ctad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/iter_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/iter_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/iterator_traits.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/member_types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/minus.default_sentinel.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/minus.eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/minus.iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/minus.size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/subscript.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/counted.iterator/three_way_compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/default.sentinel/default.sentinel.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/post.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/pre.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op=/lv_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op=/rv_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op_astrk/test.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.inserter/test.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/implicit_ctad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/post.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/pre.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op=/lv_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op=/rv_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op_astrk/test.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.inserter/test.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/implicit_ctad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.cons/test.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/post.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/pre.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/lv_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/rv_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op_astrk/test.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/inserter/test.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/insert.iterator/cxx20_iter_member.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/insert.iterator/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/insert.iterators/insert.iterator/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/iterators.common/arrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/iterators.common/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/iterators.common/constraints.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/iterators.common/ctor.converting.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/iterators.common/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/iterators.common/ctor.iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/iterators.common/ctor.sentinel.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/iterators.common/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/iterators.common/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/iterators.common/iter_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/iterators.common/iter_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/iterators.common/iterator_traits.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/iterators.common/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/iterators.common/plus_plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/iterators.common/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/make_move_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.+/difference_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.+=/difference_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.-/difference_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.-/sentinel.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.-=/difference_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_gt.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_gte.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_lt.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_lte.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_neq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_spaceship.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/convert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/ctor.convert.LWG3435.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/ctor.iter.explicit.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.decr/post.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.decr/pre.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.incr/post.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.incr/pre.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.index/difference_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.ref/deprecated.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.ref/op_arrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.star/op_star.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/assign.LWG3435.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/move_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iter.requirements/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iterator/implicit_ctad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iterator/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.iterator/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.sentinel/assign.converting.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.sentinel/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.sentinel/concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.sentinel/constraints.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.sentinel/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.sentinel/ctor.converting.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.sentinel/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.sentinel/ctor.sentinel.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/move.iterators/move.sentinel/op_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/greater-equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/greater.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/less-equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/less.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/not-equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/sfinae.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cmp/three-way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/assign.LWG3435.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/ctor.iter.explicit.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/ctor.iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/ctor.reverse_iterator.LWG3435.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.cons/ctor.reverse_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.conv/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.elem/arrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.elem/arrow.sfinae.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.elem/bracket.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.elem/dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/decrement-assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/increment-assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/postdecrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/postincrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/predecrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nav/preincrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/make_reverse_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/sized_sentinel.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/reverse.iterators/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/predef.iterators/unreachable.sentinel/unreachable_sentinel.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default_sentinel_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/istream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/arrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/post_increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/pre_increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istream.iterator/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istream.iterator/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/default_sentinel_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/istream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/proxy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/streambuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_equal/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op!=/not_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op++/dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op==/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/post_increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/pre_increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_proxy/proxy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istreambuf.iterator/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/istreambuf.iterator/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/ostream.iterator/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/ostream_delim.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/assign_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/ostream.iterator/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/ostreambuf.iterator/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.cons/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.cons/streambuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/assign_c.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/failed.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/iterators/stream.iterators/ostreambuf.iterator/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/cmp/cmp.alg/compare_partial_order_fallback.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/cmp/cmp.alg/compare_strong_order_fallback.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/cmp/cmp.alg/compare_weak_order_fallback.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/cmp/cmp.alg/partial_order.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/cmp/cmp.alg/strong_order.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/cmp/cmp.alg/weak_order.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/cmp/cmp.categories.pre/zero_type.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/cmp/cmp.common/common_comparison_category.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/cmp/cmp.concept/three_way_comparable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/cmp/cmp.concept/three_way_comparable_with.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/cmp/cmp.partialord/partialord.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/cmp/cmp.result/compare_three_way_result.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/cmp/cmp.strongord/strongord.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/cmp/cmp.weakord/weakord.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/cmp/compare.syn/named_functions.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/cstdint/cstdint.syn/cstdint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.capacity/operator_bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.compare/equal_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.compare/less_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.completion/done.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.con/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.con/construct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.export/address.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.export/from_address.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.hash/hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.noop/noop_coroutine.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.prom/promise.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.resumption/destroy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/coroutine.handle/coroutine.handle.resumption/resume.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/coroutine.handle/void_handle.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/coroutine.traits/promise_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/coroutine.trivial.awaitables/suspend_always.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/coroutine.trivial.awaitables/suspend_never.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/end.to.end/await_result.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/end.to.end/bool_await_suspend.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/end.to.end/expected.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/end.to.end/fullexpr-dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/end.to.end/generator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/end.to.end/go.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/end.to.end/multishot_func.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.coroutines/end.to.end/oneshot_func.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/align_val_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/alloc.errors/bad.alloc/bad_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_new_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/alloc.errors/new.handler/new_handler.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/alloc.errors/set.new.handler/get_new_handler.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/alloc.errors/set.new.handler/set_new_handler.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/destroying_delete_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/destroying_delete_t_declaration.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/hardware_inference_size.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.except.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.replace.indirect.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.replace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.except.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.indirect.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.except.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.indirect.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_nothrow.except.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_nothrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_nothrow.replace.indirect.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_nothrow.replace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array11.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_calls_unsized_delete_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.dataraces/not_testable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new_array_ptr.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new_ptr.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.except.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.replace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.except.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.replace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.except.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.indirect.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_nothrow.except.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_nothrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_nothrow.replace.indirect.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_nothrow.replace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete11.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_calls_unsized_delete.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/new.delete/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/nothrow_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/nothrow_t.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/ptr.launder/launder.nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/ptr.launder/launder.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.dynamic/ptr.launder/launder.types.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/bad.exception/bad_exception.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/except.nested/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/except.nested/ctor_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/except.nested/ctor_default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/except.nested/rethrow_if_nested.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/except.nested/rethrow_nested.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/except.nested/throw_with_nested.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/exception.terminate/set.terminate/get_terminate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/exception.terminate/set.terminate/set_terminate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/exception.terminate/terminate.handler/terminate_handler.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/exception.terminate/terminate/terminate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/exception/exception.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/propagation/current_exception.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/propagation/exception_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/propagation/make_exception_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/propagation/rethrow_exception.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/uncaught/uncaught_exception.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.initlist/include_cxx03.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.initlist/support.initlist.access/access.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.initlist/support.initlist.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.initlist/support.initlist.range/begin_end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.initlist/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/c.limits/cfloat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/c.limits/climits.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/denorm.style/check_values.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/is_specialized.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/epsilon.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/has_infinity.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/has_quiet_NaN.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/has_signaling_NaN.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/is_bounded.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/is_exact.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/is_integer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/is_modulo.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/is_signed.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/lowest.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/max_digits10.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/max_exponent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/max_exponent10.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/min_exponent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/min_exponent10.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/quiet_NaN.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/radix.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/round_error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/round_style.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/signaling_NaN.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/tinyness_before.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.limits/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/numeric.special/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/limits/round.style/check_values.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/any.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/array.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/bit.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/charconv.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/chrono.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/cmath.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/complex.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/concepts.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/coroutine.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/cstddef.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/cstdlib.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/exception.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/istream.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/iterator.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/limits.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/locale.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/numbers.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/regex.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/scoped_allocator.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/stack.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/stdatomic.h.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/typeinfo.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.rtti/bad.cast/bad_cast.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.rtti/bad.typeid/bad_typeid.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.rtti/type.info/type_info.equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.rtti/type.info/type_info.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.rtti/type.info/type_info_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.runtime/csetjmp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.runtime/csignal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.runtime/cstdarg.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.runtime/cstdbool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.runtime/cstdlib.aligned_alloc.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.runtime/cstdlib.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.runtime/ctime.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.runtime/ctime.timespec.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.srcloc/general.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.start.term/quick_exit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byte.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/and.assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/and.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/enum_direct_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/lshift.assign.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/lshift.assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/lshift.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/lshift.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/not.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/or.assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/or.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/rshift.assign.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/rshift.assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/rshift.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/rshift.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/to_integer.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/to_integer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/xor.assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/byteops/xor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/cstddef.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/max_align_t.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/null.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/nullptr_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/nullptr_t_integral_cast.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/nullptr_t_integral_cast.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/offsetof.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/ptrdiff_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/language.support/support.types/size_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/library/description/conventions/expos.only.func/synth_three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/c.locales/clocale.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/codecvt_unicode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.collate/locale.collate.byname/hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.collate/locale.collate.byname/transform.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.collate/locale.collate.byname/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.collate/locale.collate/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.collate/locale.collate/locale.collate.members/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.collate/locale.collate/locale.collate.members/hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.collate/locale.collate/locale.collate.members/transform.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.collate/locale.collate/locale.collate.virtuals/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.collate/locale.collate/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/ctype_base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/is_1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/is_many.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/narrow_1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/narrow_many.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/scan_is.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/scan_not.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/table.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/tolower_1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/tolower_many.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/toupper_1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/toupper_many.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/widen_1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/widen_many.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.statics/classic_table.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.statics/table_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.virtuals/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/facet.ctype.special/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/codecvt_byname_char16_t_char.depr_in_cxx20.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/codecvt_byname_char32_t_char.depr_in_cxx20.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char16_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char16_t_char8_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char32_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char32_t_char8_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_wchar_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/codecvt_base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/codecvt_char16_t_char.depr_in_cxx20.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/codecvt_char32_t_char.depr_in_cxx20.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char16_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char16_t_char8_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char32_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char32_t_char8_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_wchar_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_always_noconv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_always_noconv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_encoding.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_in.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_max_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_out.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_unshift.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_encoding.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_in.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_max_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_out.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_unshift.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_always_noconv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_always_noconv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_encoding.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_in.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_max_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_out.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_unshift.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_encoding.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_in.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_max_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_out.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_unshift.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char_always_noconv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char_encoding.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char_in.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char_max_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char_out.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char_unshift.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/utf_sanity_check.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/wchar_t_always_noconv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/wchar_t_encoding.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/wchar_t_in.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/wchar_t_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/wchar_t_max_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/wchar_t_out.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/wchar_t_unshift.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.virtuals/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char16_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char16_t_char8_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char32_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char32_t_char8_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_wchar_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/is_1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/is_many.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/mask.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/narrow_1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/narrow_many.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/scan_is.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/scan_not.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_many.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_many.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/widen_1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/widen_many.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/is_1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/is_many.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/narrow_1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/narrow_many.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/scan_is.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/scan_not.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/tolower_1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/tolower_many.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/toupper_1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/toupper_many.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/widen_1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/widen_many.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.virtuals/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/locale.ctype/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.ctype/with_public_dtor.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.messages/locale.messages.byname/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.messages/locale.messages/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.messages/locale.messages/locale.messages.members/not_testable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.messages/locale.messages/locale.messages.virtuals/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.messages/locale.messages/messages_base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.messages/locale.messages/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.money.get/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_en_US.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_string_en_US.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.virtuals/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.money.get/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.money.put/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_en_US.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_string_en_US.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.virtuals/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.money.put/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/decimal_point.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/frac_digits.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/neg_format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/negative_sign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/pos_format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/positive_sign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/curr_symbol.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/decimal_point.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/frac_digits.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/grouping.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/neg_format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/negative_sign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/pos_format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/positive_sign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/thousands_sep.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.virtuals/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct/money_base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.monetary/locale.moneypunct/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.nm.put/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.virtuals/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.nm.put/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.num.get/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_long.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_int.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long_long.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_short.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/test_min_max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/test_neg_one.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.virtuals/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.num.get/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.numeric/locale.num.get/user_defined_char_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get.byname/date_order.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get.byname/date_order_wide.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_date.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_date_wide.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_time.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_time_wide.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_year.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_year_wide.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/date_order.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_date.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_date_wide.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_many.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_monthname.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_monthname_wide.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_one.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_time.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_time_wide.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_weekday.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_weekday_wide.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_year.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.virtuals/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get/time_base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.get/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.put/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.virtuals/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/category.time/locale.time.put/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/decimal_point.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/facet.numpunct.members/decimal_point.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/facet.numpunct.members/falsename.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/facet.numpunct.members/grouping.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/facet.numpunct.members/thousands_sep.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/facet.numpunct.members/truename.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/facet.numpunct.virtuals/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.categories/facets.examples/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_mode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf16.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf16_always_noconv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf16_encoding.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf16_in.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf16_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf16_max_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf16_out.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf16_unshift.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf8.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf8_always_noconv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf8_encoding.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf8_in.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf8_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf8_max_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf8_out.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf8_unshift.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_always_noconv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_encoding.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_in.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_max_length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_out.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_unshift.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/depr.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.stdcvt/remove.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locale.syn/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/classification/isalnum.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/classification/isalpha.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/classification/isblank.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/classification/iscntrl.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/classification/isdigit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/classification/isgraph.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/classification/islower.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/classification/isprint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/classification/ispunct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/classification/isspace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/classification/isupper.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/classification/isxdigit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/depr.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/overflow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/pbackfail.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/rdbuf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/seekoff.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/state.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/test.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/underflow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.character/tolower.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.character/toupper.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.string/converted.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt_state.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.string/depr.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.string/from_bytes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.string/state.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.string/to_bytes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.convenience/conversions/conversions.string/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.global.templates/has_facet.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale.global.templates/use_facet.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.cons/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.cons/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.cons/locale_facetptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.cons/name_construction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.cons/string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.members/combine.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.members/name.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.operators/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.operators/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.statics/classic.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.statics/global.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.types/locale.category/category.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.types/locale.facet/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/locales/locale/locale.types/locale.id/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/localization/localization.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/modules/std.compat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/modules/std.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/namespace/addressable_functions.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/bit/bit.cast/bit_cast.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/bit/bit.cast/bit_cast.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/bit/bit.endian/endian.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/bit/bit.pow.two/bit_ceil.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/bit/bit.pow.two/bit_ceil.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/bit/bit.pow.two/bit_floor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/bit/bit.pow.two/bit_width.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/bit/bit.pow.two/has_single_bit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/bit/bitops.count/countl_one.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/bit/bitops.count/countl_zero.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/bit/bitops.count/countr_one.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/bit/bitops.count/countr_zero.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/bit/bitops.count/popcount.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/bit/bitops.rot/nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/bit/bitops.rot/rotl.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/bit/bitops.rot/rotr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/bit/byteswap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/c.math/abs.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/c.math/abs.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/c.math/cmath.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/c.math/ctgmath.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/c.math/isfinite.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/c.math/isinf.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/c.math/isnan.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/c.math/isnormal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/c.math/lerp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/c.math/tgmath_h.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/cfenv/cfenv.syn/cfenv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/cases.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/ccmplx/ccomplex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/cmplx.over/UDT_is_rejected.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/cmplx.over/arg.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/cmplx.over/conj.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/cmplx.over/imag.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/cmplx.over/norm.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/cmplx.over/pow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/cmplx.over/proj.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/cmplx.over/real.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.literals/literals.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.literals/literals1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.literals/literals1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.literals/literals2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.member.ops/assignment_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.member.ops/assignment_scalar.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.member.ops/divide_equal_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.member.ops/divide_equal_scalar.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.member.ops/minus_equal_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.member.ops/minus_equal_scalar.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.member.ops/plus_equal_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.member.ops/plus_equal_scalar.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.member.ops/times_equal_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.member.ops/times_equal_scalar.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.members/construct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.members/real_imag.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/complex_divide_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/complex_divide_scalar.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/complex_equals_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/complex_equals_scalar.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/complex_minus_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/complex_minus_scalar.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/complex_not_equals_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/complex_not_equals_scalar.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/complex_plus_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/complex_plus_scalar.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/complex_times_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/complex_times_scalar.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/scalar_divide_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/scalar_equals_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/scalar_minus_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/scalar_not_equals_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/scalar_plus_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/scalar_times_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/stream_input.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/stream_output.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/unary_minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.ops/unary_plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.special/double_float_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.special/double_float_implicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.special/double_long_double_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.special/double_long_double_implicit.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.special/float_double_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.special/float_double_implicit.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.special/float_long_double_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.special/float_long_double_implicit.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.special/long_double_double_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.special/long_double_double_implicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.special/long_double_float_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.special/long_double_float_implicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.synopsis/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/acos.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/acosh.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/asin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/asinh.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/atan.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/atanh.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/cos.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/cosh.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/exp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/log.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/log10.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/pow_complex_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/pow_complex_scalar.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/pow_scalar_complex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/sin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/sinh.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/sqrt.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/tan.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.transcendentals/tanh.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.tuple/get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.tuple/get.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.tuple/tuple_element.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.tuple/tuple_element.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.tuple/tuple_size.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.value.ops/abs.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.value.ops/arg.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.value.ops/conj.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.value.ops/imag.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.value.ops/norm.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.value.ops/polar.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.value.ops/proj.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex.value.ops/real.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/complex/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/complex.number/layout.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/class.gslice/gslice.access/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/class.gslice/gslice.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/class.gslice/gslice.cons/start_size_stride.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/class.slice/cons.slice/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/class.slice/cons.slice/start_size_stride.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/class.slice/slice.access/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/class.slice/slice.ops/slice.ops.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.gslice.array/default.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.gslice.array/gslice.array.assign/gslice_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.gslice.array/gslice.array.assign/valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/addition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/and.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/divide.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/modulo.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/multiply.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/or.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/shift_left.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/shift_right.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/subtraction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/xor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.gslice.array/gslice.array.fill/assign_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.gslice.array/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.indirect.array/default.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.indirect.array/indirect.array.assign/indirect_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.indirect.array/indirect.array.assign/valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/addition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/and.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/divide.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/modulo.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/multiply.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/or.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/shift_left.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/shift_right.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/subtraction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/xor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.indirect.array/indirect.array.fill/assign_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.indirect.array/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.mask.array/default.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.mask.array/mask.array.assign/mask_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.mask.array/mask.array.assign/valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/addition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/and.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/divide.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/modulo.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/multiply.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/or.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/shift_left.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/shift_right.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/subtraction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/xor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.mask.array/mask.array.fill/assign_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.mask.array/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.slice.array/default.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.slice.array/slice.arr.assign/slice_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.slice.array/slice.arr.assign/template.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.slice.array/slice.arr.assign/valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/addition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/and.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/divide.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/modulo.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/multiply.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/or.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/shift_left.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/shift_right.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/subtraction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/xor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.slice.array/slice.arr.fill/assign_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.slice.array/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.access/access.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.access/const_access.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.assign/copy_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.assign/gslice_array_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.assign/indirect_array_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.assign/initializer_list_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.assign/mask_array_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.assign/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.assign/slice_array_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.assign/value_assign.addressof.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.assign/value_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/and_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/and_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/divide_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/divide_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/minus_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/minus_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/modulo_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/modulo_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/or_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/or_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/plus_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/plus_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_left_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_left_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_right_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_right_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/times_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/times_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/xor_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cassign/xor_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cons/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cons/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cons/gslice_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cons/indirect_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cons/initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cons/mask_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cons/pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cons/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cons/slice_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.cons/value_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.members/apply_cref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.members/apply_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.members/cshift.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.members/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.members/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.members/resize.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.members/shift.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.members/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.members/sum.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.members/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.sub/gslice_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.sub/gslice_non_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.sub/indirect_array_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.sub/indirect_array_non_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.sub/slice_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.sub/slice_non_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.sub/valarray_bool_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.sub/valarray_bool_non_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.unary/bit_not.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.unary/negate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.unary/not.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/template.valarray/valarray.unary/plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/and_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/and_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/and_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/divide_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/divide_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/divide_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/minus_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/minus_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/minus_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/modulo_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/modulo_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/modulo_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/or_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/or_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/or_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/plus_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/plus_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/plus_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/shift_left_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/shift_left_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/shift_left_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/shift_right_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/shift_right_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/shift_right_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/times_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/times_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/times_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/xor_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/xor_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/xor_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/and_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/and_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/and_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/equal_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/equal_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/equal_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/greater_equal_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/greater_equal_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/greater_equal_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/greater_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/greater_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/greater_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/less_equal_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/less_equal_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/less_equal_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/less_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/less_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/less_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/not_equal_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/not_equal_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/not_equal_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/or_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/or_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/or_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.special/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/abs_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/acos_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/asin_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/atan2_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/atan2_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/atan2_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/atan_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/cos_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/cosh_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/exp_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/log10_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/log_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/pow_valarray_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/pow_valarray_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/pow_value_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/sin_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/sinh_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/sqrt_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/tan_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/tanh_valarray.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/valarray_helper.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.range/begin-end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numarray/valarray.syn/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numbers/defined.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numbers/illformed.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numbers/specialize.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numbers/user_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numbers/value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/accumulate/accumulate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/accumulate/accumulate_op.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/adjacent.difference/adjacent_difference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/adjacent.difference/adjacent_difference_op.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/exclusive.scan/exclusive_scan.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/exclusive.scan/exclusive_scan_init_op.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan_op.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan_op_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/inner.product/inner_product.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/inner.product/inner_product_comp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.iota/iota.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.bool1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.bool2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.bool3.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.bool4.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.not_integral1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.not_integral2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.lcm/lcm.bool1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.lcm/lcm.bool2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.lcm/lcm.bool3.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.lcm/lcm.bool4.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.lcm/lcm.not_integral1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.lcm/lcm.not_integral2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.lcm/lcm.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.float.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.integer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.assert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/partial.sum/partial_sum.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/partial.sum/partial_sum_op.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/reduce/reduce.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/reduce/reduce_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/reduce/reduce_init_op.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/transform.exclusive.scan/transform_exclusive_scan_init_bop_uop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/transform.inclusive.scan/transform_inclusive_scan_bop_uop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/transform.inclusive.scan/transform_inclusive_scan_bop_uop_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/transform.reduce/transform_reduce_iter_iter_init_bop_uop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/transform.reduce/transform_reduce_iter_iter_iter_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.ops/transform.reduce/transform_reduce_iter_iter_iter_init_op_op.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numeric.requirements/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/numerics.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.disc/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.disc/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.disc/ctor_engine_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.disc/ctor_engine_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.disc/ctor_result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.disc/ctor_sseq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.disc/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.disc/discard.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.disc/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.disc/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.disc/result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.disc/seed_result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.disc/seed_sseq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.disc/values.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/ctor_engine_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/ctor_engine_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/ctor_result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/ctor_sseq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/discard.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/seed_result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/seed_sseq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/values.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/ctor_engine_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/ctor_engine_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/ctor_result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/ctor_sseq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/discard.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/seed_result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/seed_sseq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/values.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.device/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.device/entropy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.device/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/ctor_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/param_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/ctor_int_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.PR44847.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/param_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/ctor_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/param_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/ctor_int_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/param_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/ctor_double_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/param_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/ctor_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/param_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/ctor_double_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/param_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/ctor_double_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval_param.PR52906.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/param_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/ctor_double_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/param_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/ctor_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/param_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/ctor_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/param_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/ctor_double_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/param_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/ctor_double_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/param_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/ctor_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/param_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/ctor_double_double.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/param_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/ctor_default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/ctor_func.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/ctor_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/ctor_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/param_ctor_default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/param_ctor_func.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/param_ctor_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/param_ctor_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/ctor_default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/ctor_func.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/ctor_init_func.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/ctor_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/param_ctor_default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/param_ctor_func.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/param_ctor_init_func.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/param_ctor_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/ctor_default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/ctor_func.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/ctor_init_func.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/ctor_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/param_ctor_default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/param_ctor_func.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/param_ctor_init_func.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/param_ctor_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/ctor_int_int.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/int128.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/param_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/ctor_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/ctor_real_real.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/eval_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/get_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/param_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/param_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/param_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/param_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/param_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/set_param.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.lcong/alg.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.lcong/ctor_result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.lcong/ctor_sseq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.lcong/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.lcong/discard.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.lcong/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.lcong/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.lcong/params.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.lcong/result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.lcong/seed_result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.lcong/seed_sseq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.mers/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.mers/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_sseq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_sseq_all_zero.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.mers/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.mers/discard.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.mers/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.mers/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.mers/result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.mers/seed_result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.mers/seed_sseq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.mers/values.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.sub/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.sub/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.sub/ctor_result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.sub/ctor_sseq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.sub/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.sub/discard.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.sub/eval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.sub/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.sub/result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.sub/seed_result_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.sub/seed_sseq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.eng/rand.eng.sub/values.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.predef/default_random_engine.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.predef/knuth_b.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.predef/minstd_rand.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.predef/minstd_rand0.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.predef/mt19937.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.predef/mt19937_64.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.predef/ranlux24.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.predef/ranlux24_base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.predef/ranlux48.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.predef/ranlux48_base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.req/rand.req.adapt/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.req/rand.req.dst/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.req/rand.req.eng/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.req/rand.req.genl/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.req/rand.req.seedseq/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.req/rand.req.urng/uniform_random_bit_generator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.util/rand.util.seedseq/assign.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.util/rand.util.seedseq/copy.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.util/rand.util.seedseq/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.util/rand.util.seedseq/generate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.util/rand.util.seedseq/initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.util/rand.util.seedseq/iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.util/rand.util.seedseq/iterator.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/numerics/rand/rand.util/rand.util.seedseq/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/iterator_robust_against_adl.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/begin.sizezero.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/begin.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/data.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/data.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/end.sizezero.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/end.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/rbegin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/rbegin.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/rend.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/rend.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/size.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/ssize.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.access/ssize.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.all/all.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.all/all_t.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.all/range.owning.view/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.all/range.owning.view/begin_end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.all/range.owning.view/borrowing.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.all/range.owning.view/constructor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.all/range.owning.view/data.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.all/range.owning.view/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.all/range.owning.view/implicit_ctad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.all/range.owning.view/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.all/range.ref.view/borrowing.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.all/range.ref.view/range.ref.view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.as.rvalue/adaptor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.as.rvalue/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.as.rvalue/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.as.rvalue/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.as.rvalue/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.as.rvalue/enable_borrowed_range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.as.rvalue/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.as.rvalue/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.chunk.by/adaptor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.chunk.by/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.chunk.by/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.chunk.by/constraints.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.chunk.by/ctad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.chunk.by/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.chunk.by/ctor.view_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.chunk.by/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.chunk.by/pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/decrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.chunk.by/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.common.view/adaptor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.common.view/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.common.view/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.common.view/borrowing.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.common.view/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.common.view/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.common.view/ctor.view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.common.view/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.common.view/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.common.view/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.counted/counted.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop.while/adaptor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop.while/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop.while/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop.while/borrowed.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop.while/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop.while/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop.while/ctor.view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop.while/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop.while/general.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop.while/pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop.while/range.concept.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop/adaptor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop/ctor.view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop/general.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.drop/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/adaptor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/borrowed.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/ctor.view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/general.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/iterator/arithmetic.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/iterator/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/iterator/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/iterator/ctor.base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/iterator/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/iterator/ctor.other.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/iterator/decrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/iterator/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/iterator/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/iterator/member_types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/iterator/subscript.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/range.concept.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/sentinel/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/sentinel/ctor.base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/sentinel/ctor.convert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/sentinel/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/sentinel/equality.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/sentinel/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.elements/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.empty/borrowing.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.empty/empty_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.empty/views.empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/adaptor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/constraints.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/ctad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/ctor.view_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/iterator/arrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/iterator/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/iterator/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/iterator/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/iterator/ctor.parent_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/iterator/decrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/iterator/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/iterator/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/iterator/iter_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/iterator/iter_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/iterator/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/sentinel/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/sentinel/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/sentinel/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/sentinel/ctor.parent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.filter/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/adaptor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/ctad.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/ctor.view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/general.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/lwg3698.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/range.join.iterator/arrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/range.join.iterator/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/range.join.iterator/ctor.other.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/range.join.iterator/decrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/range.join.iterator/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/range.join.iterator/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/range.join.iterator/iter.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/range.join.iterator/iter.swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/range.join.iterator/member_types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/range.join.iterator/star.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.other.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.parent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/range.join.sentinel/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.join/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/adaptor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/constraints.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/ctor.copy_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/ctor.range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/ctor.view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/general.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/ctor.outer_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/iter_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/iter_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer.value/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer.value/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer.value/ctor.iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer.value/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer.value/view_interface.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.parent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.parent_base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.lazy.split/view_interface.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.reverse/adaptor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.reverse/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.reverse/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.reverse/borrowing.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.reverse/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.reverse/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.reverse/ctor.view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.reverse/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.reverse/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.reverse/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.reverse/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/adaptor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/constraints.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/ctor.range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/ctor.view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/general.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/iterator/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/iterator/ctor.base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/iterator/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/iterator/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/iterator/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/iterator/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/iterator/member_types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/sentinel/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/sentinel/ctor.parent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/sentinel/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.split/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take.while/adaptor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take.while/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take.while/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take.while/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take.while/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take.while/ctor.view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take.while/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take.while/general.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take.while/pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take.while/range.concept.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take.while/sentinel/ctor.base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take.while/sentinel/ctor.convert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take.while/sentinel/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take.while/sentinel/equality.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take.while/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take/adaptor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take/borrowing.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take/ctor.view_count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take/range.take.sentinel/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take/range.take.sentinel/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take/range.take.sentinel/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.take/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/adaptor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/ctor.view_function.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/general.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/iterator/arithmetic.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/iterator/base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/iterator/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/iterator/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/iterator/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/iterator/iter_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/iterator/plus_minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/iterator/requirements.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/iterator/sentinel.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/iterator/subscript.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/iterator/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.transform/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/borrowing.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/cpo.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/ctor.views.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/general.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/iterator/arithmetic.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/iterator/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/iterator/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/iterator/ctor.other.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/iterator/decrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/iterator/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/iterator/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/iterator/iter_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/iterator/iter_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/iterator/member_types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/iterator/singular.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/iterator/subscript.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/range.concept.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/sentinel/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/sentinel/ctor.other.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/sentinel/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/sentinel/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/range.zip/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.adaptors/robust_against_nonbool.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/borrowing.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/ctor.first.last.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/ctor.value.bound.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/ctor.value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/iterator/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/iterator/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/iterator/ctor.value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/iterator/decrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/iterator/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/iterator/member_typedefs.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/iterator/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/iterator/minus_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/iterator/plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/iterator/plus_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/iterator/star.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/iterator/subscript.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/sentinel/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/sentinel/ctor.value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/sentinel/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/sentinel/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/type.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.iota.view/views_iota.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.istream.view/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.istream.view/cpo.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.istream.view/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.istream.view/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.istream.view/general.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.istream.view/iterator/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.istream.view/iterator/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.istream.view/iterator/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.istream.view/iterator/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.istream.view/iterator/member_types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.istream.view/iterator/special_op.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.istream.view/range.concept.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.istream.view/utils.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/ctor.piecewise.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/ctor.value.bound.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/iterator/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/iterator/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/iterator/decrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/iterator/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/iterator/member_typedefs.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/iterator/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/iterator/minus_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/iterator/plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/iterator/plus_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/iterator/star.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/iterator/subscript.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.repeat.view/views_repeat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.single.view/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.single.view/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.single.view/borrowing.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.single.view/cpo.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.single.view/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.single.view/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.single.view/ctor.in_place.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.single.view/ctor.value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.single.view/data.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.single.view/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.single.view/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.factories/range.single.view/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.range/borrowed_range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.range/borrowed_range.subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.range/enable_borrowed_range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.range/helper_aliases.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.range/iterator_t.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.range/range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.range/range_size_t.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.range/sentinel_t.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.refinements/bidirectional_range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.refinements/common_range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.refinements/contiguous_range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.refinements/forward_range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.refinements/input_range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.refinements/output_range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.refinements/random_access_range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.refinements/subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.refinements/viewable_range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.sized/sized_range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.sized/subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.view/enable_view.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.view/view.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.view/view.subsumption.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.req/range.view/view_base.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.dangling/borrowed_iterator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.dangling/borrowed_subrange.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.dangling/dangling.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.subrange/advance.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.subrange/borrowing.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.subrange/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.subrange/ctor.begin_end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.subrange/ctor.begin_end_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.subrange/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.subrange/ctor.pair_like_conv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.subrange/ctor.range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.subrange/ctor.range_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.subrange/general.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.subrange/get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.subrange/lwg3470.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.subrange/operator.pair_like.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.subrange/primitives.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.subrange/structured_bindings.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.subrange/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.utility.conv/container.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.utility.conv/from_range_t.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.utility.conv/to.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/range.utility.conv/to_std_containers.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/ranges_robust_against_no_unique_address.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/ranges/robust_against_poison_pills.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.match/awk.locale.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.match/awk.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.match/basic.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.match/basic.locale.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.match/basic.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.match/ecma.locale.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.match/ecma.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.match/egrep.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.match/exponential.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.match/extended.locale.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.match/extended.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.match/grep.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.match/inverted_character_classes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.match/lookahead_capture.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.match/parse_curly_brackets.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.replace/exponential.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.replace/test1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.replace/test2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.replace/test3.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.replace/test4.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.replace/test5.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.replace/test6.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.search/awk.locale.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.search/awk.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.search/backup.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.search/basic.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.search/basic.locale.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.search/basic.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.search/ecma.locale.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.search/ecma.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.search/egrep.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.search/exponential.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.search/extended.locale.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.search/extended.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.search/grep.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.search/invert_neg_word_search.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.search/lookahead.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.alg.search/no_update_pos.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.alg/re.except/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.badexp/regex_error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.const/re.err/error_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.const/re.matchflag/match_flag_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.const/re.matchflag/match_multiline.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.const/re.matchflag/match_not_bol.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.const/re.matchflag/match_not_eol.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.const/re.matchflag/match_not_null.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.const/re.matchflag/match_prev_avail.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.const/re.synopt/syntax_option_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.def/defns.regex.collating.element/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.def/defns.regex.finite.state.machine/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.def/defns.regex.format.specifier/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.def/defns.regex.matched/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.def/defns.regex.primary.equivalence.class/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.def/defns.regex.regular.expression/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.def/defns.regex.subexpression/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.grammar/excessive_brace_count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.grammar/excessive_brace_min_max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.regiter/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.regiter/re.regiter.cnstr/cnstr.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.regiter/re.regiter.cnstr/cnstr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.regiter/re.regiter.cnstr/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.regiter/re.regiter.comp/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.regiter/re.regiter.comp/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.regiter/re.regiter.deref/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.regiter/re.regiter.incr/post.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.regiter/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.tokiter/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/array.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/init.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/int.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/int.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/vector.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/vector.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.tokiter/re.tokiter.comp/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.tokiter/re.tokiter.deref/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.tokiter/re.tokiter.incr/post.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.iter/re.tokiter/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.assign/assign.il.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.assign/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.assign/assign_iter_iter_flag.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.assign/assign_ptr_flag.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.assign/assign_ptr_size_flag.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.assign/assign_string_flag.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.assign/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.assign/il.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.assign/ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.assign/string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.const/constants.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/awk_oct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/bad_backref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/bad_ctype.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/bad_escape.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/bad_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/bad_repeat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/il_flg.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/iter_iter_flg.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/ptr_flg.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/ptr_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/ptr_size_flg.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.construct/string_flg.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.locale/imbue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.nonmemb/re.regex.nmswap/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.operations/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/re.regex.swap/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.regex/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.req/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.acc/begin_end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.acc/cbegin_cend.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.acc/index.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.acc/length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.acc/position.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.acc/prefix.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.acc/str.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.acc/suffix.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.all/get_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.const/allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.const/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.const/copy_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.const/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.const/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.const/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.form/form1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.form/form2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.form/form3.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.form/form4.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.nonmember/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.size/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.size/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.size/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.state/ready.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.swap/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/re.results.swap/non_member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.results/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.submatch/re.submatch.members/compare_string_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.submatch/re.submatch.members/compare_sub_match.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.submatch/re.submatch.members/compare_value_type_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.submatch/re.submatch.members/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.submatch/re.submatch.members/length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.submatch/re.submatch.members/operator_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.submatch/re.submatch.members/str.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.submatch/re.submatch.members/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.submatch/re.submatch.op/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.submatch/re.submatch.op/stream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.submatch/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/cmatch.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/cregex_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/cregex_token_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/csub_match.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/regex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/smatch.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/sregex_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/sregex_token_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/ssub_match.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/wcmatch.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/wcregex_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/wcregex_token_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/wcsub_match.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/wregex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/wsmatch.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/wsregex_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/wsregex_token_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.syn/wssub_match.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.traits/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.traits/getloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.traits/imbue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.traits/isctype.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.traits/length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.traits/lookup_classname.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.traits/lookup_collatename.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.traits/transform.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.traits/transform_primary.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.traits/translate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.traits/translate_nocase.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.traits/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/re/re.traits/value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string.hash/char_type_hash.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string.hash/enabled_hashes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string.hash/strings.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string.literals/literal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string.literals/literal.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string.literals/noexcept.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/allocator_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/char.bad.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.access/at.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.access/back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.access/front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.access/index.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/capacity.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/clear.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/reserve.deprecated_in_cxx20.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/reserve.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/reserve.removed_in_cxx26.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/reserve_size.asan.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/reserve_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/resize_and_overwrite.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/resize_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/resize_size_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/shrink_to_fit.explicit_instantiation.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.capacity/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/T_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/brace_assignment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/char_assignment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/copy_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/copy_assignment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/from_range_deduction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/implicit_deduction_guides.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/initializer_list_assignment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/iter_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/iter_alloc_deduction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/move_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/move_assign_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/move_assignment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/move_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/nullptr.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/pointer_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/pointer_assignment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/pointer_size_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/size_char_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/string_view_assignment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/string_view_deduction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/string_view_size_size_deduction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/substr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.cons/substr_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.contains/contains.char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.contains/contains.ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.contains/contains.string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ends_with/ends_with.char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ends_with/ends_with.ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ends_with/ends_with.string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.iterators/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.iterators/cbegin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.iterators/cend.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.iterators/crbegin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.iterators/crend.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.iterators/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.iterators/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.iterators/iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.iterators/rbegin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.iterators/rend.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/robust_against_adl.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_append/T_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_append/append_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_append/initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_append/pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_append/pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_append/push_back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_append/size_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_append/string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_append/string_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_append/string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_assign/T_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_assign/assign_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_assign/initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_assign/pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_assign/pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_assign/rv_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_assign/size_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_assign/string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_assign/string_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_assign/string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_copy/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_erase/iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_erase/iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_erase/pop_back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_erase/size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_insert/insert_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_insert/iter_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_insert/iter_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.infinite_recursion.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_insert/iter_size_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_insert/size_T_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_insert/size_size_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_insert/size_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_insert/size_string_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_op_plus_equal/char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_op_plus_equal/initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_op_plus_equal/pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_op_plus_equal/string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_iter_iter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_size_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_replace/replace_with_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_replace/size_size_T_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_replace/size_size_size_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_swap/swap.asan.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.modifiers/string_swap/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string.cmp/comparison.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string.io/get_line.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string.io/get_line_delim.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string.io/get_line_delim_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string.io/get_line_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string.io/lit.local.cfg delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string.io/stream_extract.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string.io/stream_insert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string.special/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string.special/swap_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_op!=/pointer_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_op!=/string_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_op!=/string_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_op!=/string_string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_op!=/string_view_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_op+/allocator_propagation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_op+/char_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_op+/pointer_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_op+/string_char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_op+/string_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_op+/string_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_operator==/pointer_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_operator==/string_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_operator==/string_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_operator==/string_string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_operator==/string_view_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_opgt/pointer_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_opgt/string_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_opgt/string_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_opgt/string_string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_opgt/string_view_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_opgt=/pointer_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_opgt=/string_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_opgt=/string_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_opgt=/string_string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_opgt=/string_view_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_oplt/pointer_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_oplt/string_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_oplt/string_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_oplt/string_string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_oplt/string_view_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_oplt=/pointer_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_oplt=/string_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_oplt=/string_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_oplt=/string_string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.nonmembers/string_oplt=/string_view_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string.accessors/c_str.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string.accessors/data.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string.accessors/get_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_compare/pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_compare/size_size_T_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_compare/size_size_string_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_compare/size_size_string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_compare/string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_compare/string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.first.not.of/char_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.first.not.of/pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.first.not.of/pointer_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.first.not.of/string_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.first.not.of/string_view_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.first.of/char_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.first.of/pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.first.of/pointer_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.first.of/string_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.first.of/string_view_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.last.not.of/char_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.last.not.of/pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.last.not.of/pointer_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.last.not.of/string_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.last.not.of/string_view_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.last.of/char_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.last.of/pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.last.of/pointer_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.last.of/string_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find.last.of/string_view_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find/char_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find/pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find/pointer_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find/string_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_find/string_view_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_rfind/char_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_rfind/pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_rfind/pointer_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_rfind/string_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_rfind/string_view_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_substr/substr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.ops/string_substr/substr_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.require/contiguous.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.starts_with/starts_with.char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.starts_with/starts_with.ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/string.starts_with/starts_with.string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/test_traits.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/traits_mismatch.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/basic.string/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/c.strings/cctype.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/c.strings/cstring.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/c.strings/cuchar.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/c.strings/cwchar.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/c.strings/cwchar_include_order1.compile.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/c.strings/cwchar_include_order2.compile.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/c.strings/cwctype.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/c.strings/no_c8rtomb_mbrtoc8.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.require/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/assign2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/assign3.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/eof.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/eq_int_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/find.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/lt.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/not_eof.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/to_char_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/to_int_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/assign2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/assign3.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/eof.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/eq_int_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/find.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/lt.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/not_eof.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/to_char_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/to_int_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/assign2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/assign3.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/eof.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/eq_int_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/find.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/lt.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/not_eof.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/to_char_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/to_int_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign3.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eof.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/eq_int_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/find.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/lt.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/not_eof.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/to_char_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/to_int_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar_t/assign2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar_t/assign3.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar_t/compare.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar_t/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar_t/eof.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar_t/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar_t/eq_int_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar_t/find.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar_t/length.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar_t/lt.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar_t/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar_t/not_eof.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar_t/to_char_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar_t/to_int_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar_t/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/char.traits/char.traits.typedefs/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.classes/typedefs.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.conversions/stod.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.conversions/stof.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.conversions/stoi.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.conversions/stol.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.conversions/stold.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.conversions/stoll.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.conversions/stoul.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.conversions/stoull.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.conversions/to_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.conversions/to_wstring.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/char.bad.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/enable_borrowed_range.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/range_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.access/at.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.access/back.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.access/data.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.access/front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.access/index.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.capacity/capacity.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.capacity/empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.comparison/common_type_specialization.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.comparison/comparison.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.comparison/comparison.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.comparison/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.comparison/greater.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.comparison/greater_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.comparison/less.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.comparison/less_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.comparison/not_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.cons/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.cons/from_iterator_sentinel.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.cons/from_literal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.cons/from_ptr_len.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.cons/from_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.cons/from_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.cons/implicit_deduction_guides.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.cons/nullptr.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.deduct/implicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.deduct/iterator_sentinel.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.deduct/range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_char_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_first_not_of_char_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_first_not_of_pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_first_not_of_pointer_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_first_not_of_string_view_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_first_of_char_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_first_of_pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_first_of_pointer_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_first_of_string_view_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_last_not_of_char_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_last_not_of_pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_last_not_of_pointer_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_last_not_of_string_view_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_last_of_char_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_last_of_pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_last_of_pointer_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_last_of_string_view_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_pointer_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/find_string_view_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/rfind_char_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/rfind_pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/rfind_pointer_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.find/rfind_string_view_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.hash/char_type.hash.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.hash/enabled_hashes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.hash/string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.io/stream_insert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.io/stream_insert_decl_present.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.iterators/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.iterators/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.iterators/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.iterators/rbegin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.iterators/rend.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.modifiers/remove_prefix.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.modifiers/remove_suffix.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.modifiers/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.nonmem/quoted.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.ops/compare.pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.ops/compare.pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.ops/compare.size_size_sv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.ops/compare.size_size_sv_pointer_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.ops/compare.size_size_sv_size_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.ops/compare.sv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.ops/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.ops/substr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.synop/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.template/contains.char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.template/contains.ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.template/contains.string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.template/ends_with.char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.template/ends_with.ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.template/ends_with.string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.template/starts_with.char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.template/starts_with.ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string.view.template/starts_with.string_view.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string_view.literals/literal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/string_view.literals/literal.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/traits_mismatch.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/trivially_copyable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/string.view/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/strings.erasure/erase.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/strings.erasure/erase_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/strings/strings.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.async/async.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.async/async.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.async/async_race.38682.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.async/async_race.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.errors/default_error_condition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.errors/equivalent_error_code_int.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.errors/equivalent_int_error_condition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.errors/future_category.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.errors/make_error_code.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.errors/make_error_condition.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.future_error/code.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.future_error/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.future_error/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.future_error/what.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.overview/future_errc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.overview/future_status.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.overview/is_error_code_enum_future_errc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.overview/launch.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/alloc_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/copy_assign.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/copy_ctor.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/get_future.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/move_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/set_exception.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/set_lvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/set_lvalue_at_thread_exit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/set_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/set_rvalue_at_thread_exit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/set_value_at_thread_exit_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/set_value_at_thread_exit_void.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/set_value_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/set_value_void.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.promise/uses_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.shared_future/copy_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.shared_future/copy_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.shared_future/ctor_future.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.shared_future/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.shared_future/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.shared_future/get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.shared_future/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.shared_future/move_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.shared_future/wait.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.shared_future/wait_for.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.shared_future/wait_until.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.state/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.members/assign_copy.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.members/assign_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.members/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.members/ctad.static.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.members/ctor1.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.members/ctor2.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.members/ctor_copy.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.members/ctor_default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.members/ctor_func.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.members/ctor_func_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.members/ctor_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.members/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.members/get_future.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.members/make_ready_at_thread_exit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.members/operator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.members/reset.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.members/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.nonmembers/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.task/futures.task.nonmembers/uses_allocator.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.unique_future/copy_assign.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.unique_future/copy_ctor.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.unique_future/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.unique_future/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.unique_future/get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.unique_future/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.unique_future/move_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.unique_future/share.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.unique_future/wait.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.unique_future/wait_for.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/futures/futures.unique_future/wait_until.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/macro.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.barrier/arrive.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.barrier/completion.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.barrier/ctor.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.barrier/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/cv_status.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/notify_all_at_thread_exit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/notify_all_at_thread_exit_lwg3343.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvar/assign.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvar/copy.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvar/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvar/destructor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvar/notify_all.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvar/notify_one.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvar/wait.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvar/wait_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvar/wait_until_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvarany/assign.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvarany/copy.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvarany/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvarany/destructor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvarany/helpers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvarany/notify_all.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvarany/notify_one.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvarany/wait.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvarany/wait_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvarany/wait_terminates.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvarany/wait_token_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvarany/wait_until.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_token_pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/assign.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/cons.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/cons.func.token.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/cons.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/copy.delete.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/detach.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/get_id.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/get_stop_source.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/get_stop_token.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/hardware_concurrency.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/join.deadlock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/join.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/joinable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/request_stop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/swap.free.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/swap.member.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.jthread/type.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.latch/arrive_and_wait.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.latch/count_down.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.latch/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.latch/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.latch/try_wait.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock.algorithm/lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock.algorithm/try_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/assign.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/copy.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/implicit_ctad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/adopt_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/assign.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/copy.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/implicit_ctad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/mutex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/mutex.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/implicit_ctad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/copy_assign.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/copy_ctor.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_adopt_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_defer_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_duration.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_time_point.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_try_to_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock_for.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock_until.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/unlock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/nonmember_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/release.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/mutex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/op_bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/owns_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/implicit_ctad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_assign.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_ctor.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_duration.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_time_point.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_for.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_until.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/unlock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/nonmember_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/release.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/mutex.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/op_bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/owns_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.lock/types.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/assign.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/copy.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/try_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/assign.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/copy.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/try_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/assign.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/copy.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock_shared.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock_shared.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/assign.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/copy.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock_shared.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_for.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_until.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until_deadlock_bug.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/assign.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/copy.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_for.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_until.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/assign.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/copy.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_for.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_until.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.once/thread.once.callonce/call_once.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.once/thread.once.callonce/race.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/assign.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/copy.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.req/thread.req.exception/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.basic/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.req/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.timed/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.req/thread.req.native/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.req/thread.req.paramname/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.req/thread.req.timing/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.semaphore/acquire.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.semaphore/binary.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.semaphore/ctor.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.semaphore/ctor.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.semaphore/lost_wakeup.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.semaphore/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.semaphore/release.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.semaphore/timed.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.semaphore/try_acquire.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/nostopstate/cons.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopcallback/cons.const.token.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopcallback/cons.rvalue.token.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopcallback/copy.move.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopcallback/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopcallback/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopcallback/typedef.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopsource/assign.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopsource/cons.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopsource/cons.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopsource/cons.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopsource/cons.nostopstate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopsource/equals.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopsource/get_token.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopsource/move.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopsource/nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopsource/request_stop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopsource/stop_possible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopsource/stop_requested.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopsource/swap.free.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stopsource/swap.member.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stoptoken/assign.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stoptoken/assign.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stoptoken/cons.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stoptoken/cons.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stoptoken/cons.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stoptoken/equals.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stoptoken/nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stoptoken/stop_possible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stoptoken/stop_requested.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stoptoken/swap.free.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.stoptoken/stoptoken/swap.member.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.algorithm/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/copy.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/constr.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/copy.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/robust_against_adl.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.destr/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/cmp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/enabled_hashes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.tests.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.vformat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/parse.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/thread_id.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/detach.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/join.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.this/get_id.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.this/sleep_for_tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.this/sleep_until.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/thread/thread.threads/thread.thread.this/yield.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/clock.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/days.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/hours.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/microseconds.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/milliseconds.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/minutes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/months.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/nanoseconds.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/rep.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/seconds.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/euclidian.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.day/time.cal.day.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.day/time.cal.day.members/decrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.day/time.cal.day.members/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.day/time.cal.day.members/ok.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.day/time.cal.day.members/plus_minus_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/comparisons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/literals.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/literals.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.day/time.cal.day.nonmembers/plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.day/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.last/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.md/time.cal.md.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.md/time.cal.md.members/day.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.md/time.cal.md.members/month.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.md/time.cal.md.members/ok.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.md/time.cal.md.nonmembers/comparisons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.md/time.cal.md.nonmembers/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.md/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mdlast/comparisons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mdlast/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mdlast/month.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mdlast/ok.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mdlast/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mdlast/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.month/time.cal.month.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.month/time.cal.month.members/decrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.month/time.cal.month.members/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.month/time.cal.month.members/ok.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.month/time.cal.month.members/plus_minus_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.month/time.cal.month.nonmembers/comparisons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.month/time.cal.month.nonmembers/literals.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.month/time.cal.month.nonmembers/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.month/time.cal.month.nonmembers/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.month/time.cal.month.nonmembers/plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.month/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mwd/time.cal.mwd.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mwd/time.cal.mwd.members/month.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mwd/time.cal.mwd.members/ok.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mwd/time.cal.mwd.members/weekday_indexed.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mwd/time.cal.mwd.nonmembers/comparisons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mwd/time.cal.mwd.nonmembers/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mwd/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/month.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/ok.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.members/weekday_last.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.nonmembers/comparisons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mwdlast/time.cal.mwdlast.nonmembers/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.mwdlast/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.operators/month_day.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.operators/month_day_last.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.operators/month_weekday.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.operators/month_weekday_last.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.operators/year_month.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.operators/year_month_day.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.operators/year_month_day_last.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.operators/year_month_weekday.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.operators/year_month_weekday_last.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/index.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/ok.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.wdidx/time.cal.wdidx.members/weekday.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.wdidx/time.cal.wdidx.nonmembers/comparisons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.wdidx/time.cal.wdidx.nonmembers/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.wdidx/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.wdlast/time.cal.wdlast.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.wdlast/time.cal.wdlast.members/ok.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.wdlast/time.cal.wdlast.members/weekday.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.wdlast/time.cal.wdlast.nonmembers/comparisons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.wdlast/time.cal.wdlast.nonmembers/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.wdlast/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/c_encoding.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/ctor.local_days.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/ctor.sys_days.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/decrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/iso_encoding.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/ok.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/operator[].pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.members/plus_minus_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/comparisons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/literals.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.weekday/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.year/time.cal.year.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.year/time.cal.year.members/decrement.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.year/time.cal.year.members/increment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.year/time.cal.year.members/is_leap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.year/time.cal.year.members/ok.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.year/time.cal.year.members/plus_minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.year/time.cal.year.members/plus_minus_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/comparisons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/literals.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/literals.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.year/time.cal.year.nonmembers/plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.year/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/month.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/ok.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_month.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/plus_minus_equal_year.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ym/time.cal.ym.members/year.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/comparisons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ym/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.local_days.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.sys_days.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/ctor.year_month_day_last.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/day.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/month.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/ok.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/op.local_days.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/op.sys_days.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_month.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/plus_minus_equal_year.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.members/year.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/comparisons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymd/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/day.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/month.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/month_day_last.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/ok.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/op_local_days.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/op_sys_days.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/plus_minus_equal_month.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/plus_minus_equal_year.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.members/year.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/comparisons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymdlast/time.cal.ymdlast.nonmembers/plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/ctor.local_days.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/ctor.sys_days.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/index.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/month.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/ok.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/op.local_days.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/op.sys_days.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/plus_minus_equal_month.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/plus_minus_equal_year.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/weekday.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/weekday_indexed.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.members/year.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/comparisons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/time.cal.ymwd.nonmembers/plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwd/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/month.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/ok.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/op_local_days.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/op_sys_days.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/plus_minus_equal_month.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/plus_minus_equal_year.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/weekday.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.members/year.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/comparisons.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwdlast/time.cal.ymwdlast.nonmembers/plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.cal/time.cal.ymwdlast/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock.req/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.file/consistency.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.file/file_time.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.file/now.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.file/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.file/rep_signed.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.file/to_from_sys.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.hires/consistency.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.hires/now.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.local/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.local/ostream.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.steady/consistency.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.steady/now.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.system/consistency.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.system/from_time_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.system/local_time.types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.system/now.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.system/rep_signed.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.system/sys.time.types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.system/sys_date.ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.system/sys_time.ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.clock/time.clock.system/to_time_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/default_ratio.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/duration.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/positive_num.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/ratio.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.alg/abs.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.alg/abs.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.arithmetic/op_++.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.arithmetic/op_++int.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.arithmetic/op_+.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.arithmetic/op_+=.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.arithmetic/op_--.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.arithmetic/op_--int.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.arithmetic/op_-.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.arithmetic/op_-=.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.arithmetic/op_divide=.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.arithmetic/op_mod=duration.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.arithmetic/op_mod=rep.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.arithmetic/op_times=.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cast/ceil.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cast/ceil.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cast/duration_cast.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cast/floor.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cast/floor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cast/round.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cast/round.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cast/toduration.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.comparisons/compare.three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.comparisons/op_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.comparisons/op_less.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cons/convert_exact.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cons/convert_float_to_int.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cons/convert_inexact.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cons/convert_inexact.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cons/convert_int_to_float.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cons/convert_overflow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cons/rep.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cons/rep01.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cons/rep02.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cons/rep02.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.cons/rep03.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.literals/literals.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.literals/literals1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.literals/literals1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.literals/literals2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.literals/literals2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.nonmember/op_+.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.nonmember/op_-.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.nonmember/op_divide_duration.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.nonmember/op_divide_rep.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.nonmember/op_divide_rep.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.nonmember/op_mod_duration.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.nonmember/op_mod_rep.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.nonmember/op_mod_rep.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.nonmember/op_times_rep.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.nonmember/op_times_rep1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.nonmember/op_times_rep2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.observer/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.special/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.special/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/time.duration.special/zero.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.duration/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.hms/hhmmss.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.hms/time.12/is_am.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.hms/time.12/is_pm.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.hms/time.12/make12.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.hms/time.12/make24.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.hms/time.hms.members/hours.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.hms/time.hms.members/is_negative.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.hms/time.hms.members/minutes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.hms/time.hms.members/precision.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.hms/time.hms.members/seconds.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.hms/time.hms.members/subseconds.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.hms/time.hms.members/to_duration.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.hms/time.hms.members/width.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.hms/time.hms.nonmembers/nothing.to.do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.hms/time.hms.nonmembers/ostream.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/default_duration.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/duration.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.arithmetic/op_+=.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.arithmetic/op_-=.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.cast/ceil.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.cast/ceil.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.cast/floor.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.cast/floor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.cast/round.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.cast/round.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.cast/time_point_cast.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.cast/toduration.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.comparisons/compare.three_way.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.comparisons/compare.three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.comparisons/op_equal.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.comparisons/op_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.comparisons/op_less.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.comparisons/op_less.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.cons/convert.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.cons/convert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.cons/duration.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.cons/duration.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.nonmember/op_+.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.nonmember/op_-duration.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.nonmember/op_-time_point.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.observer/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.special/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.point/time.point.special/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.day.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.duration.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.file_time.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.hh_mm_ss.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.local_time.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.month.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.month_day.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.month_day_last.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.month_weekday.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.sys_time.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.weekday.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.weekday_index.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.weekday_last.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.year.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.year_month.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.year_month_day.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.year_month_day_last.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.year_month_weekday.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter.year_month_weekday_last.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.syn/formatter_tests.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.traits/time.traits.duration_values/max.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.traits/time.traits.duration_values/min.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.traits/time.traits.duration_values/zero.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.traits/time.traits.is_fp/treat_as_floating_point.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.traits/time.traits.specializations/duration.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.traits/time.traits.specializations/time_point.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.zone/time.zone.db/time.zone.db.list/erase_after.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.zone/time.zone.db/time.zone.db.list/front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.zone/time.zone.db/time.zone.db.list/iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.zone/time.zone.db/time.zone.db.list/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.zone/time.zone.db/time.zone.db.remote/remote_version.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/tzdb.members.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.zone/time.zone.link/time.zone.link.members/name.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.zone/time.zone.link/time.zone.link.members/target.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.zone/time.zone.link/time.zone.link.nonmembers/comparison.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.zone/time.zone.link/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.zone/time.zone.timezone/time.zone.members/name.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.zone/time.zone.timezone/time.zone.nonmembers/comparison.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/time.zone/time.zone.timezone/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/weeks.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/time/years.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/allocs.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/converting_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/converting_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size_hint.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_const_lvalue_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_piecewise.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_values.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.members/deallocate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.members/destroy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.members/inner_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.members/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.members/outer_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.members/select_on_container_copy_construction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.types/allocator_pointers.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.types/inner_allocator_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.types/is_always_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.types/propagate_on_container_copy_assignment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.types/propagate_on_container_move_assignment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/allocator.adaptor.types/propagate_on_container_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/base-is-uglified.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/scoped.adaptor.operators/copy_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/scoped.adaptor.operators/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/scoped.adaptor.operators/move_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/allocator.adaptor/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.class/any.assign/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.class/any.assign/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.class/any.assign/value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.class/any.cons/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.class/any.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.class/any.cons/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.class/any.cons/value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.class/any.observers/has_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.class/any.observers/type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.nonmembers/any.cast/any_cast_request_invalid_value_category.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.nonmembers/any.cast/const_correctness.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.nonmembers/any.cast/not_copy_constructible.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.nonmembers/any.cast/reference_types.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.nonmembers/any.cast/void.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.nonmembers/make_any.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/any/any.nonmembers/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.from.chars/integral.bool.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.from.chars/integral.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.from.chars/integral.roundtrip.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/double_fixed_precision_to_chars_test_cases_1.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/double_fixed_precision_to_chars_test_cases_2.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/double_fixed_precision_to_chars_test_cases_3.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/double_fixed_precision_to_chars_test_cases_4.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/double_from_chars_test_cases.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/double_general_precision_to_chars_test_cases.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/double_hex_precision_to_chars_test_cases.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/double_scientific_precision_to_chars_test_cases_1.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/double_scientific_precision_to_chars_test_cases_2.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/double_scientific_precision_to_chars_test_cases_3.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/double_scientific_precision_to_chars_test_cases_4.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/double_to_chars_test_cases.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/float_fixed_precision_to_chars_test_cases.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/float_from_chars_test_cases.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/float_general_precision_to_chars_test_cases.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/float_hex_precision_to_chars_test_cases.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/float_scientific_precision_to_chars_test_cases.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/float_to_chars_test_cases.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/floating_point_test_cases.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/test.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/test.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.msvc/test.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.syn/chars_format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.syn/from_chars_result.operator_bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.syn/from_chars_result.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.syn/to_chars_result.operator_bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.syn/to_chars_result.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.to.chars/integral.bool.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/charconv/charconv.to.chars/integral.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.bad/ctor.error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.bad/error.member.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.bad/what.noexcept.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/assign/assign.U.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/assign/assign.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/assign/assign.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/assign/assign.unexpected.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/assign/assign.unexpected.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/assign/emplace.intializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/assign/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/ctor/ctor.convert.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/ctor/ctor.convert.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/ctor/ctor.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/ctor/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/ctor/ctor.inplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/ctor/ctor.inplace_init_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/ctor/ctor.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/ctor/ctor.u.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/ctor/ctor.unexpect.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/ctor/ctor.unexpect_init_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/ctor/ctor.unexpected.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/ctor/ctor.unexpected.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/equality/equality.T2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/equality/equality.other_expected.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/equality/equality.unexpected.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/monadic/and_then.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/monadic/or_else.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/monadic/transform.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/monadic/transform_error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/observers/arrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/observers/bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/observers/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/observers/error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/observers/error_or.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/observers/has_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/observers/value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/observers/value_or.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/swap/free.swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.expected/swap/member.swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.unexpected/assign/assign.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.unexpected/assign/assign.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.unexpected/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.unexpected/ctor/ctor.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.unexpected/ctor/ctor.error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.unexpected/ctor/ctor.inplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.unexpected/ctor/ctor.inplace_init_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.unexpected/ctor/ctor.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.unexpected/equality.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.unexpected/observer/error.const_ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.unexpected/observer/error.const_ref_ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.unexpected/observer/error.ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.unexpected/observer/error.ref_ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.unexpected/swap/swap.free.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.unexpected/swap/swap.member.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/assign/assign.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/assign/assign.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/assign/assign.unexpected.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/assign/assign.unexpected.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/assign/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/ctor/ctor.convert.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/ctor/ctor.convert.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/ctor/ctor.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/ctor/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/ctor/ctor.inplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/ctor/ctor.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/ctor/ctor.unexpect.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/ctor/ctor.unexpect_init_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/ctor/ctor.unexpected.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/ctor/ctor.unexpected.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/equality/equality.other_expected.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/equality/equality.unexpected.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/monadic/and_then.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/monadic/or_else.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/monadic/transform.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/monadic/transform_error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/observers/bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/observers/deref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/observers/error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/observers/error_or.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/observers/has_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/observers/value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/swap/free.swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/expected.void/swap/member.swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expected/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expol/is_execution_policy.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/expol/policies.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.arguments/format.arg.store/make_format_args.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.arguments/format.arg.store/make_format_args.sh.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.arguments/format.arg.store/make_wformat_args.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.arguments/format.arg/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.arguments/format.arg/operator_bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.arguments/format.args/ctad.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.arguments/format.args/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.arguments/format.args/get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.arguments/format.args/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.error/format.error.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.fmt.string/ctor.runtime-format-string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.fmt.string/ctor.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.fmt.string/get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.fmt.string/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formattable/concept.formattable.float.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.context/format.context/advance_to.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.context/format.context/arg.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.context/format.context/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.context/format.context/locale.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.context/format.context/out.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.c_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.fsigned-char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.funsigned-char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.floating_point.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.handle.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.signed_integral.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.unsigned_integral.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.parse.ctx/advance_to.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.parse.ctx/begin.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.parse.ctx/check_arg_id.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.parse.ctx/check_arg_id.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.parse.ctx/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.parse.ctx/end.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.formatter/format.parse.ctx/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/P2418.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/bug_81590.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/fill.unicode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/format.locale.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/format.locale.runtime_format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/format.locale.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/format.runtime_format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/format.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/format_tests.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/format_to.locale.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/format_to.locale.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/format_to.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/format_to.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/format_to_n.locale.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/format_to_n.locale.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/format_to_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/format_to_n.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/formatted_size.locale.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/formatted_size.locale.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/formatted_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/formatted_size.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/locale-specific_form.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/unicode.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/vformat.locale.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/vformat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/vformat_to.locale.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.functions/vformat_to.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtdef/format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtdef/parse.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtdef/set_brackets.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtdef/set_separator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtkind/format_kind.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtkind/format_kind.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtkind/range_format.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.tests.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.vformat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtmap/format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtmap/parse.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtset/format.functions.format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtset/format.functions.tests.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtset/format.functions.vformat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtset/format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtset/parse.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.tests.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.vformat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtstr/format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.fmtstr/parse.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.formatter/format.functions.format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.formatter/format.functions.tests.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.formatter/format.functions.vformat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.formatter/format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.formatter/parse.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.formatter/set_brackets.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.formatter/set_separator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.range/format.range.formatter/underlying.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.string/format.string.std/lwg3720_arg_id_width_precision_allowed_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.string/format.string.std/lwg3720_arg_id_width_precision_allowed_types.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.syn/format_to_n_result.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.syn/runtime_format_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.tuple/format.functions.format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.tuple/format.functions.format.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.tuple/format.functions.tests.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.tuple/format.functions.vformat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.tuple/format.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.tuple/parse.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.tuple/set_brackets.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/format.tuple/set_separator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/format/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/arithmetic.operations/divides.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/arithmetic.operations/minus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/arithmetic.operations/modulus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/arithmetic.operations/multiplies.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/arithmetic.operations/negate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/arithmetic.operations/plus.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/arithmetic.operations/transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/PR23141.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/bind_return_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_function_object.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_int_0.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_lvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_void_0.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/nested.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_bind_expression.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_bind_expression_03.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/specialization.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bind/func.bind/func.bind.isplace/is_placeholder.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bind/func.bind/func.bind.isplace/specialization.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bind/func.bind/func.bind.place/placeholders.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bitwise.operations/bit_and.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bitwise.operations/bit_not.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bitwise.operations/bit_or.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bitwise.operations/bit_xor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/bitwise.operations/transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/comparisons/compare_three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/comparisons/compare_three_way_functional.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/comparisons/constexpr_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/comparisons/equal_to.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/comparisons/greater.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/comparisons/greater_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/comparisons/less.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/comparisons/less_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/comparisons/not_equal_to.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/comparisons/transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/comparisons/transparent_three_way.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.bind_front/bind_front.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.bind_front/bind_front.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.def/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.identity/identity.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.invoke/invoke.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.invoke/invoke_constexpr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.invoke/invoke_r.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.invoke/invoke_r.temporary.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.memfn/member_data.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.memfn/member_data.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.memfn/member_function.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.memfn/member_function_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.memfn/member_function_const_volatile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.memfn/member_function_volatile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.memfn/robust_against_adl.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.not_fn/not_fn.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.require/INVOKE_tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.require/binary_function.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.require/unary_function.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.search/func.search.bm/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.search/func.search.bm/hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.search/func.search.bm/hash.pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.search/func.search.bm/implicit_ctad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.search/func.search.bm/pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.search/func.search.bmh/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.search/func.search.bmh/implicit_ctad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.search/func.search.bmh/pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.search/func.search.default/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.search/func.search.default/default.pred.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.search/func.search.default/implicit_ctad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/bad_function_call.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/func.wrap.badcall.const/bad_function_call_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/addressof.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/derive_from.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/derive_from.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.alg/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.cap/operator_bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_incomplete.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_nullptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_nullptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_nullptr.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/ctad.static.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_F.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_F.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/deduct_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/assign_F_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.nullptr/operator_==.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.targ/target.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.targ/target_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/function_types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/noncopyable_return_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/robust_against_adl.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/func.wrap/func.wrap.func/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/logical.operations/logical_and.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/logical.operations/logical_not.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/logical.operations/logical_or.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/logical.operations/transparent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/negators/binary_negate.depr_in_cxx17.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/negators/binary_negate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/negators/not1.depr_in_cxx17.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/negators/not1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/negators/not2.depr_in_cxx17.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/negators/not2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/negators/unary_negate.depr_in_cxx17.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/negators/unary_negate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/operations.implicit_ctad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/range.cmp/equal_to.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/range.cmp/greater.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/range.cmp/greater_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/range.cmp/less.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/range.cmp/less_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/range.cmp/not_equal_to.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/binder_typedefs.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.access/conversion.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.assign/copy_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.const/copy_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.const/ctor.incomplete.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.const/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.helpers/cref.incomplete.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.helpers/cref_1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.helpers/cref_2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.helpers/lwg3146.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref.incomplete.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_1.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke.incomplete.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke_int_0.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke_void_0.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/refwrap.invoke/robust_against_adl.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/type_properties.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/unwrap_ref_decay.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/unwrap_reference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/refwrap/weak_result.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/unord.hash/enabled_hashes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/unord.hash/enum.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/unord.hash/enum.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/unord.hash/floating.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/unord.hash/integral.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/unord.hash/non_enum.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/intseq/intseq.general/integer_seq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/intseq/intseq.intseq/integer_seq.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/intseq/intseq.intseq/integer_seq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/intseq/intseq.make/make_integer_seq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/intseq/intseq.make/make_integer_seq.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.tag/allocator_arg.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.tag/allocator_arg.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate_at_least.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate_hint.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.members/construct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.members/deallocate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.members/destroy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.members/incomplete_type_helper.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.members/select_on_container_copy_construction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.types/const_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.types/const_void_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.types/difference_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.types/is_always_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.types/pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.types/propagate_on_container_copy_assignment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.types/propagate_on_container_move_assignment.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.types/propagate_on_container_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.types/rebind_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.types/size_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator.traits.types/void_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/allocator_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/rebind_traits.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.traits/value_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.uses/allocator.uses.construction/common.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.uses/allocator.uses.construction/make_obj_using_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.uses/allocator.uses.construction/uninitialized_construct_using_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.uses/allocator.uses.construction/uses_allocator_construction_args.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/allocator.uses/allocator.uses.trait/uses_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/c.malloc/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/default.allocator/PR50299.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/default.allocator/allocator.ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/default.allocator/allocator.dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/default.allocator/allocator.globals/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/default.allocator/allocator.members/allocate.constexpr.size.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/default.allocator/allocator.members/allocate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/default.allocator/allocator.members/allocate.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/default.allocator/allocator.members/allocate_at_least.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/default.allocator/allocator_pointers.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/default.allocator/allocator_types.deprecated_in_cxx17.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/default.allocator/allocator_types.deprecated_in_cxx23.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/default.allocator/allocator_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/default.allocator/allocator_types.removed_in_cxx20.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/default.allocator/allocator_types.removed_in_cxx26.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/default.allocator/allocator_types.void.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/pointer.conversion/to_address.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/pointer.conversion/to_address_on_funcptr.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/pointer.conversion/to_address_on_function.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/pointer.conversion/to_address_std_iterators.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/pointer.conversion/to_address_without_pointer_traits.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/pointer.traits/pointer.traits.types/difference_type.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/pointer.traits/pointer.traits.types/element_type.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/pointer.traits/pointer.traits.types/lwg3545.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/pointer.traits/pointer.traits.types/pointer.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/pointer.traits/pointer.traits.types/rebind.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/pointer.traits/ptr.pointer_to.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/pointer.traits/ptr.types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/ptr.align/align.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/ptr.align/assume_aligned.nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/ptr.align/assume_aligned.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/buffer.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/counted.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/overload_compare_iterator.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/ranges_robust_against_nonbool.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/specialized.addressof/addressof.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/specialized.addressof/addressof.temp.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/specialized.addressof/constexpr_addressof.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/specialized.construct/ranges_construct_at.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy_at.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/specialized.destroy/ranges_destroy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/specialized.destroy/ranges_destroy_at.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/specialized.destroy/ranges_destroy_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/uninitialized_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/uninitialized_copy_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.fill.n/ranges_uninitialized_fill_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.fill.n/uninitialized_fill_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.fill/ranges_uninitialized_fill.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.fill/uninitialized_fill.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move_n.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/storage.iterator/deprecated.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/storage.iterator/raw_storage_iterator.base.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/storage.iterator/raw_storage_iterator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/storage.iterator/types.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/temporary.buffer/depr.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/temporary.buffer/temporary_buffer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/unique.ptr/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/unique.ptr/unique.ptr.special/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/unique.ptr/unique.ptr.special/io.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.enab/enable_shared_from_this.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.hash/enabled_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_shared_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_unique_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_is_lock_free.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.getdeleter/get_deleter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/auto_ptr_Y.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/shared_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/shared_ptr_Y.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/shared_ptr_Y_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/shared_ptr_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/unique_ptr_Y.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/const_pointer_cast.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/dynamic_pointer_cast.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/reinterpret_pointer_cast.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/static_pointer_cast.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cmp/cmp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cmp/cmp_nullptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/deduction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter_allocator_throw.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter_throw.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter_allocator_throw.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter_throw.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_throw.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_Y.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_Y_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_copy_move.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/weak_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared.array.bounded.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared.array.unbounded.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared.explicit_conversion.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared.lwg2070.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared_for_overwrite.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.array.bounded.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.array.unbounded.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.private.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared_for_overwrite.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.dest/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.io/io.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/reset.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/reset_helper.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/reset_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/reset_pointer_deleter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/reset_pointer_deleter_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/arrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/op_arrow.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/op_bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/op_bracket.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/op_bracket.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/owner_before_shared_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/owner_before_weak_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/unique.deprecated_in_cxx17.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/unique.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/unique.removed_in_cxx20.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.spec/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.ownerless/owner_less.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.assign/shared_ptr_Y.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.assign/weak_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.assign/weak_ptr_Y.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/pr40459.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/shared_ptr_Y.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/shared_ptr_deduction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/weak_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/weak_ptr_Y.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.dest/tested_elsewhere.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.mod/reset.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.mod/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.obs/expired.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.obs/lock.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.obs/not_less_than.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.obs/owner_before_shared_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.obs/owner_before_weak_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.spec/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/memory/util.smartptr/util.smartptr.weakptr/bad_weak_ptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.const.eval/is_constant_evaluated.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.const.eval/is_constant_evaluated.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.help/bool_constant.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.help/integral_constant.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.logical/conjunction.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.logical/disjunction.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.logical/negation.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.rel/is_base_of.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.rel/is_base_of_union.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.rel/is_invocable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.rel/is_invocable_r.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.rel/is_invocable_r_v.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.rel/is_nothrow_convertible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.rel/is_nothrow_invocable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.rel/is_same.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.rqmts/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.arr/remove_all_extents.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.arr/remove_extent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.cv/add_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.cv/add_cv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.cv/add_volatile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.cv/remove_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.cv/remove_cv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.cv/remove_volatile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.depr.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_union.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_union.depr.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_union.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/common_reference.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/common_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/conditional.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/decay.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/enable_if.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/enable_if.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/enable_if2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/remove_cvref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/result_of.deprecated.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/result_of.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/type_identity.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/underlying_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.other/underlying_type.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.ptr/add_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.ptr/remove_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.ref/add_lvalue_ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.ref/add_rvalue_ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.ref/remove_ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.sign/make_signed.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/meta.trans.sign/make_unsigned.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.trans/objc_support.compile.pass.mm delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.type.synop/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary.prop.query/alignment_of.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary.prop.query/extent.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary.prop.query/rank.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary.prop.query/void_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/dependent_return_type.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/class.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/enum.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/floating_point.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/function.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/integral.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/is_class.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/is_enum.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/is_floating_point.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/is_function.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/is_integral.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/is_lvalue_reference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_object_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/is_member_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/is_null_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/is_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/is_rvalue_reference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/is_union.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/is_void.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/lvalue_ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/member_object_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/nullptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/rvalue_ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/union.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.cat/void.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/class.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/enum.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/floating_point.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/function.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/integral.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/is_arithmetic.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/is_bounded_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/is_compound.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/is_fundamental.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/is_member_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/is_object.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/is_reference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/is_scalar.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/is_unbounded_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/lvalue_ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/member_function_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/member_object_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/rvalue_ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/union.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.comp/void.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/common.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/has_virtual_destructor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_abstract.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_aggregate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_assignable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_assignable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_constructible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_default_constructible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_destructible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_empty.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_final.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_literal_type.deprecated.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_literal_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_assignable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_constructible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_assignable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_constructible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_assignable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_constructible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_default_constructible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_destructible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_assignable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_constructible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_swappable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_swappable_with.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_pod.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_polymorphic.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_scoped_enum.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_signed.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_standard_layout.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_swappable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_swappable_include_order.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_swappable_with.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_constructible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_default_constructible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_destructible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_unsigned.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/meta/meta.unary/meta.unary.prop/is_volatile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/iterator_concept_conformance.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.comp_with_t/compare.three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.comp_with_t/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.comp_with_t/greater.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.comp_with_t/greater_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.comp_with_t/less_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.comp_with_t/less_than.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.comp_with_t/not_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.hash/enabled_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.hash/hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.monadic/and_then.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.monadic/or_else.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.monadic/transform.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.nullops/compare.three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.nullops/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.nullops/greater.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.nullops/greater_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.nullops/less_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.nullops/less_than.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.nullops/not_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.nullopt/nullopt_t.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.nullopt/nullopt_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.assign/assign_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.assign/const_optional_U.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.assign/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.assign/emplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.assign/emplace_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.assign/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.assign/nullopt_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.assign/optional_U.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.ctor/const_optional_U.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.ctor/ctor.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.ctor/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.ctor/deduct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.ctor/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.ctor/empty_in_place_t_does_not_clobber.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.ctor/explicit_const_optional_U.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.ctor/explicit_optional_U.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.ctor/initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.ctor/nullopt_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.ctor/optional_U.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.dtor/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.mod/reset.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.observe/bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.observe/dereference.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.observe/dereference_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.observe/dereference_const_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.observe/dereference_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.observe/has_value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.observe/op_arrow.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.observe/op_arrow_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.observe/value_const.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.observe/value_or.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.observe/value_or_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional.object.swap/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/optional_requires_destructible_object.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/special_members.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/triviality.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.object/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.relops/compare.three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.relops/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.relops/greater_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.relops/greater_than.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.relops/less_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.relops/less_than.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.relops/not_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.specalg/make_optional.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.specalg/make_optional_explicit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.specalg/make_optional_explicit_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.specalg/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.syn/optional_in_place_t.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.syn/optional_includes_initializer_list.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/optional/optional.syn/optional_nullopt_t.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.arithmetic/R1_R2_requirement.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.arithmetic/ratio_add.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.arithmetic/ratio_add.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.arithmetic/ratio_divide.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.arithmetic/ratio_divide.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.arithmetic/ratio_multiply.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.arithmetic/ratio_multiply.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.arithmetic/ratio_subtract.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.arithmetic/ratio_subtract.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.comparison/R1_R2_requirement.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.comparison/R1_R2_requirement_v.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.comparison/ratio_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.comparison/ratio_greater.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.comparison/ratio_greater_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.comparison/ratio_less.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.comparison/ratio_less_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.comparison/ratio_not_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.ratio/ratio.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.ratio/ratio1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.ratio/ratio2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.ratio/ratio3.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/ratio.si/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/ratio/typedefs.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/README.TXT delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/pointer_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.runtime.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.single.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/null.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/nullptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/auto_pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/move_convert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/move_convert.runtime.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/move_convert.single.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/nullptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/pointer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/pointer_deleter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/pointer_deleter.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.dtor/null.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.modifiers/release.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.modifiers/reset.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.modifiers/reset.runtime.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.modifiers/reset.single.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.modifiers/reset_self.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.modifiers/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/dereference.single.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/dereference.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/explicit_bool.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/get.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/get_deleter.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_arrow.single.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_arrow.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_subscript.runtime.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_subscript.single.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.create/make_unique.array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.create/make_unique.array1.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.create/make_unique.array2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.create/make_unique.array3.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.create/make_unique.array4.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.create/make_unique.single.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.create/make_unique.sizezero.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.create/make_unique_for_overwrite.default_init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.create/make_unique_for_overwrite.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.dflt/convert_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.dflt/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.dflt/incomplete.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.dflt/void.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.dflt1/convert_ctor.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.dflt1/convert_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.dflt1/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.dflt1/incomplete.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.special/cmp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.special/cmp_nullptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/smartptr/unique.ptr/unique.ptr.special/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.cons/char_ptr_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.cons/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.cons/string_view_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.cons/ull_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.hash/bitset.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.hash/enabled_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/all.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/any.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/count.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/flip_all.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/flip_one.out_of_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/flip_one.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/index.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/left_shift.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/left_shift_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/none.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/not_all.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/op_eq_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/op_or_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/op_xor_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/reset_all.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/reset_one.out_of_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/reset_one.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/right_shift.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/right_shift_eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/set_all.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/set_one.out_of_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/set_one.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/test.out_of_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/test.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/to_string.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/to_ullong.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.members/to_ulong.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.operators/op_and.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.operators/op_not.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.operators/op_or.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.operators/stream_in.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset.operators/stream_out.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/bitset_test_cases.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/template.bitset/includes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.general/ignore.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.general/tuple.smartptr.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/PR27375.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/PR38601.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/TupleFunction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/alloc_first.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/alloc_last.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.apply/apply.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.apply/apply_extended_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.apply/apply_large_arity.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.assign/const_convert_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.assign/const_convert_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.assign/const_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.assign/const_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.assign/const_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.assign/const_pair_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.assign/const_pair_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.assign/derived_from_tuple_like.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.assign/laziness.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.assign/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.assign/move_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/PR20855_tuple_ref_binding_diagnostics.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/PR22806_constrain_tuple_like_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/PR23256_constrain_UTypes_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/PR27684_contains_ref_to_incomplete_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/PR31384.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_UTypes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_const_Types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_const_Types.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_const_move_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_const_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_const_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_copy.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_move.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_non_const_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_move_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_non_const_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/cnstr_with_any.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types2.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_move_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_const_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_non_const_copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/copy.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/deduct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/default.lazy.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/default.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/empty_tuple_trivial.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/non_const_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/recursion_depth.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/test_lazy_sfinae.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.creation/forward_as_tuple.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.creation/make_tuple.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.creation/tie.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_const.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_const_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_const_rv.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_non_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple.include.array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple.include.ranges.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple.include.utility.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_element.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_element.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_incomplete.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_incomplete.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_structured_bindings.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_v.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_v.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_value_sfinae.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.rel/eq.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.rel/lt.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.rel/size_incompatible_comparison.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.rel/size_incompatible_three_way.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.rel/three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.special/non_member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.special/non_member_swap_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.swap/member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.swap/member_swap_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/tuple/tuple.tuple/tuple.traits/uses_allocator.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/type.index/type.index.hash/enabled_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/type.index/type.index.hash/hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/type.index/type.index.members/cmp.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/type.index/type.index.members/ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/type.index/type.index.members/hash_code.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/type.index/type.index.members/name.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/type.index/type.index.overview/copy_assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/type.index/type.index.overview/copy_ctor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/type.index/type.index.synopsis/hash_type_index.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utilities.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility.requirements/allocator.requirements/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility.requirements/hash.requirements/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility.requirements/nullablepointer.requirements/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility.requirements/swappable.requirements/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility.requirements/utility.arg.requirements/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/as_const/as_const.compile.fail.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/as_const/as_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/declval/declval.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/declval/declval.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/exchange/exchange.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/forward/forward.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/forward/forward.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/forward/forward_like.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/forward/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/forward/move.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/forward/move_if_noexcept.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/assign.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/memory_resource_convert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.ctor/other_alloc.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.eq/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.eq/not_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate_deallocate_bytes.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate_deallocate_object.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/allocate_deallocate_vocabulary.nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair_const_lvalue_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair_rvalue.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_pair_values.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_piecewise_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_piecewise_pair_evil.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/construct_types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/deallocate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/default_type.compile.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/destroy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/new_delete_object.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/resource.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/select_on_container_copy_construction.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/tracking_mem_res.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_deque_synop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_deque_synop2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_forward_list_synop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_list_synop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_list_synop2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_map_synop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_map_synop2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_regex_synop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_set_synop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_set_synop2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_string_synop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_string_synop2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_map_synop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_map_synop2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_set_synop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_unordered_set_synop2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_vector_synop.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.aliases/header_vector_synop2.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.global/default_resource.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.global/new_delete_resource.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.global/null_memory_resource.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/copy_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/with_default_resource.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/without_buffer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_deallocate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_exception_safety.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_from_initial_buffer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_from_zero_sized_buffer.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_in_geometric_progression.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_overaligned_request.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_with_initial_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/equality.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.ctor/ctor_does_not_allocate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.ctor/sync_with_default_resource.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.ctor/unsync_with_default_resource.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/equality.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate_overaligned_request.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate_reuse_blocks.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_deallocate_matches_allocate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate_overaligned_request.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate_reuse_blocks.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_deallocate_matches_allocate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res/construct.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res/mem.res.eq/equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res/mem.res.eq/not_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res/mem.res.private/private_members.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res/mem.res.private/protected_members.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res/mem.res.public/allocate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res/mem.res.public/deallocate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res/mem.res.public/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/mem.res/mem.res.public/is_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/mem.res/nodiscard.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/operators/rel_ops.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pair.astuple/get_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pair.astuple/get_const.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pair.astuple/get_const_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pair.astuple/get_non_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pair.astuple/get_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type1.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type2.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type3.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pair.astuple/tuple_element.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pair.astuple/tuple_element.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pair.astuple/tuple_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pair.piecewise/piecewise_construct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pair.piecewise/piecewise_construct_t.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pair.piecewise/piecewise_construct_t.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/assign.pair_like_rv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/assign.pair_like_rv_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/assign_const_copy_convert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/assign_const_copy_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/assign_const_move_convert.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/assign_const_move_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/assign_const_pair_U_V.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/assign_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/assign_pair_cxx03.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair_U_V.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.U_V.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.brace-init.P1951.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.brace-init.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.const_first_const_second.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.const_first_const_second_cxx03.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.copy_move_trivial.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.default.explicit_LWG2510.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.default.sfinae_LWG2367.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.not_constexpr_cxx11.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_U_V_const_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_U_V_const_ref.cxx03.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_U_V_const_ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_U_V_move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_U_V_ref.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_like.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/ctor.piecewise_construct.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/special_member_generation_test.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/swap_member_const.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.pair/types.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.spec/make_pair.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.spec/non_member_const_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.spec/non_member_swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/pairs/pairs.spec/three_way_comparison.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/synopsis.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/utility.inplace/inplace.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/utility.intcmp/intcmp.cmp_equal/cmp_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/utility.intcmp/intcmp.cmp_greater/cmp_greater.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/utility.intcmp/intcmp.cmp_greater_equal/cmp_greater_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/utility.intcmp/intcmp.cmp_less/cmp_less.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/utility.intcmp/intcmp.cmp_less_equal/cmp_less_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/utility.intcmp/intcmp.cmp_not_equal/cmp_not_equal.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/utility.intcmp/intcmp.in_range/in_range.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/utility.intcmp/intcmp.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/utility.swap/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/utility.swap/swap_array.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/utility.underlying/to_underlying.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/utility.underlying/to_underlying.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/utility.unreachable/assert.unreachable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/utility.unreachable/unreachable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/utility/utility.unreachable/unreachable.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.general/nothing_to_do.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.get/get_if_index.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.get/get_if_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.get/get_index.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.get/get_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.get/holds_alternative.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.hash/enabled_hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.hash/hash.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.helpers/variant_alternative.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.helpers/variant_alternative.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.helpers/variant_size.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.monostate.relops/relops.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.monostate/monostate.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.relops/relops.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.relops/relops_bool_conv.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.relops/three_way.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.synopsis/variant_npos.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/implicit_ctad.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.assign/conv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.assign/copy.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.ctor/conv.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.dtor/dtor.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.status/index.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.status/valueless_by_exception.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant_array.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant_empty.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant_reference.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.variant/variant_void.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.visit.member/robust_against_adl.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.visit.member/visit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.visit/robust_against_adl.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.visit/visit.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/std/utilities/variant/variant.visit/visit_return_type.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/Counter.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/DefaultOnly.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/MoveOnly.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/allocators.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/almost_satisfies_types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/any_helpers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/archetypes.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/archetypes.ipp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/asan_testing.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/assert_macros.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/atomic_helpers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/boolean_testable.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/callable_types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/charconv_test_helpers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/check_assertion.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/cmpxchg_loop.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/compare_types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/concat_macros.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/constexpr_char_traits.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/container_debug_tests.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/container_test_types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/controlled_allocators.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/copy_move_types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/count_new.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/counting_predicates.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/counting_projection.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/deduction_guides_sfinae_checks.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/deleter_types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/emplace_constructible.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/experimental_any_helpers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/filesystem_test_helper.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/format.functions.common.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/format_string.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/fp_compare.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/hexfloat.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/indirectly_readable.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/invocable_with_telemetry.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/is_transparent.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/iterator_traits_cpp17_iterators.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/locale_helpers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/make_implicit.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/make_string.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/make_test_thread.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/maths.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/min_allocator.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/msvc_stdlib_force_include.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/nasty_containers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/nasty_string.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/operator_hijacker.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/parse_integer.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/platform_support.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/pointer_comparison_test_helper.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/poisoned_hash_helper.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/private_constructor.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/propagate_const_helpers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/propagate_value_category.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/read_write.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/set_windows_crt_report_mode.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/string_literal.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/template_cost_testing.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test.support/make_string_header.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test.support/test_check_assertion.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test.support/test_convertible_header.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test.support/test_macros_header.exceptions.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test.support/test_macros_header.no_exceptions.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test.support/test_macros_header.no_rtti.verify.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test.support/test_macros_header.rtti.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test.support/test_poisoned_hash_helper.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test.support/test_proxy.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test.support/type_algorithms.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test.workarounds/c1xx_broken_is_trivially_copyable.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test.workarounds/c1xx_broken_za_ctor_check.pass.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test_allocator.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test_basic_format_arg.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test_comparisons.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test_constexpr_container.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test_container_comparisons.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test_convertible.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test_execution_policies.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test_format_context.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test_format_string.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test_iterators.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test_macros.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test_range.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test_std_memory_resource.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test_transparent_unordered.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test_tzdb.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/test_workarounds.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/truncate_fp.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/type_algorithms.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/type_classification/copyable.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/type_classification/movable.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/type_classification/moveconstructible.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/type_classification/semiregular.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/type_classification/swappable.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/type_id.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/unique_ptr_test_helper.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/unwrap_container_adaptor.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/user_defined_integral.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/uses_alloc_types.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/variant_test_helpers.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/support/wide_temp_file.h delete mode 100644 naiveproxy/src/third_party/libc++/src/test/tools/CMakeLists.txt delete mode 100644 naiveproxy/src/third_party/libc++/src/test/tools/clang_tidy_checks/CMakeLists.txt delete mode 100644 naiveproxy/src/third_party/libc++/src/test/tools/clang_tidy_checks/abi_tag_on_virtual.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/tools/clang_tidy_checks/abi_tag_on_virtual.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/tools/clang_tidy_checks/header_exportable_declarations.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/tools/clang_tidy_checks/header_exportable_declarations.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/tools/clang_tidy_checks/hide_from_abi.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/tools/clang_tidy_checks/hide_from_abi.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/tools/clang_tidy_checks/libcpp_module.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/tools/clang_tidy_checks/proper_version_checks.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/tools/clang_tidy_checks/proper_version_checks.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/tools/clang_tidy_checks/qualify_declval.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/tools/clang_tidy_checks/qualify_declval.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/tools/clang_tidy_checks/robust_against_adl.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/tools/clang_tidy_checks/robust_against_adl.hpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/tools/clang_tidy_checks/uglify_attributes.cpp delete mode 100644 naiveproxy/src/third_party/libc++/src/test/tools/clang_tidy_checks/uglify_attributes.hpp create mode 100644 naiveproxy/src/third_party/zstd/src/.github/workflows/commit.yml create mode 100644 naiveproxy/src/third_party/zstd/src/.github/workflows/nightly.yml delete mode 100644 naiveproxy/src/third_party/zstd/src/build/cmake/zstdConfig.cmake create mode 100644 naiveproxy/src/third_party/zstd/src/build/cmake/zstdConfig.cmake.in create mode 100644 naiveproxy/src/third_party/zstd/src/doc/decompressor_permissive.md create mode 100755 naiveproxy/src/third_party/zstd/src/tests/cli-tests/file-handling/directory-mirror.sh rename naiveproxy/src/third_party/{libc++/src/test/libcxx/selftest/file_dependencies/a.txt => zstd/src/tests/cli-tests/file-handling/directory-mirror.sh.stderr.exact} (100%) rename naiveproxy/src/third_party/{libc++/src/test/libcxx/selftest/file_dependencies/dir/b.txt => zstd/src/tests/cli-tests/file-handling/directory-mirror.sh.stdout.exact} (100%) create mode 100644 naiveproxy/src/third_party/zstd/src/tests/golden-decompression-errors/off0.bin.zst create mode 100644 naiveproxy/src/third_party/zstd/src/tests/golden-decompression-errors/zeroSeq_extraneous.zst create mode 100644 naiveproxy/src/third_party/zstd/src/tests/largeDictionary.c create mode 100644 openwrt-packages/alist/src/public/dist/assets/logo.png rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/Makefile (95%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/luasrc/controller/koolproxy.lua (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/luasrc/model/cbi/koolproxy/add_rule.lua (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/luasrc/model/cbi/koolproxy/basic.lua (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/luasrc/model/cbi/koolproxy/black_list.lua (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/luasrc/model/cbi/koolproxy/cert.lua (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/luasrc/model/cbi/koolproxy/control.lua (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/luasrc/model/cbi/koolproxy/custom_rule.lua (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/luasrc/model/cbi/koolproxy/ip_black_list.lua (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/luasrc/model/cbi/koolproxy/ip_white_list.lua (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/luasrc/model/cbi/koolproxy/rss_rule.lua (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/luasrc/model/cbi/koolproxy/tips.lua (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/luasrc/model/cbi/koolproxy/update_log.lua (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/luasrc/model/cbi/koolproxy/white_list.lua (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/luasrc/view/koolproxy/cadvalue.htm (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/luasrc/view/koolproxy/caupload.htm (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/luasrc/view/koolproxy/koolproxy_status.htm (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/luasrc/view/koolproxy/tips.htm (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/etc/adblocklist/adblock (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/etc/adblocklist/adblockip (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/etc/adblocklist/adbypass (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/etc/adblocklist/adbypassip (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/etc/config/koolproxy (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/etc/init.d/koolproxy (99%) mode change 100755 => 100644 rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/etc/uci-defaults/luci-koolproxy (100%) mode change 100755 => 100644 rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/lib/upgrade/keep.d/koolproxy (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/usr/sbin/adblockplus (100%) mode change 100755 => 100644 rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/usr/share/koolproxy/adblock.conf (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/usr/share/koolproxy/camanagement (100%) mode change 100755 => 100644 rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/usr/share/koolproxy/data/gen_ca.sh (100%) mode change 100755 => 100644 rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/usr/share/koolproxy/data/openssl.cnf (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/usr/share/koolproxy/data/rules/user.txt (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/usr/share/koolproxy/data/source.list (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/usr/share/koolproxy/data/user.txt (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/usr/share/koolproxy/dnsmasq.adblock (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/usr/share/koolproxy/koolproxy_ipset.conf (100%) rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/usr/share/koolproxy/kpupdate (100%) mode change 100755 => 100644 rename openwrt-packages/luci-app-ikoolproxy/{ => luci-app-ikoolproxy}/root/usr/share/rpcd/acl.d/luci-app-ikoolproxy.json (100%) diff --git a/.github/update.log b/.github/update.log index 7609253e80..d3c69eadaf 100644 --- a/.github/update.log +++ b/.github/update.log @@ -668,3 +668,4 @@ Update On Fri Jun 7 01:07:11 CEST 2024 Update On Fri Jun 7 20:34:28 CEST 2024 Update On Sat Jun 8 20:29:12 CEST 2024 Update On Sun Jun 9 20:29:25 CEST 2024 +Update On Mon Jun 10 20:32:26 CEST 2024 diff --git a/bbdown/BBDown/BBDownLoginUtil.cs b/bbdown/BBDown/BBDownLoginUtil.cs index f0191110c8..1d3aac217d 100644 --- a/bbdown/BBDown/BBDownLoginUtil.cs +++ b/bbdown/BBDown/BBDownLoginUtil.cs @@ -65,8 +65,8 @@ namespace BBDown { string cc = JsonDocument.Parse(w).RootElement.GetProperty("data").GetProperty("url").ToString(); Log("登录成功: SESSDATA=" + GetQueryString("SESSDATA", cc)); - //导出cookie - File.WriteAllText(Path.Combine(Program.APP_DIR, "BBDown.data"), cc[(cc.IndexOf('?') + 1)..].Replace("&", ";")); + //导出cookie, 转义英文逗号 否则部分场景会出问题 + File.WriteAllText(Path.Combine(Program.APP_DIR, "BBDown.data"), cc[(cc.IndexOf('?') + 1)..].Replace("&", ";").Replace(",", "%2C")); File.Delete("qrcode.png"); break; } diff --git a/clash-meta/go.mod b/clash-meta/go.mod index a6664b5909..5d109d8de6 100644 --- a/clash-meta/go.mod +++ b/clash-meta/go.mod @@ -19,7 +19,7 @@ require ( github.com/lunixbochs/struc v0.0.0-20200707160740-784aaebc1d40 github.com/mdlayher/netlink v1.7.2 github.com/metacubex/gopacket v1.1.20-0.20230608035415-7e2f98a3e759 - github.com/metacubex/quic-go v0.45.1-0.20240607133845-b24f02b35a22 + github.com/metacubex/quic-go v0.45.1-0.20240610004319-163fee60637e github.com/metacubex/randv2 v0.2.0 github.com/metacubex/sing-quic v0.0.0-20240518034124-7696d3f7da72 github.com/metacubex/sing-shadowsocks v0.2.6 diff --git a/clash-meta/go.sum b/clash-meta/go.sum index c75275bce0..5c8219c2bb 100644 --- a/clash-meta/go.sum +++ b/clash-meta/go.sum @@ -104,8 +104,8 @@ github.com/metacubex/gopacket v1.1.20-0.20230608035415-7e2f98a3e759 h1:cjd4biTvO github.com/metacubex/gopacket v1.1.20-0.20230608035415-7e2f98a3e759/go.mod h1:UHOv2xu+RIgLwpXca7TLrXleEd4oR3sPatW6IF8wU88= github.com/metacubex/gvisor v0.0.0-20240320004321-933faba989ec h1:HxreOiFTUrJXJautEo8rnE1uKTVGY8wtZepY1Tii/Nc= github.com/metacubex/gvisor v0.0.0-20240320004321-933faba989ec/go.mod h1:8BVmQ+3cxjqzWElafm24rb2Ae4jRI6vAXNXWqWjfrXw= -github.com/metacubex/quic-go v0.45.1-0.20240607133845-b24f02b35a22 h1:dKYoWnrB5bbCMoMQit4INUDKiDcjc0Azsm3GltYf9Pw= -github.com/metacubex/quic-go v0.45.1-0.20240607133845-b24f02b35a22/go.mod h1:Yza2H7Ax1rxWPUcJx0vW+oAt9EsPuSiyQFhFabUPzwU= +github.com/metacubex/quic-go v0.45.1-0.20240610004319-163fee60637e h1:bLYn3GuRvWDcBDAkIv5kUYIhzHwafDVq635BuybnKqI= +github.com/metacubex/quic-go v0.45.1-0.20240610004319-163fee60637e/go.mod h1:Yza2H7Ax1rxWPUcJx0vW+oAt9EsPuSiyQFhFabUPzwU= github.com/metacubex/randv2 v0.2.0 h1:uP38uBvV2SxYfLj53kuvAjbND4RUDfFJjwr4UigMiLs= github.com/metacubex/randv2 v0.2.0/go.mod h1:kFi2SzrQ5WuneuoLLCMkABtiBu6VRrMrWFqSPyj2cxY= github.com/metacubex/sing v0.0.0-20240518125217-e63d65a914d1 h1:7hDHLTmjgtRoAp59STwPQpe5Pinwi4cWex+FB3Ohvco= diff --git a/clash-nyanpasu/backend/Cargo.lock b/clash-nyanpasu/backend/Cargo.lock index e8d718e634..df61c9cd2e 100644 --- a/clash-nyanpasu/backend/Cargo.lock +++ b/clash-nyanpasu/backend/Cargo.lock @@ -4563,9 +4563,9 @@ dependencies = [ [[package]] name = "redb" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed7508e692a49b6b2290b56540384ccae9b1fb4d77065640b165835b56ffe3bb" +checksum = "a6dd20d3cdeb9c7d2366a0b16b93b35b75aec15309fbeb7ce477138c9f68c8c0" dependencies = [ "libc", ] diff --git a/echo/go.mod b/echo/go.mod index a9845539e9..347b82cb9c 100644 --- a/echo/go.mod +++ b/echo/go.mod @@ -57,7 +57,9 @@ require ( github.com/google/pprof v0.0.0-20240227163752-401108e1b7e7 // indirect github.com/google/uuid v1.6.0 // indirect github.com/gorilla/websocket v1.5.1 // indirect + github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-envparse v0.1.0 // indirect + github.com/hashicorp/go-retryablehttp v0.7.7 // indirect github.com/hodgesds/perf-utils v0.7.0 // indirect github.com/illumos/go-kstat v0.0.0-20210513183136-173c9b0a9973 // indirect github.com/josharian/native v1.1.0 // indirect diff --git a/echo/go.sum b/echo/go.sum index ddfab4b747..058ef10277 100644 --- a/echo/go.sum +++ b/echo/go.sum @@ -118,8 +118,12 @@ github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/ github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-envparse v0.1.0 h1:bE++6bhIsNCPLvgDZkYqo3nA+/PFI51pkrHdmPSDFPY= github.com/hashicorp/go-envparse v0.1.0/go.mod h1:OHheN1GoygLlAkTlXLXvAdnXdZxy8JUweQ1rAXx1xnc= +github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISHxT2Q8+VepXU= +github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= github.com/hodgesds/perf-utils v0.7.0 h1:7KlHGMuig4FRH5fNw68PV6xLmgTe7jKs9hgAcEAbioU= github.com/hodgesds/perf-utils v0.7.0/go.mod h1:LAklqfDadNKpkxoAJNHpD5tkY0rkZEVdnCEWN5k4QJY= github.com/illumos/go-kstat v0.0.0-20210513183136-173c9b0a9973 h1:hk4LPqXIY/c9XzRbe7dA6qQxaT6Axcbny0L/G5a4owQ= diff --git a/echo/internal/cmgr/metric_sync.go b/echo/internal/cmgr/metric_sync.go index 267166e31c..47137f7a5d 100644 --- a/echo/internal/cmgr/metric_sync.go +++ b/echo/internal/cmgr/metric_sync.go @@ -2,7 +2,6 @@ package cmgr import ( "context" - "net/http" "github.com/Ehco1996/ehco/internal/conn" "github.com/Ehco1996/ehco/internal/constant" @@ -72,9 +71,10 @@ func (cm *cmgrImpl) syncOnce(ctx context.Context) error { } cm.closedConnectionsMap = make(map[string][]conn.RelayConn) cm.lock.Unlock() + if cm.cfg.NeedSync() { cm.l.Debug("syncing data to server", zap.Any("data", req)) - return myhttp.PostJson(http.DefaultClient, cm.cfg.SyncURL, &req) + return myhttp.PostJSONWithRetry(cm.cfg.SyncURL, &req) } else { cm.l.Debugf("remove %d closed connections", len(req.Stats)) } diff --git a/echo/internal/config/config.go b/echo/internal/config/config.go index 3752e02ae0..2cb14ac97a 100644 --- a/echo/internal/config/config.go +++ b/echo/internal/config/config.go @@ -3,11 +3,12 @@ package config import ( "encoding/json" "fmt" - "net/http" "os" "strings" "time" + myhttp "github.com/Ehco1996/ehco/pkg/http" + "github.com/Ehco1996/ehco/internal/relay/conf" "github.com/Ehco1996/ehco/pkg/sub" xConf "github.com/xtls/xray-core/infra/conf" @@ -79,14 +80,8 @@ func (c *Config) readFromFile() error { } func (c *Config) readFromHttp() error { - httpc := &http.Client{Timeout: 10 * time.Second} - r, err := httpc.Get(c.PATH) - if err != nil { - return err - } - defer r.Body.Close() c.l.Infof("Load Config From HTTP: %s", c.PATH) - return json.NewDecoder(r.Body).Decode(&c) + return myhttp.GetJSONWithRetry(c.PATH, &c) } func (c *Config) Adjust() error { diff --git a/echo/pkg/http/http.go b/echo/pkg/http/http.go index a4302de71e..e74ed3611a 100644 --- a/echo/pkg/http/http.go +++ b/echo/pkg/http/http.go @@ -4,15 +4,19 @@ import ( "bytes" "encoding/json" "io" - "net/http" + + "github.com/hashicorp/go-retryablehttp" ) -func PostJson(c *http.Client, url string, dataStruct interface{}) error { +func PostJSONWithRetry(url string, dataStruct interface{}) error { + retryClient := retryablehttp.NewClient() + retryClient.RetryMax = 3 + buf := new(bytes.Buffer) if err := json.NewEncoder(buf).Encode(dataStruct); err != nil { return err } - r, err := http.Post(url, "application/json", buf) + r, err := retryClient.Post(url, "application/json", buf) if err != nil { return err } @@ -20,3 +24,15 @@ func PostJson(c *http.Client, url string, dataStruct interface{}) error { _, err = io.ReadAll(r.Body) return err } + +func GetJSONWithRetry(url string, dataStruct interface{}) error { + retryClient := retryablehttp.NewClient() + retryClient.RetryMax = 3 + + resp, err := retryablehttp.Get(url) + if err != nil { + return err + } + defer resp.Body.Close() + return json.NewDecoder(resp.Body).Decode(&dataStruct) +} diff --git a/lede/package/boot/arm-trusted-firmware-mediatek/Makefile b/lede/package/boot/arm-trusted-firmware-mediatek/Makefile index aff6d31ec9..d226a655de 100644 --- a/lede/package/boot/arm-trusted-firmware-mediatek/Makefile +++ b/lede/package/boot/arm-trusted-firmware-mediatek/Makefile @@ -9,13 +9,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=arm-trusted-firmware-mediatek -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=https://github.com/mtk-openwrt/arm-trusted-firmware.git -PKG_SOURCE_DATE:=2023-10-13 -PKG_SOURCE_VERSION:=0ea67d76ae8be127c91caa3fcdf449b1fe533175 -PKG_MIRROR_HASH:=b102f6ffaa7cd2202161c44cab4d27f426d9d74c311ea9eb4d2f371ea2af4a2e +PKG_SOURCE_DATE:=2024-01-17 +PKG_SOURCE_VERSION:=bacca82a8cac369470df052a9d801a0ceb9b74ca +PKG_MIRROR_HASH:=d035c1b63a9bd71d752c90540361b66d290e7cf42dcca73259d0950af3569c79 PKG_MAINTAINER:=Daniel Golle diff --git a/lede/package/boot/arm-trusted-firmware-mediatek/patches/0001-mediatek-snfi-FM35Q1GA-is-x4-only.patch b/lede/package/boot/arm-trusted-firmware-mediatek/patches/0001-mediatek-snfi-FM35Q1GA-is-x4-only.patch new file mode 100644 index 0000000000..d8ea1fa402 --- /dev/null +++ b/lede/package/boot/arm-trusted-firmware-mediatek/patches/0001-mediatek-snfi-FM35Q1GA-is-x4-only.patch @@ -0,0 +1,23 @@ +From fb2a2b669ec9bbf5c448d4b56499bc83de075c93 Mon Sep 17 00:00:00 2001 +From: Daniel Golle +Date: Thu, 29 Feb 2024 18:01:08 +0000 +Subject: [PATCH 1/3] mediatek: snfi: FM35Q1GA is x4-only + +Dont allow x2 read and cache read operations on FM35Q1GA. + +Signed-off-by: Daniel Golle +--- + plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-ids.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-ids.c ++++ b/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-ids.c +@@ -423,7 +423,7 @@ static const struct snand_flash_info sna + + SNAND_INFO("FM35Q1GA", SNAND_ID(SNAND_ID_DYMMY, 0xe5, 0x71), + SNAND_MEMORG_1G_2K_64, +- &snand_cap_read_from_cache_x4, ++ &snand_cap_read_from_cache_x4_only, + &snand_cap_program_load_x4), + + SNAND_INFO("PN26G01A", SNAND_ID(SNAND_ID_DYMMY, 0xa1, 0xe1), diff --git a/lede/package/boot/arm-trusted-firmware-mediatek/patches/0002-mediatek-snfi-adjust-pin-drive-strength-for-Fidelix-.patch b/lede/package/boot/arm-trusted-firmware-mediatek/patches/0002-mediatek-snfi-adjust-pin-drive-strength-for-Fidelix-.patch new file mode 100644 index 0000000000..95e3c139f7 --- /dev/null +++ b/lede/package/boot/arm-trusted-firmware-mediatek/patches/0002-mediatek-snfi-adjust-pin-drive-strength-for-Fidelix-.patch @@ -0,0 +1,99 @@ +From 6470986f037880ce76960c369d6e5a5270e7ce32 Mon Sep 17 00:00:00 2001 +From: Daniel Golle +Date: Sun, 10 Mar 2024 15:39:07 +0000 +Subject: [PATCH 2/3] mediatek: snfi: adjust pin drive strength for Fidelix + SPI-NAND + +It seems like we might need to adjust the pin driver strength to 12mA +for Fidelix SPI-NAND chip on MT7622 to avoid SPI data corruption on +some devices. + +Signed-off-by: Daniel Golle +--- + .../apsoc_common/drivers/snfi/mtk-snand-def.h | 7 +++++ + .../apsoc_common/drivers/snfi/mtk-snand-ids.c | 4 ++- + .../apsoc_common/drivers/snfi/mtk-snand.c | 30 +++++++++++++++++++ + 3 files changed, 40 insertions(+), 1 deletion(-) + +--- a/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-def.h ++++ b/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-def.h +@@ -86,6 +86,12 @@ struct snand_mem_org { + + typedef int (*snand_select_die_t)(struct mtk_snand *snf, uint32_t dieidx); + ++enum snand_drv { ++ SNAND_DRV_NO_CHANGE = 0, ++ SNAND_DRV_8mA = 8, ++ SNAND_DRV_12mA = 12, ++}; ++ + struct snand_flash_info { + const char *model; + struct snand_id id; +@@ -93,6 +99,7 @@ struct snand_flash_info { + const struct snand_io_cap *cap_rd; + const struct snand_io_cap *cap_pl; + snand_select_die_t select_die; ++ enum snand_drv drv; + }; + + #define SNAND_INFO(_model, _id, _memorg, _cap_rd, _cap_pl, ...) \ +--- a/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-ids.c ++++ b/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-ids.c +@@ -424,7 +424,9 @@ static const struct snand_flash_info sna + SNAND_INFO("FM35Q1GA", SNAND_ID(SNAND_ID_DYMMY, 0xe5, 0x71), + SNAND_MEMORG_1G_2K_64, + &snand_cap_read_from_cache_x4_only, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + + SNAND_INFO("PN26G01A", SNAND_ID(SNAND_ID_DYMMY, 0xa1, 0xe1), + SNAND_MEMORG_1G_2K_128, +--- a/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand.c ++++ b/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand.c +@@ -1845,6 +1845,33 @@ static int mtk_snand_id_probe(struct mtk + return -EINVAL; + } + ++#define MT7622_GPIO_BASE (void *)0x10211000 ++#define MT7622_GPIO_DRIV(x) (MT7622_GPIO_BASE + 0x900 + 0x10 * x) ++ ++void mtk_mt7622_snand_adjust_drive(void *dev, enum snand_drv drv) ++{ ++ uint32_t e4, e8; ++ ++ e4 = readl(MT7622_GPIO_DRIV(6)) & ~(0x3f00); ++ e8 = readl(MT7622_GPIO_DRIV(7)) & ~(0x3f00); ++ ++ switch (drv) { ++ case SNAND_DRV_8mA: ++ e4 |= 0x3f00; ++ break; ++ case SNAND_DRV_12mA: ++ e8 |= 0x3f00; ++ break; ++ default: ++ return; ++ } ++ ++ snand_log_chip(dev, "adjusting SPI-NAND pin drive strength to %umA\n", drv); ++ ++ writel(e4, MT7622_GPIO_DRIV(6)); ++ writel(e8, MT7622_GPIO_DRIV(7)); ++} ++ + int mtk_snand_init(void *dev, const struct mtk_snand_platdata *pdata, + struct mtk_snand **psnf) + { +@@ -1888,6 +1915,9 @@ int mtk_snand_init(void *dev, const stru + if (ret) + return ret; + ++ if (pdata->soc == SNAND_SOC_MT7622 && snand_info->drv) ++ mtk_mt7622_snand_adjust_drive(dev, snand_info->drv); ++ + rawpage_size = snand_info->memorg.pagesize + + snand_info->memorg.sparesize; + diff --git a/lede/package/boot/arm-trusted-firmware-mediatek/patches/0003-mediatek-snfi-adjust-drive-strength-to-12mA-like-old.patch b/lede/package/boot/arm-trusted-firmware-mediatek/patches/0003-mediatek-snfi-adjust-drive-strength-to-12mA-like-old.patch new file mode 100644 index 0000000000..57de88f8ca --- /dev/null +++ b/lede/package/boot/arm-trusted-firmware-mediatek/patches/0003-mediatek-snfi-adjust-drive-strength-to-12mA-like-old.patch @@ -0,0 +1,135 @@ +From 40a3661bebb3d738ab95b7de66e9d8382d5b9ab1 Mon Sep 17 00:00:00 2001 +From: Daniel Golle +Date: Sun, 10 Mar 2024 17:48:09 +0000 +Subject: [PATCH 3/3] mediatek: snfi: adjust drive strength to 12mA like old + loader does + +In addition to FM35X1GA, also change the driver strength to 12mA for +all chips where this is done by the old/legacy U-Boot: + * Winbond 512Mb + * Winbond 1Gb + * Winbond 2Gb + * GD5F4GQ4UBYIG + * GD5F4GQ4UAYIG + * GD5F1GQ4UX + * GD5F1GQ4UE + * GD5F2GQ4UX + * GD5F2GQ4UE + +Signed-off-by: Daniel Golle +--- + .../apsoc_common/drivers/snfi/mtk-snand-ids.c | 59 ++++++++++++++----- + 1 file changed, 44 insertions(+), 15 deletions(-) + +--- a/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-ids.c ++++ b/plat/mediatek/apsoc_common/drivers/snfi/mtk-snand-ids.c +@@ -80,65 +80,94 @@ static const struct snand_flash_info sna + SNAND_INFO("W25N512GV", SNAND_ID(SNAND_ID_DYMMY, 0xef, 0xaa, 0x20), + SNAND_MEMORG_512M_2K_64, + &snand_cap_read_from_cache_quad, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("W25N01GV", SNAND_ID(SNAND_ID_DYMMY, 0xef, 0xaa, 0x21), + SNAND_MEMORG_1G_2K_64, + &snand_cap_read_from_cache_quad, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("W25M02GV", SNAND_ID(SNAND_ID_DYMMY, 0xef, 0xab, 0x21), + SNAND_MEMORG_2G_2K_64_2D, + &snand_cap_read_from_cache_quad, + &snand_cap_program_load_x4, +- mtk_snand_winbond_select_die), ++ mtk_snand_winbond_select_die, ++ SNAND_DRV_12mA), + SNAND_INFO("W25N02KV", SNAND_ID(SNAND_ID_DYMMY, 0xef, 0xaa, 0x22), + SNAND_MEMORG_2G_2K_128, + &snand_cap_read_from_cache_quad, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + + SNAND_INFO("GD5F1GQ4UAWxx", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0x10), + SNAND_MEMORG_1G_2K_64, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F1GQ4UExIG", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0xd1), + SNAND_MEMORG_1G_2K_128, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F1GQ4UExxH", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0xd9), + SNAND_MEMORG_1G_2K_64, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F1GQ4xAYIG", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0xf1), + SNAND_MEMORG_1G_2K_64, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F2GQ4UExIG", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0xd2), + SNAND_MEMORG_2G_2K_128, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F2GQ5UExxH", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0x32), + SNAND_MEMORG_2G_2K_64, + &snand_cap_read_from_cache_quad_a8d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F2GQ4xAYIG", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0xf2), + SNAND_MEMORG_2G_2K_64, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F4GQ4UBxIG", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0xd4), + SNAND_MEMORG_4G_4K_256, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F4GQ4xAYIG", SNAND_ID(SNAND_ID_ADDR, 0xc8, 0xf4), + SNAND_MEMORG_4G_2K_64, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F2GQ5UExxG", SNAND_ID(SNAND_ID_DYMMY, 0xc8, 0x52), + SNAND_MEMORG_2G_2K_128, + &snand_cap_read_from_cache_quad_a8d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + SNAND_INFO("GD5F4GQ4UCxIG", SNAND_ID(SNAND_ID_DYMMY, 0xc8, 0xb4), + SNAND_MEMORG_4G_4K_256, + &snand_cap_read_from_cache_quad_q2d, +- &snand_cap_program_load_x4), ++ &snand_cap_program_load_x4, ++ NULL, ++ SNAND_DRV_12mA), + + SNAND_INFO("MX35LF1GE4AB", SNAND_ID(SNAND_ID_DYMMY, 0xc2, 0x12), + SNAND_MEMORG_1G_2K_64, diff --git a/mihomo/go.mod b/mihomo/go.mod index a6664b5909..5d109d8de6 100644 --- a/mihomo/go.mod +++ b/mihomo/go.mod @@ -19,7 +19,7 @@ require ( github.com/lunixbochs/struc v0.0.0-20200707160740-784aaebc1d40 github.com/mdlayher/netlink v1.7.2 github.com/metacubex/gopacket v1.1.20-0.20230608035415-7e2f98a3e759 - github.com/metacubex/quic-go v0.45.1-0.20240607133845-b24f02b35a22 + github.com/metacubex/quic-go v0.45.1-0.20240610004319-163fee60637e github.com/metacubex/randv2 v0.2.0 github.com/metacubex/sing-quic v0.0.0-20240518034124-7696d3f7da72 github.com/metacubex/sing-shadowsocks v0.2.6 diff --git a/mihomo/go.sum b/mihomo/go.sum index c75275bce0..5c8219c2bb 100644 --- a/mihomo/go.sum +++ b/mihomo/go.sum @@ -104,8 +104,8 @@ github.com/metacubex/gopacket v1.1.20-0.20230608035415-7e2f98a3e759 h1:cjd4biTvO github.com/metacubex/gopacket v1.1.20-0.20230608035415-7e2f98a3e759/go.mod h1:UHOv2xu+RIgLwpXca7TLrXleEd4oR3sPatW6IF8wU88= github.com/metacubex/gvisor v0.0.0-20240320004321-933faba989ec h1:HxreOiFTUrJXJautEo8rnE1uKTVGY8wtZepY1Tii/Nc= github.com/metacubex/gvisor v0.0.0-20240320004321-933faba989ec/go.mod h1:8BVmQ+3cxjqzWElafm24rb2Ae4jRI6vAXNXWqWjfrXw= -github.com/metacubex/quic-go v0.45.1-0.20240607133845-b24f02b35a22 h1:dKYoWnrB5bbCMoMQit4INUDKiDcjc0Azsm3GltYf9Pw= -github.com/metacubex/quic-go v0.45.1-0.20240607133845-b24f02b35a22/go.mod h1:Yza2H7Ax1rxWPUcJx0vW+oAt9EsPuSiyQFhFabUPzwU= +github.com/metacubex/quic-go v0.45.1-0.20240610004319-163fee60637e h1:bLYn3GuRvWDcBDAkIv5kUYIhzHwafDVq635BuybnKqI= +github.com/metacubex/quic-go v0.45.1-0.20240610004319-163fee60637e/go.mod h1:Yza2H7Ax1rxWPUcJx0vW+oAt9EsPuSiyQFhFabUPzwU= github.com/metacubex/randv2 v0.2.0 h1:uP38uBvV2SxYfLj53kuvAjbND4RUDfFJjwr4UigMiLs= github.com/metacubex/randv2 v0.2.0/go.mod h1:kFi2SzrQ5WuneuoLLCMkABtiBu6VRrMrWFqSPyj2cxY= github.com/metacubex/sing v0.0.0-20240518125217-e63d65a914d1 h1:7hDHLTmjgtRoAp59STwPQpe5Pinwi4cWex+FB3Ohvco= diff --git a/naiveproxy/CHROMIUM_VERSION b/naiveproxy/CHROMIUM_VERSION index f154f7da1f..a8c0de41ea 100644 --- a/naiveproxy/CHROMIUM_VERSION +++ b/naiveproxy/CHROMIUM_VERSION @@ -1 +1 @@ -125.0.6422.35 +126.0.6478.40 diff --git a/naiveproxy/src/.clang-format b/naiveproxy/src/.clang-format index 87ff0884ee..ce7d0ad33e 100644 --- a/naiveproxy/src/.clang-format +++ b/naiveproxy/src/.clang-format @@ -28,7 +28,7 @@ IncludeCategories: # LINT.IfChange(winheader) - Regex: '^' # This has to be before initguid.h. Priority: 1 - - Regex: '^<(initguid|mmdeviceapi|windows|winsock2|ws2tcpip|shobjidl|atlbase|ole2|unknwn|tchar)\.h>' + - Regex: '^<(initguid|mmdeviceapi|windows|winsock2|ws2tcpip|shobjidl|atlbase|ole2|unknwn|tchar|ocidl)\.h>' Priority: 2 # LINT.ThenChange(/tools/add_header.py:winheader) # UIAutomation*.h need to be after base/win/atl.h. diff --git a/naiveproxy/src/.gitattributes b/naiveproxy/src/.gitattributes index 33937699e8..adf75e4d16 100644 --- a/naiveproxy/src/.gitattributes +++ b/naiveproxy/src/.gitattributes @@ -30,6 +30,7 @@ *.proto text eol=lf *.rs text eol=lf *.sh text eol=lf +*.spec text eol=lf *.sql text eol=lf *.toml text eol=lf *.txt text eol=lf diff --git a/naiveproxy/src/AUTHORS b/naiveproxy/src/AUTHORS index 3adf4ae970..8cd0c75cd3 100644 --- a/naiveproxy/src/AUTHORS +++ b/naiveproxy/src/AUTHORS @@ -494,6 +494,7 @@ Haojian Wu Haoxuan Zhang Hari Singh Harpreet Singh Khurana +Harshal Gupta Harshikesh Kumar Harshit Pal Hassan Salehe Matar @@ -511,7 +512,6 @@ Himanshu Joshi Himanshu Nayak Hiroki Oshima Hiroyuki Matsuda -Ho Cheung Hodol Han Holger Kraus Hong Zheng @@ -565,6 +565,7 @@ Ivan Pavlotskiy Ivan Sham Ivan Sidorov Jack Bates +Jack Shi Jackson Loeffler Jacky Hu Jacob Clark @@ -581,6 +582,7 @@ Jaewon Jung Jaeyong Bae Jagadesh P Jagdish Chourasia +Jagdish Chourasia Jaime Soriano Pastor Jake Helfert Jake Hendy @@ -654,6 +656,8 @@ Jincheol Jo Jinfeng Ma Jing Zhao Jinglong Zuo +Jingqi Sun +Jingqi Sun Jingwei Liu Jingyi Wei Jinho Bang @@ -704,6 +708,7 @@ Joshua Lock Joshua Roesslein Josué Ratelle Josyula Venkat Narasimham +Joy Roy Joyer Huang Juan Cruz Viotti Juan Jose Lopez Jaimez @@ -959,6 +964,7 @@ Mihai Tica Mike Pennisi Mike Tilburg Mikhail Pozdnyakov +Mikhail Atuchin Milko Leporis Milton Chiang Milutin Smiljanic @@ -1205,6 +1211,7 @@ Sam James Sam Larison Sam McDonald Samuel Attard +Samuel Maddock Sanfeng Liao Sanggi Hong Sanghee Lee diff --git a/naiveproxy/src/DEPS b/naiveproxy/src/DEPS index dffd99ca86..90d5b48964 100644 --- a/naiveproxy/src/DEPS +++ b/naiveproxy/src/DEPS @@ -253,7 +253,7 @@ vars = { # luci-go CIPD package version. # Make sure the revision is uploaded by infra-packagers builder. # https://ci.chromium.org/p/infra-internal/g/infra-packagers/console - 'luci_go': 'git_revision:239be4fd8499df782db6bddb0f55832bf4f01307', + 'luci_go': 'git_revision:0353d07d5edeb62305e13f17d808e8523cd5bac2', # This can be overridden, e.g. with custom_vars, to build clang from HEAD # instead of downloading the prebuilt pinned revision. @@ -272,23 +272,19 @@ vars = { # reclient CIPD package 'reclient_package': 'infra/rbe/client/', # reclient CIPD package version - 'reclient_version': 're_client_version:0.138.0.e854224-gomaip', + 'reclient_version': 're_client_version:0.141.1.29a9d3c-gomaip', # screen-ai CIPD packages # TODO(b/281483558): Use a tag to download the latest version of screen-ai # (e.g. 'version:121.3') and find a way to automate updating //DEPS with it. - 'screen_ai_linux': 'version:123.6', - 'screen_ai_macos_amd64': 'version:123.6', - 'screen_ai_macos_arm64': 'version:123.6', - 'screen_ai_windows_amd64': 'version:123.6', - 'screen_ai_windows_386': 'version:123.6', - - # The path of the sysroots.json file. - # This is used by vendor builds like Electron. - 'sysroots_json_path': 'build/linux/sysroot_scripts/sysroots.json', + 'screen_ai_linux': 'version:124.00', + 'screen_ai_macos_amd64': 'version:124.00', + 'screen_ai_macos_arm64': 'version:124.00', + 'screen_ai_windows_amd64': 'version:124.00', + 'screen_ai_windows_386': 'version:124.00', # siso CIPD package version. - 'siso_version': 'git_revision:437716714a744e272fabdf1377b8878ccac26b43', + 'siso_version': 'git_revision:df7a992166415f66f6958744f149f724df138879', # download libaom test data 'download_libaom_testdata': False, @@ -308,38 +304,38 @@ vars = { # Three lines of non-changing comments so that # the commit queue can handle CLs rolling V8 # and whatever else without interference from each other. - 'src_internal_revision': '58458788e2fd513ffdc8472ef60b7cb2cbba3e98', + 'src_internal_revision': '8d504024e68a430ddd8c9f73e3288f1b590c208f', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling Skia # and whatever else without interference from each other. - 'skia_revision': 'ec3813eabd24854a1b82457064e9e3031ccc06d7', + 'skia_revision': 'be621ea04206d8fae23952783d1d588d6ce0d9b3', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling V8 # and whatever else without interference from each other. - 'v8_revision': 'd12774b83023498a5dfa9db4968e9fae747920f2', + 'v8_revision': '539ce62e9db3ec6b01d1fd40945b9f260aef88dc', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling ANGLE # and whatever else without interference from each other. - 'angle_revision': 'f4447386db891f772a4472864834612b23d5f525', + 'angle_revision': '117bd54a45ec5f2bea199f6036524a85462743fa', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling SwiftShader # and whatever else without interference from each other. - 'swiftshader_revision': '62c59c41e194c288c06739788bb0aad3c86b19bf', + 'swiftshader_revision': 'da334852e70510d259bfa8cbaa7c5412966b2f41', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling PDFium # and whatever else without interference from each other. - 'pdfium_revision': 'fde20e170bebdde902d38dd577a0543e11b6d4d4', + 'pdfium_revision': 'f41ce6b71a15ce6206740cad084871a28ff2dcec', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling BoringSSL # and whatever else without interference from each other. # # Note this revision should be updated with # third_party/boringssl/roll_boringssl.py, not roll-dep. - 'boringssl_revision': 'f94f3ed3965ea033001fb9ae006084eee408b861', + 'boringssl_revision': '2db0eb3f96a5756298dcd7f9319e56a98585bd10', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling Fuchsia sdk # and whatever else without interference from each other. - 'fuchsia_version': 'version:20.20240412.2.1', + 'fuchsia_version': 'version:20.20240507.3.1', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling google-toolbox-for-mac # and whatever else without interference from each other. @@ -347,7 +343,7 @@ vars = { # Three lines of non-changing comments so that # the commit queue can handle CLs rolling googletest # and whatever else without interference from each other. - 'googletest_revision': '5197b1a8e6a1ef9f214f4aa537b0be17cbf91946', + 'googletest_revision': '33af80a883ddc33d9c0fac0a5b4578301efb18de', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling lighttpd # and whatever else without interference from each other. @@ -359,11 +355,11 @@ vars = { # Three lines of non-changing comments so that # the commit queue can handle CLs rolling NaCl # and whatever else without interference from each other. - 'nacl_revision': '0253008929d3687acd30e9f618d9a14e88b81bf4', + 'nacl_revision': '75f17e950423f5671628db4a1d7225917bf7ba0c', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling freetype # and whatever else without interference from each other. - 'freetype_revision': 'b3a6a20a805366e0bc7044d1402d04c53f9c1660', + 'freetype_revision': 'a46424228f0998a72c715f32e18dca8a7a764c1f', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling freetype # and whatever else without interference from each other. @@ -383,11 +379,11 @@ vars = { # Three lines of non-changing comments so that # the commit queue can handle CLs rolling catapult # and whatever else without interference from each other. - 'catapult_revision': '12e53bce0326eda9bf9c1e12ef70a027a3a9c339', + 'catapult_revision': '923a565b97768d3a51047c3f384f6a0d17990192', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling chromium_variations # and whatever else without interference from each other. - 'chromium_variations_revision': '47c10caafe8f3d47ecdb1ed24e287da7a7e6925f', + 'chromium_variations_revision': '1545704ff52cfb5119f3693c9a9e971594e9cb43', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling CrossBench # and whatever else without interference from each other. @@ -399,11 +395,11 @@ vars = { # Three lines of non-changing comments so that # the commit queue can handle CLs rolling fuzztest # and whatever else without interference from each other. - 'fuzztest_revision': '65354bf09a2479945b4683c42948695d4f2f7c07', + 'fuzztest_revision': '34584108adea9bb274f71cee34fc091f89d7b2d5', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling devtools-frontend # and whatever else without interference from each other. - 'devtools_frontend_revision': 'cfd3e473d6bfba7cf8fc7cf6512ca187d5d99ebf', + 'devtools_frontend_revision': 'c963f0c7472f41d9d4c3335fffdab4f9b8da25bb', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libprotobuf-mutator # and whatever else without interference from each other. @@ -427,15 +423,15 @@ vars = { # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. - 'dawn_revision': '93c9cbd9c1a1f125626658ebeadce5d0dc689aaa', + 'dawn_revision': '4c6214625c4fd6d38b1604af39ce64395358ca55', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. - 'quiche_revision': 'c97365c8d29acc056b7ba5cdbd78a6d0d4ef4bfb', + 'quiche_revision': 'ee237e96f18ef123af9992f74645a8a0ce9ef6ef', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling ios_webkit # and whatever else without interference from each other. - 'ios_webkit_revision': '59e9de61b7b36507836fa8b098e8839d7d995b13', + 'ios_webkit_revision': 'f8c0fe750d94b7db23d193c0b1f31858c2537620', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libexpat # and whatever else without interference from each other. @@ -447,7 +443,11 @@ vars = { # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libavif # and whatever else without interference from each other. - 'libavif_revision': '43ec9ace31c6ca11efddddb61b94b744450d46e2', + 'libavif_revision': '5d97130f0820dbc97738f5480e2dd00865a35744', + # Three lines of non-changing comments so that + # the commit queue can handle CLs rolling crabbyavif + # and whatever else without interference from each other. + 'crabbyavif_revision': 'ef17807890f60bee1398a752d53204c369076aca', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libavifinfo # and whatever else without interference from each other. @@ -459,7 +459,7 @@ vars = { # Three lines of non-changing comments so that # the commit queue can handle CLs rolling nearby # and whatever else without interference from each other. - 'nearby_revision': '33e682f24427a0eb634bd3186fe3c6fd96bd6768', + 'nearby_revision': 'f26d25ed0106bd8946f8bb380bb67fb552e7390d', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling securemessage # and whatever else without interference from each other. @@ -471,7 +471,7 @@ vars = { # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. - 'cros_components_revision': 'ba1574281c8c012e17d8adbc7758efa60eea00ed', + 'cros_components_revision': '1985ff9dfd894b5cd958163bf9f4fde8716acbb4', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. @@ -479,7 +479,7 @@ vars = { # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. - 'libcxxabi_revision': '51fe3584464d29067c8f0663f6e6dec84cc86868', + 'libcxxabi_revision': 'a37a3aa431f132b02a58656f13984d51098330a2', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. @@ -495,7 +495,7 @@ vars = { # Three lines of non-changing comments so that # the commit queue can handle CLs rolling ffmpeg # and whatever else without interference from each other. - 'ffmpeg_revision': '901248a373cbbe7af68fb92faf3be7d4f679150d', + 'ffmpeg_revision': '092f84b6141055bfab609b6b2666b724eee2e130', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling beto-core # and whatever else without interference from each other. @@ -506,7 +506,7 @@ vars = { 'libcxx_revision': 'e3b94d0e5b86883fd77696bf10dc33ba250ba99b', # GN CIPD package version. - 'gn_version': 'git_revision:d823fd85da3fb83146f734377da454473b93a2b2', + 'gn_version': 'git_revision:df98b86690c83b81aedc909ded18857296406159', # ninja CIPD package version. # https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/ninja @@ -516,6 +516,9 @@ vars = { # 'magic' variable to tell depot_tools that git submodules should be accepted # but parity with DEPS file is expected. 'SUBMODULE_MIGRATION': 'True', + + # condition to allowlist deps for non-git-source processing. + 'non_git_source': 'True', } # Only these hosts are allowed for dependencies in this DEPS file. @@ -534,9 +537,182 @@ allowed_hosts = [ 'skia.googlesource.com', 'swiftshader.googlesource.com', 'webrtc.googlesource.com', + + # TODO(337061377): Move into a separate allowed gcs bucket list. + 'chromium-ads-detection', + 'chromium-clang-format', + 'chromium-nodejs', + 'chromium-tfhub-models', + 'chrome-linux-sysroot', + 'chromium-fonts', + 'chromium-style-perftest', + 'chromium-telemetry', + 'chromium-webrtc-resources', + 'perfetto', ] deps = { + # NPM dependencies for JavaScript code coverage. + 'src/third_party/js_code_coverage': { + 'dep_type': 'gcs', + 'condition': 'checkout_js_coverage_modules and non_git_source', + 'bucket': 'chromium-nodejs', + 'objects': [ + { + 'object_name': 'js_code_coverage/d538975c93eefc7bafd599b50f867e90c1ef17f3', + 'sha256sum': '646bb00ced0a930b2eb1e4dbcfac18ebbb8f889bb80599e0254d9d6505427914', + 'size_bytes': 1469185, + 'generation': 1657780123604338, + }, + ], + }, + 'src/build/linux/debian_bullseye_amd64-sysroot': { + 'bucket': 'chrome-linux-sysroot', + 'condition': 'checkout_linux and checkout_x64 and non_git_source', + 'dep_type': 'gcs', + 'objects': [ + { + 'generation': 1714590045814759, + 'object_name': 'dec7a3a0fc5b83b909cba1b6d119077e0429a138eadef6bf5a0f2e03b1904631', + 'sha256sum': 'dec7a3a0fc5b83b909cba1b6d119077e0429a138eadef6bf5a0f2e03b1904631', + 'size_bytes': 129948576, + }, + ], + }, + 'src/build/linux/debian_bullseye_arm64-sysroot': { + 'bucket': 'chrome-linux-sysroot', + 'condition': 'checkout_linux and checkout_arm64 and non_git_source', + 'dep_type': 'gcs', + 'objects': [ + { + 'generation': 1714589974958986, + 'object_name': '308e23faba3174bd01accfe358467b8a40fad4db4c49ef629da30219f65a275f', + 'sha256sum': '308e23faba3174bd01accfe358467b8a40fad4db4c49ef629da30219f65a275f', + 'size_bytes': 108470444, + }, + ], + }, + 'src/build/linux/debian_bullseye_armhf-sysroot': { + 'bucket': 'chrome-linux-sysroot', + 'condition': 'checkout_linux and checkout_arm and non_git_source', + 'dep_type': 'gcs', + 'objects': [ + { + 'generation': 1714589870087834, + 'object_name': 'fe81e7114b97440262bce004caf02c1514732e2fa7f99693b2836932ad1c4626', + 'sha256sum': 'fe81e7114b97440262bce004caf02c1514732e2fa7f99693b2836932ad1c4626', + 'size_bytes': 99265992, + }, + ], + }, + 'src/build/linux/debian_bullseye_i386-sysroot': { + 'bucket': 'chrome-linux-sysroot', + 'condition': 'checkout_linux and (checkout_x86 or checkout_x64) and non_git_source', + 'dep_type': 'gcs', + 'objects': [ + { + 'generation': 1714589989387491, + 'object_name': 'b53933120bb08ffc38140a817e3f0f99782254a6bf9622271574fa004e8783a4', + 'sha256sum': 'b53933120bb08ffc38140a817e3f0f99782254a6bf9622271574fa004e8783a4', + 'size_bytes': 122047968, + }, + ], + }, + 'src/build/linux/debian_bullseye_mips64el-sysroot': { + 'bucket': 'chrome-linux-sysroot', + 'condition': 'checkout_linux and checkout_mips64 and non_git_source', + 'dep_type': 'gcs', + 'objects': [ + { + 'generation': 1714590006168779, + 'object_name': '783cb79f26736c69e8125788d95ffb65a28172349009d75188838a004280a92b', + 'sha256sum': '783cb79f26736c69e8125788d95ffb65a28172349009d75188838a004280a92b', + 'size_bytes': 103362108, + }, + ], + }, + 'src/build/linux/debian_bullseye_mipsel-sysroot': { + 'bucket': 'chrome-linux-sysroot', + 'condition': 'checkout_linux and checkout_mips and non_git_source', + 'dep_type': 'gcs', + 'objects': [ + { + 'generation': 1714589936675352, + 'object_name': 'fcf8c3931476dd097c58f2f5d44621c7090b135e85ab56885aa4b44f4bd6cdb5', + 'sha256sum': 'fcf8c3931476dd097c58f2f5d44621c7090b135e85ab56885aa4b44f4bd6cdb5', + 'size_bytes': 96161964, + }, + ], + }, + 'src/buildtools/win/format': { + 'bucket': 'chromium-clang-format', + 'condition': 'host_os == "win" and non_git_source', + 'dep_type': 'gcs', + 'objects': [ + { + 'object_name': '49458d4c1e884a38308f8dc6a2c7eb55fc478755', + 'sha256sum': '2f964ea355762d28005568a1cf888114d13b18631c618543586fb40589a22224', + 'size_bytes': 3214848, + 'generation': 1699478813805380, + 'output_file': 'clang-format.exe', + }, + ], + }, + 'src/buildtools/mac/format': { + 'bucket': 'chromium-clang-format', + 'condition': 'host_os == "mac" and host_cpu == "x64" and non_git_source', + 'dep_type': 'gcs', + 'objects': [ + { + 'object_name': '0b4bd257a1f4cd27d27d6919b0f9e52ecdfa8f1e', + 'sha256sum': '0f3c38a6af0a04fd4161f1948f02e83a8827727e77242d3b5b61ae4f009a270a', + 'size_bytes': 2869976, + 'generation': 1699478821342910, + 'output_file': 'clang-format', + }, + ], + }, + 'src/buildtools/mac_arm64/format': { + 'bucket': 'chromium-clang-format', + 'condition': 'host_os == "mac" and host_cpu == "arm64" and non_git_source', + 'dep_type': 'gcs', + 'objects': [ + { + 'object_name': '96c34e77259c4cc1fc7bdf067fc058bfd341ab85', + 'sha256sum': '66c5243cd530702defcbe18dffdbed0da9a3d1474b158a949580f6d269fbac17', + 'size_bytes': 2847744, + 'generation': 1699478828600976, + 'output_file': 'clang-format', + }, + ], + }, + 'src/buildtools/linux64/format': { + 'bucket': 'chromium-clang-format', + 'condition': 'host_os == "linux" and non_git_source', + 'dep_type': 'gcs', + 'objects': [ + { + 'object_name': 'b42097ca924d1f1736a5a7806068fed9d7345eb4', + 'sha256sum': '82df59a7d4390892c3eeaf0c8bf626e2869f1138a6ad3eb90dd51da0011ba630', + 'size_bytes': 3539912, + 'generation': 1699478806427152, + 'output_file': 'clang-format', + }, + ], + }, + # Download selected models from TFHub as testdata. + 'src/third_party/tfhub_models': { + 'bucket': 'chromium-tfhub-models', + 'dep_type': 'gcs', + 'objects': [ + { + 'object_name': '0f037afd23a02321520951afd5c2c6078d26cbf1', + 'sha256sum': '7130f43eb9889ff4dcd36ed2c5352053b88216e6b9186dfce08ea41b7dd142f3', + 'size_bytes': 35504613, + 'generation': 1691086948259727, + }, + ], + }, 'src/third_party/clang-format/script': Var('chromium_git') + '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@' + @@ -549,7 +725,7 @@ deps = { } ], 'dep_type': 'cipd', - 'condition': 'host_os == "linux"', + 'condition': 'host_os == "linux" and non_git_source', }, 'src/buildtools/mac': { 'packages': [ @@ -578,6 +754,7 @@ deps = { 'version': Var('reclient_version'), } ], + 'condition': 'non_git_source', 'dep_type': 'cipd', }, @@ -613,7 +790,7 @@ deps = { }, ], 'dep_type': 'cipd', - 'condition': '(host_os == "linux")', + 'condition': '(host_os == "linux") and non_git_source', }, 'src/third_party/apache-windows-arm64': { @@ -661,7 +838,7 @@ deps = { }, 'src/chrome/browser/resources/preinstalled_web_apps/internal': { - 'url': Var('chrome_git') + '/chrome/components/default_apps.git' + '@' + 'cefb3e3174a27e6307f8ce5b900390e2a260b8da', + 'url': Var('chrome_git') + '/chrome/components/default_apps.git' + '@' + '3ca47d00648c126561056443c2c5f401c02eda9d', 'condition': 'checkout_src_internal', }, @@ -685,7 +862,7 @@ deps = { 'src/third_party/updater/chrome_linux64': { 'dep_type': 'cipd', - 'condition': 'checkout_linux', + 'condition': 'checkout_linux and non_git_source', 'packages': [ { 'package': 'chromium/third_party/updater/chrome_linux64', @@ -711,7 +888,7 @@ deps = { 'packages': [ { 'package': 'chromium/third_party/updater/chrome_mac_universal_prod', - 'version': 'uv5Mcn7iUEz5vDEanbsITQhnXgYCwmQMJUAkkIBo4vkC', + 'version': 'Si2fcqFNU-koqB819pHJDkN6dFcPhg4oaDtgCNiooBAC', }, ], }, @@ -740,7 +917,7 @@ deps = { 'src/third_party/updater/chromium_linux64': { 'dep_type': 'cipd', - 'condition': 'checkout_linux', + 'condition': 'checkout_linux and non_git_source', 'packages': [ { 'package': 'chromium/third_party/updater/chromium_linux64', @@ -796,12 +973,12 @@ deps = { }, 'src/chrome/test/data/autofill/captured_sites/artifacts': { - 'url': Var('chrome_git') + '/chrome/test/captured_sites/autofill.git' + '@' + '9f7a70a3b37625c2b59f1c14a09410e36c2fe0c3', + 'url': Var('chrome_git') + '/chrome/test/captured_sites/autofill.git' + '@' + 'cb4a8228938848c733c15134972423178645b71a', 'condition': 'checkout_chromium_autofill_test_dependencies', }, 'src/chrome/test/data/password/captured_sites/artifacts': { - 'url': Var('chrome_git') + '/chrome/test/captured_sites/password.git' + '@' + 'd8bb2ef5c0ebff18c66f02e534a3f20bef7d55f5', + 'url': Var('chrome_git') + '/chrome/test/captured_sites/password.git' + '@' + '89486886cbaf6319774585998566766a803037eb', 'condition': 'checkout_chromium_password_manager_test_dependencies', }, @@ -827,16 +1004,16 @@ deps = { 'src/clank': { 'url': Var('chrome_git') + '/clank/internal/apps.git' + '@' + - '5de620fdfd73bd20d9c52354a6b6d422100378a1', + 'a08ca9ca38ac6cef83ae7ed01b97ce611267aa48', 'condition': 'checkout_android and checkout_src_internal', }, 'src/docs/website': { - 'url': Var('chromium_git') + '/website.git' + '@' + '192b4c1fca9c092343459067d75ba65fbc6ea856', + 'url': Var('chromium_git') + '/website.git' + '@' + 'b623150ede7e61bf949bd203b400f28012298274', }, 'src/ios/third_party/earl_grey2/src': { - 'url': Var('chromium_git') + '/external/github.com/google/EarlGrey.git' + '@' + 'a09fa0c5cf18578d1985f3abffb599ecdc6fd514', + 'url': Var('chromium_git') + '/external/github.com/google/EarlGrey.git' + '@' + 'fc1cd2e1711142575100d1f7360859e5ea47a4d3', 'condition': 'checkout_ios', }, @@ -922,6 +1099,9 @@ deps = { 'src/net/third_party/quiche/src': Var('quiche_git') + '/quiche.git' + '@' + Var('quiche_revision'), + 'src/testing/libfuzzer/fuzzers/wasm_corpus': + Var('chromium_git') + '/v8/fuzzer_wasm_corpus.git' + '@' + 'f650ff816f2ef227f61ea2e9f222aa69708ab367', + 'src/tools/luci-go': { 'packages': [ { @@ -933,6 +1113,7 @@ deps = { 'version': Var('luci_go'), }, ], + 'condition': 'non_git_source', 'dep_type': 'cipd', }, @@ -971,7 +1152,7 @@ deps = { 'packages': [ { 'package': 'chromium/third_party/android_toolchain_canary/android_toolchain_canary', - 'version': '9d1N8W-zutfTWhUhcBTSMnO0afAxvmkzfFEWKmnJcFIC', + 'version': 'JtKBKwZ4O-6avfvuQNOAMYqUwQAMGX10y-GrIlJPo_wC', }, ], 'condition': 'checkout_android_native_support', @@ -982,7 +1163,7 @@ deps = { 'packages': [ { 'package': 'chromium/third_party/androidx', - 'version': 'IMaWheUQ-GmELoiuWqPaUhQt_A4P2dHCf_Wzxa-ULxoC', + 'version': 'UiIzVBfVIy9mCbzMX3fEPiFC3Vez6AiL1NueeljGtEUC', }, ], 'condition': 'checkout_android', @@ -1031,7 +1212,7 @@ deps = { 'packages': [ { 'package': 'chromium/third_party/android_build_tools/bundletool', - 'version': 'XoK0RwIzanpFScg7dU_8th5zMvLgKvk7c_PmhZ5LSEQC', + 'version': 'CaAT7TJbLQC0LVo1i2TXtaMjK4SZBQ33n-s6DcBbZfgC', }, ], 'condition': 'checkout_android', @@ -1042,7 +1223,7 @@ deps = { 'packages': [ { 'package': 'chromium/third_party/android_build_tools/lint', - 'version': 'kt0D0n2B3KP5Ptno-stWIuNnhvCfms_w-8iZrMgSS8sC', + 'version': 'LKVTpK4XpEG8B7rQdSi365E60QYERcaYvf2b4kv_JugC', }, ], 'condition': 'checkout_android', @@ -1053,7 +1234,7 @@ deps = { 'packages': [ { 'package': 'chromium/third_party/android_build_tools/manifest_merger', - 'version': 'UiE3IQmTjQyDp6olH-K75Gup3wY_WezHKM9riMylXVcC', + 'version': 'Uecrn-wUXzvUON7QkiZPlANRvFr6yFM05_M_S7q8IFoC', }, ], 'condition': 'checkout_android', @@ -1093,6 +1274,77 @@ deps = { 'src/third_party/anonymous_tokens/src': Var('chromium_git') + '/external/github.com/google/anonymous-tokens.git' + '@' + '76bfcccb6418239183df55111f2f24782d9f3680', + 'src/third_party/blink/renderer/core/css/perftest_data': { + 'dep_type': 'gcs', + 'condition': 'non_git_source', + 'bucket': 'chromium-style-perftest', + 'objects': [ + { + 'object_name': 'e9ce994346c62f8c9fd6d0cecb2b2b0b93b4c2d8', + 'sha256sum': '519019df16c628c6c0893df18928faeaa3150a9d8f26a787a16ce7c6b2cec2ad', + 'size_bytes': 601672, + 'generation': 1664794185950162, + 'output_file': 'ecommerce.json', + }, + { + 'object_name': '756068da5e551516b23b0ba133e55c144f623d38', + 'sha256sum': '84ef87a8163335a95111d9709306596f96742539da0b34fbe7397f799946a168', + 'size_bytes': 2156935, + 'generation': 1664794188995509, + 'output_file': 'encyclopedia.json', + }, + { + 'object_name': '314e4e0d5e89ea9e9e9a234c617b4413adf48aa9', + 'sha256sum': 'a721ada40011a286631baae6d76878f2023ff000151792228c83b1958ea8a197', + 'size_bytes': 608840, + 'generation': 1664794191929032, + 'output_file': 'extension.json', + }, + { + 'object_name': '3a19b42a7c46257b716d55d6733f070c87180b1e', + 'sha256sum': 'f203ff9e8c8a6a3b714f0a26db38cc940544a907435c62c79b21f4bd3f8bee8e', + 'size_bytes': 1750837, + 'generation': 1664794194891567, + 'output_file': 'news.json', + }, + { + 'object_name': 'fdc43ee18cbd65487249441849f58aa13484aaef', + 'sha256sum': '0e92de92f49abc9a521f7175106c80744196f8cefc0263bc0f4a6b4f724a7d10', + 'size_bytes': 1310798, + 'generation': 1664794197855470, + 'output_file': 'search.json', + }, + { + 'object_name': '7fc9338af75b7d9d185c91ddf262a356def5623d', + 'sha256sum': '34e92acae8aade2a186abe79ed1f379c266f04f72f1eb54bd3a912e889bc5cc0', + 'size_bytes': 2280846, + 'generation': 1664794200867034, + 'output_file': 'social1.json', + }, + { + 'object_name': 'c2d7e9ce67522dad138c7feb0a6911b828bfb130', + 'sha256sum': '95c6b148577b891310c024b2daa5d68faf644a37707ac0cb21501eefe8a399a3', + 'size_bytes': 411708, + 'generation': 1664794203829582, + 'output_file': 'social2.json', + }, + { + 'object_name': '031d5599c8a21118754e30dbea141be66104f556', + 'sha256sum': '8e7b765d72bb8e7742f5bf955f4bf64d5469f61197dad8b632304095a52322d7', + 'size_bytes': 3203922, + 'generation': 1664794206824773, + 'output_file': 'sports.json', + }, + { + 'object_name': '8aac3db2a8c9e44babec81e539a3d60aeab4985c', + 'sha256sum': '6aeb0036dfafaf5e905abdb0ffe515a3952ffe35a7c59afb0fc8b233b27c6ce4', + 'size_bytes': 5902660, + 'generation': 1664794209886788, + 'output_file': 'video.json', + }, + ], + }, + 'src/third_party/content_analysis_sdk/src': Var('chromium_git') + '/external/github.com/chromium/content_analysis_sdk.git' + '@' + '9a408736204513e0e95dd2ab3c08de0d95963efc', @@ -1118,6 +1370,22 @@ deps = { 'src/third_party/google_benchmark/src': Var('chromium_git') + '/external/github.com/google/benchmark.git' + '@' + '344117638c8ff7e239044fd0fa7085839fc03021', + # Download test data for Maps telemetry_gpu_integration_test. + 'src/tools/perf/page_sets/maps_perf_test/': { + 'dep_type': 'gcs', + 'condition': 'non_git_source', + 'bucket': 'chromium-telemetry', + 'objects': [ + { + 'object_name': 'e6bf26977c2fd80c18789d1f279d474096a7b0d1', + 'sha256sum': 'f5f7fe360ad2b9c3d9dda2612f17336c0541bac15b4e4992f2c167e059a190fa', + 'size_bytes': 3285237, + 'generation': 1513305740113238, + 'output_file': 'load_dataset', + }, + ], + }, + 'src/third_party/boringssl/src': Var('boringssl_git') + '/boringssl.git' + '@' + Var('boringssl_revision'), @@ -1157,7 +1425,7 @@ deps = { # Tools used when building Chrome for Chrome OS. This affects both the Simple # Chrome workflow, as well as the chromeos-chrome ebuild. 'src/third_party/chromite': { - 'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + 'fa5d2ea56ea56cb1c13057a61d767833dd23a46f', + 'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '5ff757e963883d28db6d5b9856e5c7fcc63cdcb0', 'condition': 'checkout_chromeos', }, @@ -1171,14 +1439,14 @@ deps = { Var('chromium_git') + '/external/github.com/google/cpu_features.git' + '@' + '936b9ab5515dead115606559502e3864958f7f6e', 'src/third_party/cpuinfo/src': - Var('chromium_git') + '/external/github.com/pytorch/cpuinfo.git' + '@' + 'f42f5eaf0bbeabd3a1153651cd2a5989faac4f58', + Var('chromium_git') + '/external/github.com/pytorch/cpuinfo.git' + '@' + '3c8b1533ac03dd6531ab6e7b9245d488f13a82a5', 'src/third_party/crc32c/src': Var('chromium_git') + '/external/github.com/google/crc32c.git' + '@' + 'fa5ade41ee480003d9c5af6f43567ba22e4e17e6', # For Linux and Chromium OS. 'src/third_party/cros_system_api': { - 'url': Var('chromium_git') + '/chromiumos/platform2/system_api.git' + '@' + 'a402de012c03f81bed7c69a21f442f60a86aeb44', + 'url': Var('chromium_git') + '/chromiumos/platform2/system_api.git' + '@' + '8d58ca6b357e6827660dc26ca777c798f4426c2e', 'condition': 'checkout_linux or checkout_chromeos', }, @@ -1192,13 +1460,13 @@ deps = { }, 'src/third_party/depot_tools': - Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '8402300bb716be3b23ab191004e532ec5d8a129d', + Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '28ece72a5d752a5e36e62124979b18530e610f6b', 'src/third_party/devtools-frontend/src': Var('chromium_git') + '/devtools/devtools-frontend' + '@' + Var('devtools_frontend_revision'), 'src/third_party/devtools-frontend-internal': { - 'url': Var('chrome_git') + '/devtools/devtools-internal.git' + '@' + 'eae9a4fa970e991ac625d8dde3cfebc21325540d', + 'url': Var('chrome_git') + '/devtools/devtools-internal.git' + '@' + '99b392ba53d3d4d3230382355243044376573045', 'condition': 'checkout_src_internal', }, @@ -1206,7 +1474,7 @@ deps = { Var('chromium_git') + '/chromium/dom-distiller/dist.git' + '@' + '199de96b345ada7c6e7e6ba3d2fa7a6911b8767d', 'src/third_party/eigen3/src': - Var('chromium_git') + '/external/gitlab.com/libeigen/eigen.git' + '@' + '2a9055b50ed22101da7d77e999b90ed50956fe0b', + Var('chromium_git') + '/external/gitlab.com/libeigen/eigen.git' + '@' + 'e16d70bd4e9cdebd2fbdae63b1a4d86493fbbde6', 'src/third_party/emoji-metadata/src': { 'url': Var('chromium_git') + '/external/github.com/googlefonts/emoji-metadata' + '@' + '045f146fca682a836e01cd265171312bfb300e06', @@ -1234,7 +1502,7 @@ deps = { Var('chromium_git') + '/chromium/deps/flac.git' + '@' + '689da3a7ed50af7448c3f1961d1791c7c1d9c85c', 'src/third_party/flatbuffers/src': - Var('chromium_git') + '/external/github.com/google/flatbuffers.git' + '@' + 'bcb9ef187628fe07514e57756d05e6a6296f7dc5', + Var('chromium_git') + '/external/github.com/google/flatbuffers.git' + '@' + 'c696275eaffec33796b5ca8755614fd9fec0a6a7', # Used for embedded builds. CrOS & Linux use the system version. 'src/third_party/fontconfig/src': { @@ -1243,7 +1511,7 @@ deps = { }, 'src/third_party/fp16/src': - Var('chromium_git') + '/external/github.com/Maratyszcza/FP16.git' + '@' + '581ac1c79dd9d9f6f4e8b2934e7a55c7becf0799', + Var('chromium_git') + '/external/github.com/Maratyszcza/FP16.git' + '@' + '0a92994d729ff76a58f692d3028ca1b64b145d91', 'src/third_party/gemmlowp/src': Var('chromium_git') + '/external/github.com/google/gemmlowp.git' + '@' + '13d57703abca3005d97b19df1f2db731607a7dc2', @@ -1344,7 +1612,7 @@ deps = { }, ], # Needed on Linux for use on chromium_presubmit. - 'condition': 'checkout_android or checkout_linux', + 'condition': '(checkout_android or checkout_linux) and non_git_source', 'dep_type': 'cipd', }, @@ -1363,7 +1631,7 @@ deps = { Var('chromium_git') + '/chromium/deps/hunspell_dictionaries.git' + '@' + '41cdffd71c9948f63c7ad36e1fb0ff519aa7a37e', 'src/third_party/icu': - Var('chromium_git') + '/chromium/deps/icu.git' + '@' + '364118a1d9da24bb5b770ac3d762ac144d6da5a4', + Var('chromium_git') + '/chromium/deps/icu.git' + '@' + '98f2494518c2dbb9c488e83e507b070ea5910e95', 'src/third_party/icu4j': { 'packages': [ @@ -1400,7 +1668,7 @@ deps = { }, ], # Needed on Linux for use on chromium_presubmit (for checkstyle). - 'condition': 'checkout_android or checkout_linux', + 'condition': '(checkout_android or checkout_linux) and non_git_source', 'dep_type': 'cipd', }, @@ -1430,7 +1698,7 @@ deps = { 'packages': [ { 'package': 'chromium/third_party/kotlin_stdlib', - 'version': 'E67atHdREsWLno-3b4Py3r87C4LB7gpVYDq3Q1z7t90C', + 'version': 'bCpFA9jdfF0zeuOKYuv9n1vqxV_lykSRR1oAYrVKmFsC', }, ], 'condition': 'checkout_android', @@ -1441,7 +1709,7 @@ deps = { 'packages': [ { 'package': 'chromium/third_party/kotlinc', - 'version': 'ELruSeR7Qcliv5lwPAn7f-Y-X9PgbEy49_PiJ6pBes4C', + 'version': 'NL2kgA9OlpYPhqM3x3fUl_nbJCGGPtPyNGN3fsrHcwYC', }, ], 'condition': 'checkout_android', @@ -1461,11 +1729,14 @@ deps = { Var('chromium_git') + '/external/libaddressinput.git' + '@' + 'e8712e415627f22d0b00ebee8db99547077f39bd', 'src/third_party/libaom/source/libaom': - Var('aomedia_git') + '/aom.git' + '@' + 'a4420e55a8d5da107001bb2bb61fa53263a90041', + Var('aomedia_git') + '/aom.git' + '@' + '77665fee933b409dd94e35b0c216645f845b9fd9', 'src/third_party/libavif/src': Var('chromium_git') + '/external/github.com/AOMediaCodec/libavif.git' + '@' + Var('libavif_revision'), + 'src/third_party/crabbyavif/src': + Var('chromium_git') + '/external/github.com/webmproject/CrabbyAvif.git' + '@' + Var('crabbyavif_revision'), + 'src/third_party/libavifinfo/src': Var('aomedia_git') + '/libavifinfo.git' + '@' + Var('libavifinfo_revision'), @@ -1531,13 +1802,13 @@ deps = { }, 'src/third_party/libvpx/source/libvpx': - Var('chromium_git') + '/webm/libvpx.git' + '@' + '8762f5efb2917765316a198e6713f0bc93b07c9b', + Var('chromium_git') + '/webm/libvpx.git' + '@' + '108f5128e2969451f77b1523ce30bebe545cdd58', 'src/third_party/libwebm/source': Var('chromium_git') + '/webm/libwebm.git' + '@' + 'e4fbea0c9751ae8aa86629b197a28d8276a2b0da', 'src/third_party/libwebp/src': - Var('chromium_git') + '/webm/libwebp.git' + '@' + 'ca332209cb5567c9b249c86788cb2dbf8847e760', + Var('chromium_git') + '/webm/libwebp.git' + '@' + '845d5476a866141ba35ac133f856fa62f0b7445f', 'src/third_party/libyuv': Var('chromium_git') + '/libyuv/libyuv.git' + '@' + 'a6a2ec654b1be1166b376476a7555c89eca0c275', @@ -1584,6 +1855,11 @@ deps = { 'condition': 'checkout_ios', }, + 'src/third_party/microsoft_dxheaders/src': { + 'url': Var('chromium_git') + '/external/github.com/microsoft/DirectX-Headers.git' + '@' + 'aafb798404373bec7875e6a36a8d9635642587c1', + 'condition': 'checkout_win', + }, + 'src/third_party/mig/bin': { 'packages': [ { @@ -1626,6 +1902,7 @@ deps = { 'version': Var('ninja_version'), } ], + 'condition': 'non_git_source', 'dep_type': 'cipd', }, 'src/third_party/siso': { @@ -1635,6 +1912,7 @@ deps = { 'version': Var('siso_version'), } ], + 'condition': 'non_git_source', 'dep_type': 'cipd', }, 'src/third_party/objenesis': { @@ -1652,18 +1930,33 @@ deps = { Var('chromium_git') + '/external/github.com/cisco/openh264' + '@' + '09a4f3ec842a8932341b195c5b01e141c8a16eb7', 'src/third_party/openscreen/src': - Var('chromium_git') + '/openscreen' + '@' + '624f91b189a5a6fd35b1d3c43c60678c1f111dff', + Var('chromium_git') + '/openscreen' + '@' + '97d0a7fd9e51669930f8376e069599acc1c2de2e', 'src/third_party/openxr/src': { 'url': Var('chromium_git') + '/external/github.com/KhronosGroup/OpenXR-SDK' + '@' + '95fe35ffb383710a6e0567e958ead9a3b66e930c', 'condition': 'checkout_openxr', }, + 'src/third_party/opus/tests/resources': { + 'dep_type': 'gcs', + 'condition': 'non_git_source', + 'bucket': 'chromium-webrtc-resources', + 'objects': [ + { + 'object_name': '009a3ee778767c2402b1d2c920bc2449265f5a2c', + 'sha256sum': '34de3161f242895a682d9cdcbbf4ad50246742b6db46873386104cfde8a24332', + 'size_bytes': 26889600, + 'generation': 1392811661954000, + 'output_file': 'speech_mono_32_48kHz.pcm', + }, + ], + }, + 'src/third_party/pdfium': Var('pdfium_git') + '/pdfium.git' + '@' + Var('pdfium_revision'), 'src/third_party/perfetto': - Var('android_git') + '/platform/external/perfetto.git' + '@' + '3f2b2b6385d24f80239a7c49d464a06292fbd078', + Var('android_git') + '/platform/external/perfetto.git' + '@' + '6aaa8a1fb15659d1b68179e20993e969d9f500f8', 'src/third_party/perl': { 'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + '8ef97ff3b7332e38e61b347a2fbed425a4617151', @@ -1695,18 +1988,18 @@ deps = { 'version': 'hOpuGIMj1FAtBWGDlXARkCm2srxY4enn8iI3AgrDna4C' }, ], - 'condition': 'host_os == "linux" and checkout_fuchsia and checkout_fuchsia_for_arm64_host', + 'condition': 'host_os == "linux" and checkout_fuchsia and checkout_fuchsia_for_arm64_host and non_git_source', 'dep_type': 'cipd', }, 'src/third_party/re2/src': - Var('chromium_git') + '/external/github.com/google/re2.git' + '@' + 'b84e3ff189980a33d4a0c6fa1201aa0b3b8bab4a', + Var('chromium_git') + '/external/github.com/google/re2.git' + '@' + 'f31c2c6f380331ddc862e37c7dea0bcf440b29dc', 'src/third_party/r8': { 'packages': [ { 'package': 'chromium/third_party/r8', - 'version': 'mhSwabeiU2ueQeYkj0X1JTg-6ZdtQgiVVXM1bo0yu4IC', + 'version': 'COW7cFK6pwOVeM1EEvoEXOYDwDbWVkPQDC63mlyb3m4C', }, ], 'condition': 'checkout_android', @@ -1756,7 +2049,7 @@ deps = { Var('chromium_git') + '/external/github.com/google/snappy.git' + '@' + 'c9f9edf6d75bb065fa47468bf035e051a57bec7c', 'src/third_party/sqlite/src': - Var('chromium_git') + '/chromium/deps/sqlite.git' + '@' + '25d86f9308e8f9877f41c813606a41f7d04b36c8', + Var('chromium_git') + '/chromium/deps/sqlite.git' + '@' + '1ee793e63351333e2089d4b272e15574502ff0c2', 'src/third_party/sqlite4java': { 'packages': [ @@ -1769,6 +2062,21 @@ deps = { 'dep_type': 'cipd', }, + 'src/third_party/subresource-filter-ruleset/data': { + 'dep_type': 'gcs', + 'condition': 'non_git_source', + 'bucket': 'chromium-ads-detection', + 'objects': [ + { + 'object_name': 'e4d1c702ca1b5497a3abcdd9495a5d0758f19ffc', + 'sha256sum': 'ae2fd01d2908591e0f39343a5b4a78baa8e7d6cac9d78ba79c502fe0a15ce3ee', + 'size_bytes': 70106, + 'generation': 1695223938564350, + 'output_file': 'UnindexedRules', + }, + ], + }, + 'src/third_party/swift-format': { 'packages': [ { @@ -1794,24 +2102,38 @@ deps = { 'dep_type': 'cipd', }, + 'src/third_party/test_fonts': { + 'dep_type': 'gcs', + 'condition': 'non_git_source', + 'bucket': 'chromium-fonts', + 'objects': [ + { + 'object_name': '336e775eec536b2d785cc80eff6ac39051931286', + 'sha256sum': 'a2ca2962daf482a8f943163541e1c73ba4b2694fabcd2510981f2db4eda493c8', + 'size_bytes': 32624734, + 'generation': 1647440500943755, + }, + ], + }, + 'src/third_party/text-fragments-polyfill/src': Var('chromium_git') + '/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git' + '@' + 'c036420683f672d685e27415de0a5f5e85bdc23f', 'src/third_party/tflite/src': - Var('chromium_git') + '/external/github.com/tensorflow/tensorflow.git' + '@' + 'd3b55d1431ce6b56d5d4070b013e516c61a292d6', + Var('chromium_git') + '/external/github.com/tensorflow/tensorflow.git' + '@' + '1187fe26a8a52029b23e0832356989ab44a540c3', 'src/third_party/turbine': { 'packages': [ { 'package': 'chromium/third_party/turbine', - 'version': 'agNIST7gEMTmrnvQLPzx2dduGa52uMmOx3fEWm9z5MEC', + 'version': 'fYpnoJAvh8-OaNB9k81XWGrwiODb_uTipTBEUeIFM98C', }, ], 'condition': 'checkout_android', 'dep_type': 'cipd', }, - 'src/third_party/vulkan-deps': '{chromium_git}/vulkan-deps@35d6b77d10f523580acf18702b28efc2709bc1d2', + 'src/third_party/vulkan-deps': '{chromium_git}/vulkan-deps@f1dcf238ad742f936794809f28b0ad0511b6585b', 'src/third_party/vulkan_memory_allocator': Var('chromium_git') + '/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git' + '@' + '56300b29fbfcc693ee6609ddad3fdd5b7a449a21', @@ -1845,13 +2167,13 @@ deps = { Var('chromium_git') + '/external/github.com/SeleniumHQ/selenium/py.git' + '@' + 'fc5e7e70c098bfb189a9a74746809ad3c5c34e04', 'src/third_party/webgl/src': - Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + 'f4bf599a8b575df685c31d9c4729a70a04e377ed', + Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + '1b6371436a0a60e6b9a4ae2a40a8eba198e3af02', 'src/third_party/webgpu-cts/src': - Var('chromium_git') + '/external/github.com/gpuweb/cts.git' + '@' + '11efd3b4ad23b66ed7aa88e84193833dbe5a7150', + Var('chromium_git') + '/external/github.com/gpuweb/cts.git' + '@' + '762a3dfb42095c6084da99b630eea6bef9dc1db8', 'src/third_party/webrtc': - Var('webrtc_git') + '/src.git' + '@' + '8505a9838ea91c66c96c173d30cd66f9dbcc7548', + Var('webrtc_git') + '/src.git' + '@' + 'a18e38fed2307edd6382760213fa3ddf199fa181', # Wuffs' canonical repository is at github.com/google/wuffs, but we use # Skia's mirror of Wuffs, the same as in upstream Skia's DEPS file. @@ -1876,7 +2198,7 @@ deps = { }, 'src/third_party/xnnpack/src': - Var('chromium_git') + '/external/github.com/google/XNNPACK.git' + '@' + '85071b8b8729f63262484942fc9eb1c7c16525c4', + Var('chromium_git') + '/external/github.com/google/XNNPACK.git' + '@' + 'e73fb4a03f658fd48cc10c8a7cf48fe7eeab9114', 'src/tools/page_cycler/acid3': Var('chromium_git') + '/chromium/deps/acid3.git' + '@' + 'a926d0a32e02c4c03ae95bb798e6c780e0e184ba', @@ -1890,28 +2212,28 @@ deps = { }, ], - 'condition': 'checkout_linux', + 'condition': 'checkout_linux and non_git_source', 'dep_type': 'cipd', }, 'src/third_party/zstd/src': - Var('chromium_git') + '/external/github.com/facebook/zstd.git' + '@' + '621a263fb2e6c2175fbd489e5d77ee8038baa2b2', + Var('chromium_git') + '/external/github.com/facebook/zstd.git' + '@' + 'ff7a151f2e6c009b657d9f798c2d9962b0e3feb5', 'src/tools/skia_goldctl/linux': { 'packages': [ { 'package': 'skia/tools/goldctl/linux-amd64', - 'version': 'ZpyLtfuztdYI-RCkvm6kXlmx8ec1wYyrwXNI-lQEJKwC', + 'version': 'EYKOn-l9uvmHtsVw_fmqj8vxXKpMyXt2sXvEJ3snsUQC', }, ], 'dep_type': 'cipd', - 'condition': 'checkout_linux', + 'condition': 'checkout_linux and non_git_source', }, 'src/tools/skia_goldctl/win': { 'packages': [ { 'package': 'skia/tools/goldctl/windows-amd64', - 'version': 'LT6gNudC207ke0t4qv9IW_s27hoPIafnwpcfrzR8FzMC', + 'version': 'gEDTtt_VQOAPHQedAzUUVJ79216-Wz_H9A-EfvVGYyAC', }, ], 'dep_type': 'cipd', @@ -1922,7 +2244,7 @@ deps = { 'packages': [ { 'package': 'skia/tools/goldctl/mac-amd64', - 'version': 'FpwpXsMPl8Mets8uet3zfFw8nNBpl69xJoTYESLUjl8C', + 'version': 'U1MAiUkDGvUVuk6G3tRhjjtmA3gDgW4HkyWhy8xTfrQC', }, ], 'dep_type': 'cipd', @@ -1933,7 +2255,7 @@ deps = { 'packages': [ { 'package': 'skia/tools/goldctl/mac-arm64', - 'version': 'GuJOsvx5V5z8DvAM_HOVy6eBydQ0sO7dVso_p_L7KTgC', + 'version': 'KzRIDh9i73vYu6zVorKIEt7qrq38TuL9MZEWbf3Glw4C', }, ], 'dep_type': 'cipd', @@ -1963,7 +2285,7 @@ deps = { 'packages': [ { 'package': 'chromeos_internal/apps/eche_app/app', - 'version': 'adlsj1Xru68irZ1xlmnbIEtZ4jaFfqbhmuDXMhGNpCQC', + 'version': 'yT7ULoxNB4ej3D1KDKz8x2izFXFsMqWIfGtuxKlJPQoC', }, ], 'condition': 'checkout_chromeos and checkout_src_internal', @@ -1974,7 +2296,7 @@ deps = { 'packages': [ { 'package': 'chromeos_internal/apps/help_app/app', - 'version': 'QwSduRGX3EOeXew7xwefa397-6WPXs7cqSCmVDOEoYgC', + 'version': '_994WSv_AaYscHpH82oYRFj-D9bLNBt89Kh-hZdYBLgC', }, ], 'condition': 'checkout_chromeos and checkout_src_internal', @@ -1985,7 +2307,7 @@ deps = { 'packages': [ { 'package': 'chromeos_internal/apps/media_app/app', - 'version': '-E_2mIUEbbKyJWZzHVRIuanUBTuj_qtcDBs4y87tagkC', + 'version': 'xlidS2cVpKlqrt2mvODhd4uQt7TzmYqG2mWTERn9WIYC', }, ], 'condition': 'checkout_chromeos and checkout_src_internal', @@ -2018,7 +2340,7 @@ deps = { 'packages': [ { 'package': 'chromeos_internal/apps/projector_app/app', - 'version': 'QHBjfvrUtnNK5SaBGz5_E2W5kxqd1DpX573uhtPF55YC', + 'version': 'J08xVvebIcJaqDu4rHyFyFsvicfzABcJj0_7Q4qihYMC', }, ], 'condition': 'checkout_chromeos and checkout_src_internal', @@ -2564,7 +2886,7 @@ deps = { 'packages': [ { 'package': 'chromium/third_party/android_deps/libs/com_google_android_gms_play_services_location', - 'version': 'version:2@19.0.1.cr1', + 'version': 'version:2@21.0.1.cr1', }, ], 'condition': 'checkout_android', @@ -2582,17 +2904,6 @@ deps = { 'dep_type': 'cipd', }, - 'src/third_party/android_deps/libs/com_google_android_gms_play_services_places_placereport': { - 'packages': [ - { - 'package': 'chromium/third_party/android_deps/libs/com_google_android_gms_play_services_places_placereport', - 'version': 'version:2@17.0.0.cr1', - }, - ], - 'condition': 'checkout_android', - 'dep_type': 'cipd', - }, - 'src/third_party/android_deps/libs/com_google_android_gms_play_services_stats': { 'packages': [ { @@ -2615,28 +2926,6 @@ deps = { 'dep_type': 'cipd', }, - 'src/third_party/android_deps/libs/com_google_android_gms_play_services_tflite_impl': { - 'packages': [ - { - 'package': 'chromium/third_party/android_deps/libs/com_google_android_gms_play_services_tflite_impl', - 'version': 'version:2@16.0.1.cr1', - }, - ], - 'condition': 'checkout_android', - 'dep_type': 'cipd', - }, - - 'src/third_party/android_deps/libs/com_google_android_gms_play_services_tflite_java': { - 'packages': [ - { - 'package': 'chromium/third_party/android_deps/libs/com_google_android_gms_play_services_tflite_java', - 'version': 'version:2@16.0.1.cr1', - }, - ], - 'condition': 'checkout_android', - 'dep_type': 'cipd', - }, - 'src/third_party/android_deps/libs/com_google_android_gms_play_services_vision': { 'packages': [ { @@ -3279,7 +3568,7 @@ deps = { 'packages': [ { 'package': 'chromium/third_party/android_deps/libs/net_bytebuddy_byte_buddy', - 'version': 'version:2@1.14.10.cr1', + 'version': 'version:2@1.14.12.cr1', }, ], 'condition': 'checkout_android', @@ -3290,7 +3579,7 @@ deps = { 'packages': [ { 'package': 'chromium/third_party/android_deps/libs/net_bytebuddy_byte_buddy_agent', - 'version': 'version:2@1.14.10.cr1', + 'version': 'version:2@1.14.12.cr1', }, ], 'condition': 'checkout_android', @@ -3532,7 +3821,7 @@ deps = { 'packages': [ { 'package': 'chromium/third_party/android_deps/libs/org_mockito_mockito_android', - 'version': 'version:2@5.8.0.cr1', + 'version': 'version:2@5.11.0.cr1', }, ], 'condition': 'checkout_android', @@ -3543,7 +3832,7 @@ deps = { 'packages': [ { 'package': 'chromium/third_party/android_deps/libs/org_mockito_mockito_core', - 'version': 'version:2@5.8.0.cr1', + 'version': 'version:2@5.11.0.cr1', }, ], 'condition': 'checkout_android', @@ -3554,7 +3843,7 @@ deps = { 'packages': [ { 'package': 'chromium/third_party/android_deps/libs/org_mockito_mockito_subclass', - 'version': 'version:2@5.8.0.cr1', + 'version': 'version:2@5.11.0.cr1', }, ], 'condition': 'checkout_android', @@ -3792,17 +4081,6 @@ deps = { 'dep_type': 'cipd', }, - 'src/third_party/android_deps/libs/org_tensorflow_tensorflow_lite_api': { - 'packages': [ - { - 'package': 'chromium/third_party/android_deps/libs/org_tensorflow_tensorflow_lite_api', - 'version': 'version:2@2.10.0.cr1', - }, - ], - 'condition': 'checkout_android', - 'dep_type': 'cipd', - }, - # === ANDROID_DEPS Generated Code End === 'src/tools/resultdb': { @@ -3812,6 +4090,7 @@ deps = { 'version': Var('resultdb_version'), }, ], + 'condition': 'non_git_source', 'dep_type': 'cipd', }, @@ -3821,7 +4100,7 @@ deps = { 'version': 'version:2@5.3.2.1', }], 'dep_type': 'cipd', - 'condition': 'host_os == "linux" and checkout_bazel', + 'condition': 'host_os == "linux" and checkout_bazel and non_git_source', }, 'src/tools/bazel/mac-amd64': { @@ -3854,7 +4133,7 @@ deps = { # Dependencies from src_internal 'src/chromeos/ash/resources/internal': { 'url': Var('chrome_git') + '/chrome/chromeos/ash/resources/internal.git' + '@' + - 'bc844cc95077f161fff18f57fee76b33303d48c2', + '70bca0e40f5fbbfc98120d9c45d3946b172415b0', 'condition': 'checkout_src_internal and checkout_chromeos', }, @@ -3866,7 +4145,7 @@ deps = { 'src/ash/webui/conch': { 'url': Var('chrome_git') + '/ash/webui/conch.git' + '@' + - '63688f1742cefae6fc6aaf7732838f4eb420b4d3', + '42c2bc725554b7bee35f88d8226864ff497fa155', 'condition': 'checkout_src_internal and checkout_chromeos', }, @@ -3887,19 +4166,19 @@ deps = { 'src/chrome/app/theme/default_100_percent/google_chrome': { 'url': Var('chrome_git') + '/chrome/theme/default_100_percent/google_chrome.git' + '@' + - '364a7bfc4cec1e32257a2b9ae12f5354fa4709bb', + '0fbd11198295f3dfb0b5eca1ecdd552350447971', 'condition': 'checkout_src_internal', }, 'src/chrome/app/theme/default_200_percent/google_chrome': { 'url': Var('chrome_git') + '/chrome/theme/default_200_percent/google_chrome.git' + '@' + - '422d4257f3f9f3c2f6b03d8033c61f0cbbece8b4', + '467ceaa55947ede56a7d4b99c8a6748c3b0fd611', 'condition': 'checkout_src_internal', }, 'src/chrome/app/theme/google_chrome': { 'url': Var('chrome_git') + '/chrome/theme/google_chrome.git' + '@' + - 'e911967a72e29182faeb7941b313bb8aaac50a9c', + 'ee36936bac5f53ba3058174c2dc2d750d584a24b', 'condition': 'checkout_src_internal', }, @@ -3917,7 +4196,7 @@ deps = { 'src/chrome/browser/internal': { 'url': Var('chrome_git') + '/chrome/browser_internal.git' + '@' + - 'e7816b8613ca95f58086a77a57eadf4c373abd89', + '60534f5aba8ad7e5ddd9d939a92c3b31bd7bfd6c', 'condition': 'checkout_src_internal', }, @@ -3935,7 +4214,13 @@ deps = { 'src/chrome/browser/platform_experience/win': { 'url': Var('chrome_git') + '/chrome/browser/platform_experience/win.git' + '@' + - 'e2261501b3a54bb01cd879dfc0d9297a9a26aa0e', + '3d27dce9761364362fb066b34eca50b767ab53d4', + 'condition': 'checkout_src_internal', + }, + + 'src/chrome/browser/resources/downloads/internal': { + 'url': Var('chrome_git') + '/chrome/browser/resources/downloads_internal.git' + '@' + + '4e6a570c8d7c9cc6222d785aff3151f8a37c7362', 'condition': 'checkout_src_internal', }, @@ -3955,7 +4240,7 @@ deps = { 'packages' : [ { 'package': 'chromeos_internal/inputs/orca', - 'version': 'A5JRjW6Vjwbu1zSXounq12GhuaJ1RdAodMySlU06t1wC' + 'version': 'BlK9M7Mo_MyZC1SNq90Xk6hFKnoOY5AiT3Sbrl9K4LAC' } ], 'condition': 'checkout_chromeos and checkout_src_internal', @@ -4036,13 +4321,13 @@ deps = { }, 'src/chrome/services/speech/internal': { - 'url': Var('chrome_git') + '/chromeos/speech.git' + '@' + '8c7d728f17b6f781ac79ed0361b9655e34dd8c4a', + 'url': Var('chrome_git') + '/chromeos/speech.git' + '@' + '27f567e38ad88b28bde05ee2d7e3d788acb9191f', 'condition': 'checkout_chromeos and checkout_src_internal', }, 'src/components/autofill/core/browser/form_parsing/internal_resources': { 'url': Var('chrome_git') + '/chrome/components/autofill_regex_patterns.git' + '@' + - '59b2cefdb32a4c90676b95e5d5464dbc8595b13e', + 'feb267b80dd9df83ce4949470d5b1cc6214cd775', 'condition': 'checkout_src_internal', }, @@ -4065,7 +4350,7 @@ deps = { 'src/components/optimization_guide/internal': { 'url': Var('chrome_git') + '/chrome/components/optimization_guide.git' + '@' + - '33f0e92003ba6f07b2062568e33e1452ec343ff2', + '005ad665fd92f7a71818f9f97d5a603b46f47eab', 'condition': 'checkout_src_internal', }, @@ -4101,13 +4386,13 @@ deps = { 'src/components/test/data/autofill/heuristics-json/internal': { 'url': Var('chrome_git') + '/chrome/test/autofill/structured_forms.git' + '@' + - '6591e633c04b874832949a40770684f2b91125fe', + '9237eb78073f68624f87a51db70a1b5ae04b9537', 'condition': 'checkout_chromium_autofill_test_dependencies', }, 'src/components/vector_icons/google_chrome': { 'url': Var('chrome_git') + '/chrome/vector_icons/google_chrome.git' + '@' + - '27ad1c79b6f35ed989ad7028f5b5be235e5b0238', + '399a8ad7008e4ec28f659304548c3df7f2cebe54', 'condition': 'checkout_src_internal', }, @@ -4125,16 +4410,10 @@ deps = { 'src/ios_internal': { 'url': Var('chrome_git') + '/chrome/ios_internal.git' + '@' + - '2c41bc7e3b9458d6450d5d1dab9c9e2aedb38f65', + '82165cba6a0b1ea4b3fb91783324bac633ff28fb', 'condition': 'checkout_ios and checkout_src_internal', }, - 'src/remoting/android/internal': { - 'url': Var('chrome_git') + '/chrome/remoting/android/internal.git' + '@' + - '016a13fdc552a86d4ca8e730f156e6487c93056b', - 'condition': 'checkout_android and checkout_src_internal', - }, - 'src/remoting/host/installer/linux/internal': { 'url': Var('chrome_git') + '/chrome/remoting/host/installer/linux/internal.git' + '@' + 'e190816de75b14897f1af785eb37d237750460e2', @@ -4259,7 +4538,7 @@ deps = { 'version': Var('screen_ai_linux'), }, ], - 'condition': 'checkout_linux', + 'condition': 'checkout_linux and non_git_source', 'dep_type': 'cipd', }, @@ -4314,7 +4593,7 @@ deps = { 'version': 'StdK8khsivYZXVo2wZuVMnDN_xrVO2a8HV8kvfJ3emwC', }, ], - 'condition': 'checkout_linux and checkout_soda and checkout_src_internal', + 'condition': 'checkout_linux and checkout_soda and checkout_src_internal and non_git_source', 'dep_type': 'cipd', }, @@ -4543,6 +4822,17 @@ hooks = [ '--disable', ], }, + { + # Ensure we remove any file from disk that is no longer needed (e.g. after + # hooks to native GCS deps migration). + 'name': 'remove_stale_files', + 'pattern': '.', + 'action': [ + 'python3', + 'src/tools/remove_stale_files.py', + 'src/third_party/test_fonts/test_fonts.tar.gz', # Remove after 20240901 + ], + }, { # Ensure that we don't accidentally reference any .pyc files whose # corresponding .py files have since been deleted. @@ -4579,54 +4869,6 @@ hooks = [ 'sync', '--extract', ], }, - { - 'name': 'sysroot_arm', - 'pattern': '.', - 'condition': 'checkout_linux and checkout_arm', - 'action': ['python3', 'src/build/linux/sysroot_scripts/install-sysroot.py', - '--sysroots-json-path=' + Var('sysroots_json_path'), - '--arch=arm'], - }, - { - 'name': 'sysroot_arm64', - 'pattern': '.', - 'condition': 'checkout_linux and checkout_arm64', - 'action': ['python3', 'src/build/linux/sysroot_scripts/install-sysroot.py', - '--sysroots-json-path=' + Var('sysroots_json_path'), - '--arch=arm64'], - }, - { - 'name': 'sysroot_x86', - 'pattern': '.', - 'condition': 'checkout_linux and (checkout_x86 or checkout_x64)', - 'action': ['python3', 'src/build/linux/sysroot_scripts/install-sysroot.py', - '--sysroots-json-path=' + Var('sysroots_json_path'), - '--arch=x86'], - }, - { - 'name': 'sysroot_mips', - 'pattern': '.', - 'condition': 'checkout_linux and checkout_mips', - 'action': ['python3', 'src/build/linux/sysroot_scripts/install-sysroot.py', - '--sysroots-json-path=' + Var('sysroots_json_path'), - '--arch=mips'], - }, - { - 'name': 'sysroot_mips64', - 'pattern': '.', - 'condition': 'checkout_linux and checkout_mips64', - 'action': ['python3', 'src/build/linux/sysroot_scripts/install-sysroot.py', - '--sysroots-json-path=' + Var('sysroots_json_path'), - '--arch=mips64el'], - }, - { - 'name': 'sysroot_x64', - 'pattern': '.', - 'condition': 'checkout_linux and checkout_x64', - 'action': ['python3', 'src/build/linux/sysroot_scripts/install-sysroot.py', - '--sysroots-json-path=' + Var('sysroots_json_path'), - '--arch=x64'], - }, { # Case-insensitivity for the Win SDK. Must run before win_toolchain below. 'name': 'ciopfs_linux', @@ -4776,57 +5018,6 @@ hooks = [ ], }, - # Pull clang-format binaries using checked-in hashes. - { - 'name': 'clang_format_win', - 'pattern': '.', - 'condition': 'host_os == "win"', - 'action': [ 'python3', - 'src/third_party/depot_tools/download_from_google_storage.py', - '--no_resume', - '--no_auth', - '--bucket', 'chromium-clang-format', - '-s', 'src/buildtools/win/clang-format.exe.sha1', - ], - }, - { - 'name': 'clang_format_mac_x64', - 'pattern': '.', - 'condition': 'host_os == "mac" and host_cpu == "x64"', - 'action': [ 'python3', - 'src/third_party/depot_tools/download_from_google_storage.py', - '--no_resume', - '--no_auth', - '--bucket', 'chromium-clang-format', - '-s', 'src/buildtools/mac/clang-format.x64.sha1', - '-o', 'src/buildtools/mac/clang-format', - ], - }, - { - 'name': 'clang_format_mac_arm64', - 'pattern': '.', - 'condition': 'host_os == "mac" and host_cpu == "arm64"', - 'action': [ 'python3', - 'src/third_party/depot_tools/download_from_google_storage.py', - '--no_resume', - '--no_auth', - '--bucket', 'chromium-clang-format', - '-s', 'src/buildtools/mac/clang-format.arm64.sha1', - '-o', 'src/buildtools/mac/clang-format', - ], - }, - { - 'name': 'clang_format_linux', - 'pattern': '.', - 'condition': 'host_os == "linux"', - 'action': [ 'python3', - 'src/third_party/depot_tools/download_from_google_storage.py', - '--no_resume', - '--no_auth', - '--bucket', 'chromium-clang-format', - '-s', 'src/buildtools/linux64/clang-format.sha1', - ], - }, # Pull rc binaries using checked-in hashes. { 'name': 'rc_win', @@ -4864,29 +5055,6 @@ hooks = [ '-s', 'src/build/toolchain/win/rc/linux64/rc.sha1', ] }, - { - 'name': 'test_fonts', - 'pattern': '.', - 'action': [ 'python3', - 'src/third_party/depot_tools/download_from_google_storage.py', - '--no_resume', - '--extract', - '--no_auth', - '--bucket', 'chromium-fonts', - '-s', 'src/third_party/test_fonts/test_fonts.tar.gz.sha1', - ], - }, - # Download test resources for opus, i.e. audio files. - { - 'name': 'opus_test_files', - 'pattern': '.', - 'action': ['python3', - 'src/third_party/depot_tools/download_from_google_storage.py', - '--no_auth', - '--quiet', - '--bucket', 'chromium-webrtc-resources', - '-d', 'src/third_party/opus/tests/resources'], - }, { 'name': 'apache_win32', 'pattern': '\\.sha1', @@ -4902,31 +5070,6 @@ hooks = [ 'src/third_party/apache-win32', ], }, - { - 'name': 'wasm_fuzzer', - 'pattern': '.', - 'action': [ 'python3', - 'src/third_party/depot_tools/download_from_google_storage.py', - '--no_resume', - '--no_auth', - '-u', - '--bucket', 'v8-wasm-fuzzer', - '-s', 'src/v8/test/fuzzer/wasm_corpus.tar.gz.sha1', - ], - }, - # Download selected models from TFHub as testdata. - { - 'name': 'download_tfhub_models', - 'pattern': '.', - 'action': [ 'python3', - 'src/third_party/depot_tools/download_from_google_storage.py', - '--no_resume', - '--extract', - '--bucket', 'chromium-tfhub-models', - '-s', 'src/third_party/tfhub_models/models.tar.gz.sha1', - ], - }, - # Pull down Node binaries for WebUI toolchain. # The Linux binary is always downloaded regardless of host os and architecture # since remote node actions run on Linux worker. @@ -5000,21 +5143,6 @@ hooks = [ ], }, - # NPM dependencies for JavaScript code coverage. - { - 'name': 'js_coverage_node_modules', - 'condition': 'checkout_js_coverage_modules', - 'pattern': '.', - 'action': [ 'python3', - 'src/third_party/depot_tools/download_from_google_storage.py', - '--no_resume', - '--extract', - '--no_auth', - '--bucket', 'chromium-nodejs/js_code_coverage', - '-s', 'src/third_party/js_code_coverage/node_modules.tar.gz.sha1', - ], - }, - # Download Telemetry's binary dependencies via conditionals { 'name': 'checkout_telemetry_binary_dependencies', @@ -5081,34 +5209,6 @@ hooks = [ 'download', ], }, - - # Download test data for Maps telemetry_gpu_integration_test. - { - 'name': 'maps_perf_test_load_dataset', - 'pattern': '\\.sha1', - 'action': [ 'python3', - 'src/third_party/depot_tools/download_from_google_storage.py', - '--no_resume', - '--no_auth', - '--bucket', 'chromium-telemetry', - '-s', 'src/tools/perf/page_sets/maps_perf_test/load_dataset.sha1', - ], - }, - - # Pull down Zucchini test data. - { - 'name': 'zucchini_testdata', - 'pattern': '.', - 'action': [ 'python3', - 'src/third_party/depot_tools/download_from_google_storage.py', - '--no_resume', - '--no_auth', - '--num_threads=4', - '--bucket', 'chromium-binary-patching/zucchini_testdata', - '--recursive', - '-d', 'src/components/zucchini', - ], - }, # Pull down WPR Archive files { 'name': 'Fetch WPR archive files', @@ -5161,17 +5261,6 @@ hooks = [ 'src/third_party/arcore-android-sdk/test-apks/update.py', ], }, - { - 'name': 'subresource-filter-ruleset', - 'pattern': '.', - 'action': [ 'python3', - 'src/third_party/depot_tools/download_from_google_storage.py', - '--no_resume', - '--no_auth', - '--bucket', 'chromium-ads-detection', - '-s', 'src/third_party/subresource-filter-ruleset/data/UnindexedRules.sha1', - ], - }, # Download AFDO profiles for ChromeOS for each architecture. { 'name': 'Fetch ChromeOS AFDO profiles (from Intel Atom cores)', @@ -5551,6 +5640,7 @@ hooks = [ 'download', '--depot-tools', 'src/third_party/depot_tools', + '--quiet', ], }, @@ -5587,17 +5677,6 @@ hooks = [ 'condition': 'host_os == "win"', 'action': ['python3', 'src/build/del_ninja_deps_cache.py'], }, - # Download test resources for the style perftest. - { - 'name': 'style_perftest_files', - 'pattern': '.', - 'action': ['python3', - 'src/third_party/depot_tools/download_from_google_storage.py', - '--no_auth', - '--quiet', - '--bucket', 'chromium-style-perftest', - '-d', 'src/third_party/blink/renderer/core/css/perftest_data'], - }, # Configure remote exec cfg files { # Use luci_auth if on windows and using chrome-untrusted project @@ -5694,5 +5773,6 @@ recursedeps = [ # clank has its own DEPS file, does not need to be in trybot_analyze_config # since the roller does not run tests. 'src/clank', + 'src/components/optimization_guide/internal', 'src/ios_internal', ] diff --git a/naiveproxy/src/base/BUILD.gn b/naiveproxy/src/base/BUILD.gn index e34ceafc34..697ad731f2 100644 --- a/naiveproxy/src/base/BUILD.gn +++ b/naiveproxy/src/base/BUILD.gn @@ -119,7 +119,7 @@ if (is_fuchsia) { # have a Rust toolchain, so we need a fallback to C++ for it until it removes # its dependency on //base. # -# TODO(crbug.com/1280708): Drop toolchain_has_rust and move the C++ parser into +# TODO(crbug.com/40811643): Drop toolchain_has_rust and move the C++ parser into # components/nacl to just run in-process there. Don't compile base::JSONReader # on NaCL at all. build_rust_json_reader = toolchain_has_rust && enable_rust_json @@ -253,7 +253,6 @@ component("base") { "base64url.cc", "base64url.h", "base_switches.h", - "big_endian.cc", "big_endian.h", "bit_cast.h", "bits.h", @@ -748,6 +747,7 @@ component("base") { "task/sequence_manager/task_queue_impl.h", "task/sequence_manager/task_queue_selector.cc", "task/sequence_manager/task_queue_selector.h", + "task/sequence_manager/task_time_observer.cc", "task/sequence_manager/task_time_observer.h", "task/sequence_manager/tasks.cc", "task/sequence_manager/tasks.h", @@ -936,6 +936,7 @@ component("base") { "traits_bag.h", "tuple.h", "types/always_false.h", + "types/cxx23_is_scoped_enum.h", "types/cxx23_to_underlying.h", "types/expected.h", "types/expected_internal.h", @@ -1298,6 +1299,8 @@ component("base") { "android/token_android.h", "android/trace_event_binding.cc", "android/trace_event_binding.h", + "android/unguessable_token_android.cc", + "android/unguessable_token_android.h", ] deps += [ "//build:robolectric_buildflags" ] public_deps += [ "//third_party/jni_zero:jni_zero" ] @@ -1404,7 +1407,7 @@ component("base") { # These only need to be public deps because of includes of their headers # by public //base headers, which requires they be on the include path. - # TODO(https://crbug.com/841171): Move these back to |deps|. + # TODO(crbug.com/40575514): Move these back to |deps|. public_deps += [ "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.component.runner:fuchsia.component.runner_hlcpp", "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.intl:fuchsia.intl_hlcpp", @@ -1448,7 +1451,7 @@ component("base") { # cannot easily depend on BoringSSL due to the nacl_io library, so NaCl builds # still retain a dedicated local implementation of the functionality. # - # TODO(crbug.com/702997) Use only boringssl when NaCl is removed. + # TODO(crbug.com/40511454) Use only boringssl when NaCl is removed. sources += [ "hash/md5.h", "hash/md5_constexpr.h", @@ -2477,7 +2480,7 @@ buildflag_header("debugging_buildflags") { enable_lldbinit_warning = is_debug && strip_absolute_paths_from_debug_symbols && is_mac - # TODO(crbug.com/1420774): Try and enable these checks on Android too. + # TODO(crbug.com/40258939): Try and enable these checks on Android too. enable_commandline_sequence_checks = (is_debug || dcheck_always_on) && !is_android diff --git a/naiveproxy/src/base/allocator/BUILD.gn b/naiveproxy/src/base/allocator/BUILD.gn index 89e5e92923..1df3bdc5c9 100644 --- a/naiveproxy/src/base/allocator/BUILD.gn +++ b/naiveproxy/src/base/allocator/BUILD.gn @@ -11,8 +11,10 @@ import("//build/config/dcheck_always_on.gni") buildflag_header("buildflags") { header = "buildflags.h" - flags = - [ "USE_PARTITION_ALLOC_AS_GWP_ASAN_STORE=$enable_backup_ref_ptr_support" ] + use_partition_alloc_as_gwp_asan_store = + enable_backup_ref_ptr_support && use_raw_ptr_backup_ref_impl + + flags = [ "USE_PARTITION_ALLOC_AS_GWP_ASAN_STORE=$use_partition_alloc_as_gwp_asan_store" ] } if (is_apple) { diff --git a/naiveproxy/src/base/allocator/allocator_check.cc b/naiveproxy/src/base/allocator/allocator_check.cc index 442e735db3..a993747fcc 100644 --- a/naiveproxy/src/base/allocator/allocator_check.cc +++ b/naiveproxy/src/base/allocator/allocator_check.cc @@ -22,12 +22,13 @@ namespace base::allocator { bool IsAllocatorInitialized() { -#if BUILDFLAG(IS_WIN) && BUILDFLAG(USE_ALLOCATOR_SHIM) +#if BUILDFLAG(IS_WIN) && PA_BUILDFLAG(USE_ALLOCATOR_SHIM) // Set by allocator_shim_override_ucrt_symbols_win.h when the // shimmed _set_new_mode() is called. return allocator_shim::g_is_win_shim_layer_initialized; #elif BUILDFLAG(IS_APPLE) && !defined(MEMORY_TOOL_REPLACES_ALLOCATOR) && \ - !BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(USE_ALLOCATOR_SHIM) + !PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && \ + PA_BUILDFLAG(USE_ALLOCATOR_SHIM) // From allocator_interception_mac.mm. return allocator_shim::g_replaced_default_zone; #else diff --git a/naiveproxy/src/base/allocator/dispatcher/dispatcher.cc b/naiveproxy/src/base/allocator/dispatcher/dispatcher.cc index 78f706cd6b..2c5dfc7870 100644 --- a/naiveproxy/src/base/allocator/dispatcher/dispatcher.cc +++ b/naiveproxy/src/base/allocator/dispatcher/dispatcher.cc @@ -15,7 +15,7 @@ #include #endif -#if BUILDFLAG(USE_PARTITION_ALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC) #include "partition_alloc/partition_alloc_hooks.h" #endif @@ -51,13 +51,13 @@ struct Dispatcher::Impl { // connected. This way we prevent notifications although no observers are // present. static void ConnectToEmitters(const internal::DispatchData& dispatch_data) { -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) if (auto* const allocator_dispatch = dispatch_data.GetAllocatorDispatch()) { allocator_shim::InsertAllocatorDispatch(allocator_dispatch); } #endif -#if BUILDFLAG(USE_PARTITION_ALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC) { auto* const allocation_hook = dispatch_data.GetAllocationObserverHook(); auto* const free_hook = dispatch_data.GetFreeObserverHook(); @@ -70,14 +70,14 @@ struct Dispatcher::Impl { } static void DisconnectFromEmitters(internal::DispatchData& dispatch_data) { -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) if (auto* const allocator_dispatch = dispatch_data.GetAllocatorDispatch()) { allocator_shim::RemoveAllocatorDispatchForTesting( allocator_dispatch); // IN-TEST } #endif -#if BUILDFLAG(USE_PARTITION_ALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC) partition_alloc::PartitionAllocHooks::SetObserverHooks(nullptr, nullptr); #endif } diff --git a/naiveproxy/src/base/allocator/dispatcher/internal/dispatch_data.cc b/naiveproxy/src/base/allocator/dispatcher/internal/dispatch_data.cc index 6318e2bdb1..6ea80eb089 100644 --- a/naiveproxy/src/base/allocator/dispatcher/internal/dispatch_data.cc +++ b/naiveproxy/src/base/allocator/dispatcher/internal/dispatch_data.cc @@ -7,7 +7,7 @@ namespace base::allocator::dispatcher::internal { -#if BUILDFLAG(USE_PARTITION_ALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC) DispatchData& DispatchData::SetAllocationObserverHooks( AllocationObserverHook* allocation_observer_hook, @@ -28,7 +28,7 @@ DispatchData::FreeObserverHook* DispatchData::GetFreeObserverHook() const { } #endif -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) DispatchData& DispatchData::SetAllocatorDispatch( AllocatorDispatch* allocator_dispatch) { allocator_dispatch_ = allocator_dispatch; diff --git a/naiveproxy/src/base/allocator/dispatcher/internal/dispatch_data.h b/naiveproxy/src/base/allocator/dispatcher/internal/dispatch_data.h index e2a926eed3..3c1b24c117 100644 --- a/naiveproxy/src/base/allocator/dispatcher/internal/dispatch_data.h +++ b/naiveproxy/src/base/allocator/dispatcher/internal/dispatch_data.h @@ -9,24 +9,24 @@ #include "build/build_config.h" #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_PARTITION_ALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC) #include "partition_alloc/partition_alloc_hooks.h" #endif -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #include "partition_alloc/shim/allocator_shim.h" #endif namespace base::allocator::dispatcher::internal { -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) using allocator_shim::AllocatorDispatch; #endif // A simple utility class to pass all the information required to properly hook // into the memory allocation subsystems from DispatcherImpl to the Dispatcher. struct BASE_EXPORT DispatchData { -#if BUILDFLAG(USE_PARTITION_ALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC) using AllocationObserverHook = partition_alloc::PartitionAllocHooks::AllocationObserverHook; using FreeObserverHook = @@ -44,7 +44,7 @@ struct BASE_EXPORT DispatchData { public: #endif -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) DispatchData& SetAllocatorDispatch(AllocatorDispatch* allocator_dispatch); AllocatorDispatch* GetAllocatorDispatch() const; diff --git a/naiveproxy/src/base/allocator/dispatcher/internal/dispatcher_internal.h b/naiveproxy/src/base/allocator/dispatcher/internal/dispatcher_internal.h index f3381541af..1db681a40f 100644 --- a/naiveproxy/src/base/allocator/dispatcher/internal/dispatcher_internal.h +++ b/naiveproxy/src/base/allocator/dispatcher/internal/dispatcher_internal.h @@ -15,11 +15,11 @@ #include "base/compiler_specific.h" #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_PARTITION_ALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC) #include "partition_alloc/partition_alloc_allocation_data.h" #endif -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #include "partition_alloc/shim/allocator_shim.h" #endif @@ -27,7 +27,7 @@ namespace base::allocator::dispatcher::internal { -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) using allocator_shim::AllocatorDispatch; #endif @@ -83,17 +83,17 @@ struct DispatcherImpl { private: static DispatchData CreateDispatchData() { return DispatchData() -#if BUILDFLAG(USE_PARTITION_ALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC) .SetAllocationObserverHooks(&PartitionAllocatorAllocationHook, &PartitionAllocatorFreeHook) #endif -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) .SetAllocatorDispatch(&allocator_dispatch_) #endif ; } -#if BUILDFLAG(USE_PARTITION_ALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC) static void PartitionAllocatorAllocationHook( const partition_alloc::AllocationNotificationData& pa_notification_data) { AllocationNotificationData dispatcher_notification_data( @@ -101,7 +101,7 @@ struct DispatcherImpl { pa_notification_data.type_name(), AllocationSubsystem::kPartitionAllocator); -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) dispatcher_notification_data.SetMteReportingMode( ConvertToMTEMode(pa_notification_data.mte_reporting_mode())); #endif @@ -115,16 +115,16 @@ struct DispatcherImpl { pa_notification_data.address(), AllocationSubsystem::kPartitionAllocator); -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) dispatcher_notification_data.SetMteReportingMode( ConvertToMTEMode(pa_notification_data.mte_reporting_mode())); #endif DoNotifyFree(dispatcher_notification_data); } -#endif // BUILDFLAG(USE_PARTITION_ALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC) -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) static void* AllocFn(const AllocatorDispatch* self, size_t size, void* context) { @@ -196,24 +196,6 @@ struct DispatcherImpl { self->next->free_function(self->next, address, context); } - static size_t GetSizeEstimateFn(const AllocatorDispatch* self, - void* address, - void* context) { - return self->next->get_size_estimate_function(self->next, address, context); - } - - static size_t GoodSizeFn(const AllocatorDispatch* self, - size_t size, - void* context) { - return self->next->good_size_function(self->next, size, context); - } - - static bool ClaimedAddressFn(const AllocatorDispatch* self, - void* address, - void* context) { - return self->next->claimed_address_function(self->next, address, context); - } - static unsigned BatchMallocFn(const AllocatorDispatch* self, size_t size, void** results, @@ -304,7 +286,7 @@ struct DispatcherImpl { } static AllocatorDispatch allocator_dispatch_; -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) ALWAYS_INLINE static void DoNotifyAllocation( const AllocationNotificationData& notification_data) { @@ -323,27 +305,28 @@ struct DispatcherImpl { template std::tuple DispatcherImpl::s_observers; -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) template AllocatorDispatch DispatcherImpl::allocator_dispatch_ = { - &AllocFn, - &AllocUncheckedFn, - &AllocZeroInitializedFn, - &AllocAlignedFn, - &ReallocFn, - &FreeFn, - &GetSizeEstimateFn, - &GoodSizeFn, - &ClaimedAddressFn, - &BatchMallocFn, - &BatchFreeFn, - &FreeDefiniteSizeFn, - &TryFreeDefaultFn, - &AlignedMallocFn, - &AlignedReallocFn, - &AlignedFreeFn, - nullptr}; -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) + AllocFn, // alloc_function + AllocUncheckedFn, // alloc_unchecked_function + AllocZeroInitializedFn, // alloc_zero_initialized_function + AllocAlignedFn, // alloc_aligned_function + ReallocFn, // realloc_function + FreeFn, // free_function + nullptr, // get_size_estimate_function + nullptr, // good_size_function + nullptr, // claimed_address_function + BatchMallocFn, // batch_malloc_function + BatchFreeFn, // batch_free_function + FreeDefiniteSizeFn, // free_definite_size_function + TryFreeDefaultFn, // try_free_default_function + AlignedMallocFn, // aligned_malloc_function + AlignedReallocFn, // aligned_realloc_function + AlignedFreeFn, // aligned_free_function + nullptr // next +}; +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) // Specialization of DispatcherImpl in case we have no observers to notify. In // this special case we return a set of null pointers as the Dispatcher must not @@ -352,10 +335,10 @@ template <> struct DispatcherImpl<> { static DispatchData GetNotificationHooks(std::tuple<> /*observers*/) { return DispatchData() -#if BUILDFLAG(USE_PARTITION_ALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC) .SetAllocationObserverHooks(nullptr, nullptr) #endif -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) .SetAllocatorDispatch(nullptr) #endif ; diff --git a/naiveproxy/src/base/allocator/dispatcher/notification_data.h b/naiveproxy/src/base/allocator/dispatcher/notification_data.h index 4d322d8c21..b9adabb5e7 100644 --- a/naiveproxy/src/base/allocator/dispatcher/notification_data.h +++ b/naiveproxy/src/base/allocator/dispatcher/notification_data.h @@ -42,28 +42,28 @@ class BASE_EXPORT AllocationNotificationData { // In the allocation observer path, it's interesting which reporting mode is // enabled. -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) constexpr AllocationNotificationData& SetMteReportingMode(MTEMode mode) { mte_reporting_mode_ = mode; return *this; } -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) constexpr MTEMode mte_reporting_mode() const { -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) return mte_reporting_mode_; #else return MTEMode::kUndefined; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) } private: void* address_ = nullptr; size_t size_ = 0; const char* type_name_ = nullptr; -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) MTEMode mte_reporting_mode_ = MTEMode::kUndefined; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) AllocationSubsystem allocation_subsystem_; }; @@ -83,26 +83,26 @@ class BASE_EXPORT FreeNotificationData { // In the free observer path, it's interesting which reporting mode is // enabled. -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) constexpr FreeNotificationData& SetMteReportingMode(MTEMode mode) { mte_reporting_mode_ = mode; return *this; } -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) constexpr MTEMode mte_reporting_mode() const { -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) return mte_reporting_mode_; #else return MTEMode::kUndefined; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) } private: void* address_ = nullptr; -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) MTEMode mte_reporting_mode_ = MTEMode::kUndefined; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) AllocationSubsystem allocation_subsystem_; }; diff --git a/naiveproxy/src/base/allocator/dispatcher/reentry_guard.cc b/naiveproxy/src/base/allocator/dispatcher/reentry_guard.cc index 92a526abc3..f87856f57d 100644 --- a/naiveproxy/src/base/allocator/dispatcher/reentry_guard.cc +++ b/naiveproxy/src/base/allocator/dispatcher/reentry_guard.cc @@ -29,7 +29,7 @@ void ReentryGuard::InitTLSSlot() { int error = pthread_key_create(&entered_key_, nullptr); CHECK(!error); // Touch the TLS slot immediately to force any allocations. - // TODO(https://crbug.com/1411454): Use this technique to avoid allocations + // TODO(crbug.com/40062835): Use this technique to avoid allocations // in PoissonAllocationSampler::ScopedMuteThreadSamples, which will make // ReentryGuard redundant. pthread_setspecific(entered_key_, nullptr); @@ -47,7 +47,7 @@ void ReentryGuard::InitTLSSlot() {} void ReentryGuard::RecordTLSSlotToCrashKey() { // Record the key in crash dumps to detect when it's higher than 32 // (PTHREAD_KEY_2NDLEVEL_SIZE). - // TODO(crbug.com/1411454): Remove this after diagnosing reentry crashes. + // TODO(crbug.com/40062835): Remove this after diagnosing reentry crashes. static auto* const crash_key = base::debug::AllocateCrashKeyString( "reentry_guard_tls_slot", base::debug::CrashKeySize::Size32); diff --git a/naiveproxy/src/base/allocator/early_zone_registration_apple.cc b/naiveproxy/src/base/allocator/early_zone_registration_apple.cc index afecd6fc5d..ac912b96fe 100644 --- a/naiveproxy/src/base/allocator/early_zone_registration_apple.cc +++ b/naiveproxy/src/base/allocator/early_zone_registration_apple.cc @@ -17,7 +17,7 @@ namespace partition_alloc { -#if !BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if !PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) void EarlyMallocZoneRegistration() {} void AllowDoublePartitionAllocZoneRegistration() {} @@ -262,5 +262,5 @@ void AllowDoublePartitionAllocZoneRegistration() { } } -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) } // namespace partition_alloc diff --git a/naiveproxy/src/base/allocator/miracle_parameter.h b/naiveproxy/src/base/allocator/miracle_parameter.h index d894e1ad44..687167895c 100644 --- a/naiveproxy/src/base/allocator/miracle_parameter.h +++ b/naiveproxy/src/base/allocator/miracle_parameter.h @@ -14,7 +14,7 @@ // dependency cycle of (base->miracle_parameter->base). // Eventually the miracle_parameter component will have a public interface in // //base/ and this could be removed. -// TODO(crbug.com/1475915): remove miracle_parameter from +// TODO(crbug.com/40279826): remove miracle_parameter from // //base/allocator/. namespace base { diff --git a/naiveproxy/src/base/allocator/partition_alloc_features.cc b/naiveproxy/src/base/allocator/partition_alloc_features.cc index a2616fced0..0caf8862d8 100644 --- a/naiveproxy/src/base/allocator/partition_alloc_features.cc +++ b/naiveproxy/src/base/allocator/partition_alloc_features.cc @@ -42,7 +42,7 @@ const base::FeatureParam BASE_FEATURE(kPartitionAllocDanglingPtr, "PartitionAllocDanglingPtr", -#if BUILDFLAG(ENABLE_DANGLING_RAW_PTR_FEATURE_FLAG) +#if PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_FEATURE_FLAG) FEATURE_ENABLED_BY_DEFAULT #else FEATURE_DISABLED_BY_DEFAULT @@ -70,15 +70,15 @@ const base::FeatureParam kDanglingPtrTypeParam{ &kDanglingPtrTypeOption, }; -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) // If enabled, PCScan is turned on by default for all partitions that don't // disable it explicitly. BASE_FEATURE(kPartitionAllocPCScan, "PartitionAllocPCScan", FEATURE_DISABLED_BY_DEFAULT); -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) // If enabled, PCScan is turned on only for the browser's malloc partition. BASE_FEATURE(kPartitionAllocPCScanBrowserOnly, "PartitionAllocPCScanBrowserOnly", @@ -113,22 +113,23 @@ BASE_FEATURE(kPartitionAllocLargeEmptySlotSpanRing, BASE_FEATURE(kPartitionAllocSchedulerLoopQuarantine, "PartitionAllocSchedulerLoopQuarantine", FEATURE_DISABLED_BY_DEFAULT); -// Scheduler Loop Quarantine's capacity in bytes. -const base::FeatureParam kPartitionAllocSchedulerLoopQuarantineCapacity{ - &kPartitionAllocSchedulerLoopQuarantine, - "PartitionAllocSchedulerLoopQuarantineCapacity", 0}; +// Scheduler Loop Quarantine's per-branch capacity in bytes. +const base::FeatureParam + kPartitionAllocSchedulerLoopQuarantineBranchCapacity{ + &kPartitionAllocSchedulerLoopQuarantine, + "PartitionAllocSchedulerLoopQuarantineBranchCapacity", 0}; BASE_FEATURE(kPartitionAllocZappingByFreeFlags, "PartitionAllocZappingByFreeFlags", FEATURE_DISABLED_BY_DEFAULT); -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) BASE_FEATURE(kPartitionAllocBackupRefPtr, "PartitionAllocBackupRefPtr", #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) || \ (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || \ - BUILDFLAG(ENABLE_BACKUP_REF_PTR_FEATURE_FLAG) + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_FEATURE_FLAG) FEATURE_ENABLED_BY_DEFAULT #else FEATURE_DISABLED_BY_DEFAULT @@ -152,7 +153,6 @@ const base::FeatureParam constexpr FeatureParam::Option kBackupRefPtrModeOptions[] = { {BackupRefPtrMode::kDisabled, "disabled"}, {BackupRefPtrMode::kEnabled, "enabled"}, - {BackupRefPtrMode::kEnabled, "enabled-in-same-slot-mode"}, }; const base::FeatureParam kBackupRefPtrModeParam{ @@ -161,7 +161,7 @@ const base::FeatureParam kBackupRefPtrModeParam{ BASE_FEATURE(kPartitionAllocMemoryTagging, "PartitionAllocMemoryTagging", -#if BUILDFLAG(USE_FULL_MTE) +#if PA_BUILDFLAG(USE_FULL_MTE) FEATURE_ENABLED_BY_DEFAULT #else FEATURE_DISABLED_BY_DEFAULT @@ -174,7 +174,7 @@ constexpr FeatureParam::Option kMemtagModeOptions[] = { const base::FeatureParam kMemtagModeParam{ &kPartitionAllocMemoryTagging, "memtag-mode", -#if BUILDFLAG(USE_FULL_MTE) +#if PA_BUILDFLAG(USE_FULL_MTE) MemtagMode::kSync, #else MemtagMode::kAsync, @@ -190,7 +190,7 @@ constexpr FeatureParam::Option const base::FeatureParam kMemoryTaggingEnabledProcessesParam{ &kPartitionAllocMemoryTagging, "enabled-processes", -#if BUILDFLAG(USE_FULL_MTE) +#if PA_BUILDFLAG(USE_FULL_MTE) MemoryTaggingEnabledProcesses::kAllProcesses, #else MemoryTaggingEnabledProcesses::kBrowserOnly, @@ -204,7 +204,7 @@ BASE_FEATURE(kKillPartitionAllocMemoryTagging, BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocPermissiveMte); BASE_FEATURE(kPartitionAllocPermissiveMte, "PartitionAllocPermissiveMte", -#if BUILDFLAG(USE_FULL_MTE) +#if PA_BUILDFLAG(USE_FULL_MTE) // We want to actually crash if USE_FULL_MTE is enabled. FEATURE_DISABLED_BY_DEFAULT #else @@ -282,11 +282,11 @@ BASE_FEATURE(kPartitionAllocPCScanEagerClearing, // In addition to heap, scan also the stack of the current mutator. BASE_FEATURE(kPartitionAllocPCScanStackScanning, "PartitionAllocPCScanStackScanning", -#if BUILDFLAG(STACK_SCAN_SUPPORTED) +#if PA_BUILDFLAG(STACK_SCAN_SUPPORTED) FEATURE_ENABLED_BY_DEFAULT #else FEATURE_DISABLED_BY_DEFAULT -#endif // BUILDFLAG(STACK_SCAN_SUPPORTED) +#endif // PA_BUILDFLAG(STACK_SCAN_SUPPORTED) ); BASE_FEATURE(kPartitionAllocDCScan, @@ -423,13 +423,13 @@ MIRACLE_PARAMETER_FOR_INT( // abundance of caution, we provide this toggle that allows us to // wholly disable MiraclePtr in the buffer partition, if necessary. // -// TODO(crbug.com/1444624): this is unneeded once +// TODO(crbug.com/40064499): this is unneeded once // MiraclePtr-for-Renderer launches. BASE_FEATURE(kPartitionAllocDisableBRPInBufferPartition, "PartitionAllocDisableBRPInBufferPartition", FEATURE_DISABLED_BY_DEFAULT); -#if BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#if PA_BUILDFLAG(USE_FREELIST_DISPATCHER) BASE_FEATURE(kUsePoolOffsetFreelists, "PartitionAllocUsePoolOffsetFreelists", base::FEATURE_DISABLED_BY_DEFAULT); @@ -441,6 +441,9 @@ BASE_FEATURE(kPartitionAllocMakeFreeNoOpOnShutdown, constexpr FeatureParam::Option kPartitionAllocMakeFreeNoOpOnShutdownOptions[] = { + {WhenFreeBecomesNoOp::kBeforePreShutdown, "before-preshutdown"}, + {WhenFreeBecomesNoOp::kBeforeHaltingStartupTracingController, + "before-halting-startup-tracing-controller"}, { WhenFreeBecomesNoOp::kBeforeShutDownThreads, "before-shutdown-threads", @@ -468,17 +471,17 @@ void MakeFreeNoOp(WhenFreeBecomesNoOp callsite) { // Note: For now, the DanglingPointerDetector is only enabled on 5 bots, and // on linux non-official configuration. // TODO(b/40802063): Reconsider this decision after the experiment. -#if BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) +#if PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) if (base::FeatureList::IsEnabled(features::kPartitionAllocDanglingPtr)) { return; } -#endif // BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) if (base::FeatureList::IsEnabled(kPartitionAllocMakeFreeNoOpOnShutdown) && kPartitionAllocMakeFreeNoOpOnShutdownParam.Get() == callsite) { allocator_shim::InsertNoOpOnFreeAllocatorShimOnShutDown(); } -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) } BASE_FEATURE(kPartitionAllocAdjustSizeWhenInForeground, diff --git a/naiveproxy/src/base/allocator/partition_alloc_features.h b/naiveproxy/src/base/allocator/partition_alloc_features.h index 6012c0ca04..5bfcd69ef0 100644 --- a/naiveproxy/src/base/allocator/partition_alloc_features.h +++ b/naiveproxy/src/base/allocator/partition_alloc_features.h @@ -59,10 +59,10 @@ enum class DanglingPtrType { extern const BASE_EXPORT base::FeatureParam kDanglingPtrTypeParam; -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocPCScan); #endif -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocPCScanBrowserOnly); BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocPCScanRendererOnly); @@ -72,12 +72,12 @@ BASE_EXPORT int GetPartitionAllocLargeThreadCacheSizeValueForLowRAMAndroid(); BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocLargeEmptySlotSpanRing); BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocSchedulerLoopQuarantine); -// Scheduler Loop Quarantine's capacity in bytes. +// Scheduler Loop Quarantine's per-thread capacity in bytes. extern const BASE_EXPORT base::FeatureParam - kPartitionAllocSchedulerLoopQuarantineCapacity; + kPartitionAllocSchedulerLoopQuarantineBranchCapacity; BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocZappingByFreeFlags); -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) enum class BackupRefPtrEnabledProcesses { // BRP enabled only in the browser process. @@ -124,7 +124,8 @@ enum class BucketDistributionMode : uint8_t { // Parameter for 'kPartitionAllocMakeFreeNoOpOnShutdown' feature which // controls when free() becomes a no-op during Shutdown() enum class WhenFreeBecomesNoOp { - // Allocator is inserted either before, in, or after shutdown threads + kBeforePreShutdown, + kBeforeHaltingStartupTracingController, kBeforeShutDownThreads, kInShutDownThreads, kAfterShutDownThreads, @@ -209,7 +210,7 @@ BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocDisableBRPInBufferPartition); // This feature is additionally gated behind a buildflag because // pool offset freelists cannot be represented when PartitionAlloc uses // 32-bit pointers. -#if BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#if PA_BUILDFLAG(USE_FREELIST_DISPATCHER) BASE_EXPORT BASE_DECLARE_FEATURE(kUsePoolOffsetFreelists); #endif diff --git a/naiveproxy/src/base/allocator/partition_alloc_support.cc b/naiveproxy/src/base/allocator/partition_alloc_support.cc index 75a8ea1bfe..1152c4ca97 100644 --- a/naiveproxy/src/base/allocator/partition_alloc_support.cc +++ b/naiveproxy/src/base/allocator/partition_alloc_support.cc @@ -59,23 +59,23 @@ #include "partition_alloc/stack/stack.h" #include "partition_alloc/thread_cache.h" -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) #include "partition_alloc/shim/nonscannable_allocator.h" #include "partition_alloc/starscan/pcscan.h" #include "partition_alloc/starscan/pcscan_scheduling.h" #include "partition_alloc/starscan/stats_collector.h" #include "partition_alloc/starscan/stats_reporter.h" -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) #if BUILDFLAG(IS_ANDROID) #include "base/system/sys_info.h" #endif -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) #include "partition_alloc/memory_reclaimer.h" #endif -#if BUILDFLAG(IS_ANDROID) && BUILDFLAG(HAS_MEMORY_TAGGING) +#if BUILDFLAG(IS_ANDROID) && PA_BUILDFLAG(HAS_MEMORY_TAGGING) #include #endif @@ -83,7 +83,7 @@ namespace base::allocator { namespace { -#if BUILDFLAG(IS_ANDROID) && BUILDFLAG(HAS_MEMORY_TAGGING) +#if BUILDFLAG(IS_ANDROID) && PA_BUILDFLAG(HAS_MEMORY_TAGGING) enum class BootloaderOverride { kDefault, kForceOn, @@ -119,13 +119,13 @@ constexpr base::TimeDelta kFirstPAPurgeOrReclaimDelay = base::Minutes(1); namespace switches { [[maybe_unused]] constexpr char kRendererProcess[] = "renderer"; constexpr char kZygoteProcess[] = "zygote"; -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) constexpr char kGpuProcess[] = "gpu-process"; constexpr char kUtilityProcess[] = "utility"; #endif } // namespace switches -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) #if BUILDFLAG(ENABLE_BASE_TRACING) constexpr const char* ScannerIdToTracingString( @@ -226,11 +226,11 @@ class StatsReporterImpl final : public partition_alloc::StatsReporter { static constexpr char kTraceCategory[] = "partition_alloc"; }; -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) } // namespace -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) void RegisterPCScanStatsReporter() { static StatsReporterImpl s_reporter; static bool registered = false; @@ -240,7 +240,7 @@ void RegisterPCScanStatsReporter() { partition_alloc::internal::PCScan::RegisterStatsReporter(&s_reporter); registered = true; } -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) namespace { @@ -256,53 +256,32 @@ void RunThreadCachePeriodicPurge() { FROM_HERE, BindOnce(RunThreadCachePeriodicPurge), delay); } -void RunMemoryReclaimer(scoped_refptr task_runner) { - TRACE_EVENT0("base", "partition_alloc::MemoryReclaimer::Reclaim()"); - auto* instance = ::partition_alloc::MemoryReclaimer::Instance(); - - { - // Micros, since memory reclaiming should typically take at most a few ms. - SCOPED_UMA_HISTOGRAM_TIMER_MICROS("Memory.PartitionAlloc.MemoryReclaim"); - instance->ReclaimNormal(); - } - - TimeDelta delay = features::kPartitionAllocMemoryReclaimerInterval.Get(); - if (!delay.is_positive()) { - delay = - Microseconds(instance->GetRecommendedReclaimIntervalInMicroseconds()); - } - - task_runner->PostDelayedTask( - FROM_HERE, BindOnce(RunMemoryReclaimer, task_runner), delay); -} - } // namespace -void StartThreadCachePeriodicPurge() { - auto& instance = ::partition_alloc::ThreadCacheRegistry::Instance(); - TimeDelta delay = - Microseconds(instance.GetPeriodicPurgeNextIntervalInMicroseconds()); +// When enabled, disable the memory reclaimer in background. +BASE_FEATURE(kDisableMemoryReclaimerInBackground, + "DisableMemoryReclaimerInBackground", + base::FEATURE_ENABLED_BY_DEFAULT); - if (base::FeatureList::IsEnabled(kDelayFirstPeriodicPAPurgeOrReclaim)) { - delay = std::max(delay, kFirstPAPurgeOrReclaimDelay); - } - - SingleThreadTaskRunner::GetCurrentDefault()->PostDelayedTask( - FROM_HERE, BindOnce(RunThreadCachePeriodicPurge), delay); +// static +MemoryReclaimerSupport& MemoryReclaimerSupport::Instance() { + static base::NoDestructor instance; + return *instance.get(); } +MemoryReclaimerSupport::~MemoryReclaimerSupport() = default; -void StartMemoryReclaimer(scoped_refptr task_runner) { +MemoryReclaimerSupport::MemoryReclaimerSupport() = default; + +void MemoryReclaimerSupport::Start(scoped_refptr task_runner) { if (!base::FeatureList::IsEnabled( base::features::kPartitionAllocMemoryReclaimer)) { return; } // Can be called several times. - static bool is_memory_reclaimer_running = false; - if (is_memory_reclaimer_running) { + if (has_pending_task_) { return; } - is_memory_reclaimer_running = true; // The caller of the API fully controls where running the reclaim. // However there are a few reasons to recommend that the caller runs @@ -319,24 +298,88 @@ void StartMemoryReclaimer(scoped_refptr task_runner) { // seconds is useful. Since this is meant to run during idle time only, it is // a reasonable starting point balancing effectivenes vs cost. See // crbug.com/942512 for details and experimental results. - TimeDelta delay = features::kPartitionAllocMemoryReclaimerInterval.Get(); - if (!delay.is_positive()) { - delay = Microseconds(::partition_alloc::MemoryReclaimer::Instance() - ->GetRecommendedReclaimIntervalInMicroseconds()); + TimeDelta delay; + if (base::FeatureList::IsEnabled(kDelayFirstPeriodicPAPurgeOrReclaim)) { + delay = std::max(delay, kFirstPAPurgeOrReclaimDelay); } + task_runner_ = task_runner; + MaybeScheduleTask(delay); +} + +void MemoryReclaimerSupport::SetForegrounded(bool in_foreground) { + in_foreground_ = in_foreground; + if (in_foreground_) { + MaybeScheduleTask(); + } +} + +void MemoryReclaimerSupport::ResetForTesting() { + task_runner_ = nullptr; + has_pending_task_ = false; + in_foreground_ = true; +} + +void MemoryReclaimerSupport::Run() { + TRACE_EVENT0("base", "partition_alloc::MemoryReclaimer::Reclaim()"); + has_pending_task_ = false; + + { + // Micros, since memory reclaiming should typically take at most a few ms. + SCOPED_UMA_HISTOGRAM_TIMER_MICROS("Memory.PartitionAlloc.MemoryReclaim"); + ::partition_alloc::MemoryReclaimer::Instance()->ReclaimNormal(); + } + + MaybeScheduleTask(); +} + +// static +TimeDelta MemoryReclaimerSupport::GetInterval() { + TimeDelta delay = features::kPartitionAllocMemoryReclaimerInterval.Get(); + if (delay.is_positive()) { + return delay; + } + + return Microseconds(::partition_alloc::MemoryReclaimer::Instance() + ->GetRecommendedReclaimIntervalInMicroseconds()); +} + +void MemoryReclaimerSupport::MaybeScheduleTask(TimeDelta delay) { + if (has_pending_task_ || + (base::FeatureList::IsEnabled(kDisableMemoryReclaimerInBackground) && + !in_foreground_) || + !task_runner_) { + return; + } + + has_pending_task_ = true; + TimeDelta actual_delay = std::max(delay, GetInterval()); + task_runner_->PostDelayedTask( + FROM_HERE, BindOnce(&MemoryReclaimerSupport::Run, base::Unretained(this)), + actual_delay); +} + +void StartThreadCachePeriodicPurge() { + auto& instance = ::partition_alloc::ThreadCacheRegistry::Instance(); + TimeDelta delay = + Microseconds(instance.GetPeriodicPurgeNextIntervalInMicroseconds()); + if (base::FeatureList::IsEnabled(kDelayFirstPeriodicPAPurgeOrReclaim)) { delay = std::max(delay, kFirstPAPurgeOrReclaimDelay); } - task_runner->PostDelayedTask( - FROM_HERE, BindOnce(RunMemoryReclaimer, task_runner), delay); + SingleThreadTaskRunner::GetCurrentDefault()->PostDelayedTask( + FROM_HERE, BindOnce(RunThreadCachePeriodicPurge), delay); +} + +void StartMemoryReclaimer(scoped_refptr task_runner) { + MemoryReclaimerSupport::Instance().Start(task_runner); } std::map ProposeSyntheticFinchTrials() { std::map trials; -#if BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) +#if PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) trials.emplace("DanglingPointerDetector", "Enabled"); #else trials.emplace("DanglingPointerDetector", "Disabled"); @@ -346,7 +389,7 @@ std::map ProposeSyntheticFinchTrials() { // manually in binary experiment patches. trials.emplace("VectorRawPtrExperiment", "Disabled"); -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) if (base::FeatureList::IsEnabled( base::features::kPartitionAllocMemoryTagging)) { bool has_mte = base::CPU::GetInstanceNoAllocation().has_mte(); @@ -359,10 +402,10 @@ std::map ProposeSyntheticFinchTrials() { BootloaderOverride bootloader_override = GetBootloaderOverride(); partition_alloc::TagViolationReportingMode reporting_mode = partition_alloc::TagViolationReportingMode::kUndefined; -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) reporting_mode = allocator_shim::internal::PartitionAllocMalloc::Allocator() ->memory_tagging_reporting_mode(); -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) switch (bootloader_override) { case BootloaderOverride::kDefault: trials.emplace("MemoryTaggingBootloaderOverride", "Default"); @@ -399,12 +442,12 @@ std::map ProposeSyntheticFinchTrials() { } #endif // BUILDFLAG(IS_ANDROID) } -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) return trials; } -#if BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) +#if PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) namespace { @@ -645,7 +688,7 @@ void DanglingRawPtrReleased(uintptr_t id) { void CheckDanglingRawPtrBufferEmpty() { internal::PartitionAutoLock guard(g_stack_trace_buffer_lock); - // TODO(https://crbug.com/1425095): Check for leaked refcount on Android. + // TODO(crbug.com/40260713): Check for leaked refcount on Android. #if BUILDFLAG(IS_ANDROID) g_stack_trace_buffer = DanglingRawPtrBuffer(); #else @@ -662,7 +705,7 @@ void CheckDanglingRawPtrBufferEmpty() { "Memory was released on:\n" << entry->task_trace << "\n" << entry->stack_trace << "\n"; -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_INSTANCE_TRACER) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_INSTANCE_TRACER) std::vector> stack_traces = internal::InstanceTracer::GetStackTracesForDanglingRefs(entry->id); for (const auto& raw_stack_trace : stack_traces) { @@ -743,9 +786,9 @@ void InstallDanglingRawPtrChecks() { // is a dangling pointer, we should crash at some point. Consider providing an // API to periodically check the buffer. -#else // BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) +#else // PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) void InstallDanglingRawPtrChecks() {} -#endif // BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) +#endif // PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) void UnretainedDanglingRawPtrDetectedDumpWithoutCrashing(uintptr_t id) { PA_NO_CODE_FOLDING(); @@ -791,7 +834,7 @@ void InstallUnretainedDanglingRawPtrChecks() { namespace { -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) void SetProcessNameForPCScan(const std::string& process_type) { const char* name = [&process_type] { if (process_type.empty()) { @@ -816,7 +859,7 @@ void SetProcessNameForPCScan(const std::string& process_type) { } bool EnablePCScanForMallocPartitionsIfNeeded() { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) partition_alloc::internal::base::PlatformThread::SetThreadNameHook( &base::PlatformThread::SetName); @@ -828,12 +871,12 @@ bool EnablePCScanForMallocPartitionsIfNeeded() { base::allocator::RegisterPCScanStatsReporter(); return true; } -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) return false; } bool EnablePCScanForMallocPartitionsInBrowserProcessIfNeeded() { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) using Config = partition_alloc::internal::PCScan::InitConfig; DCHECK(base::FeatureList::GetInstance()); if (base::FeatureList::IsEnabled( @@ -850,12 +893,12 @@ bool EnablePCScanForMallocPartitionsInBrowserProcessIfNeeded() { base::allocator::RegisterPCScanStatsReporter(); return true; } -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) return false; } bool EnablePCScanForMallocPartitionsInRendererProcessIfNeeded() { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) using Config = partition_alloc::internal::PCScan::InitConfig; DCHECK(base::FeatureList::GetInstance()); if (base::FeatureList::IsEnabled( @@ -872,10 +915,10 @@ bool EnablePCScanForMallocPartitionsInRendererProcessIfNeeded() { base::allocator::RegisterPCScanStatsReporter(); return true; } -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) return false; } -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) } // namespace @@ -938,9 +981,9 @@ PartitionAllocSupport::GetBrpConfiguration(const std::string& process_type) { CHECK(base::FeatureList::GetInstance()); bool process_affected_by_brp_flag = false; -#if (BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && \ - BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT)) || \ - BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#if (PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT)) || \ + PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) if (base::FeatureList::IsEnabled( base::features::kPartitionAllocBackupRefPtr)) { // No specified process type means this is the Browser process. @@ -962,13 +1005,13 @@ PartitionAllocSupport::GetBrpConfiguration(const std::string& process_type) { break; } } -#endif // (BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && - // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT)) || - // BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#endif // (PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && + // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT)) || + // PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) const bool enable_brp = -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && \ - BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) // kDisabled is equivalent to !IsEnabled(kPartitionAllocBackupRefPtr). process_affected_by_brp_flag && base::features::kBackupRefPtrModeParam.Get() != @@ -1011,9 +1054,9 @@ void PartitionAllocSupport::ReconfigureEarlyish( // These initializations are only relevant for PartitionAlloc-Everywhere // builds. -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) allocator_shim::EnablePartitionAllocMemoryReclaimer(); -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) } void PartitionAllocSupport::ReconfigureAfterZygoteFork( @@ -1082,7 +1125,7 @@ void PartitionAllocSupport::ReconfigureAfterFeatureListInit( [[maybe_unused]] BrpConfiguration brp_config = GetBrpConfiguration(process_type); -#if BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#if PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) if (brp_config.process_affected_by_brp_flag) { base::RawPtrAsanService::GetInstance().Configure( base::EnableDereferenceCheck( @@ -1097,9 +1140,9 @@ void PartitionAllocSupport::ReconfigureAfterFeatureListInit( base::EnableDereferenceCheck(false), base::EnableExtractionCheck(false), base::EnableInstantiationCheck(false)); } -#endif // BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#endif // PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) auto bucket_distribution = allocator_shim::BucketDistribution::kNeutral; // No specified type means we are in the browser. switch (process_type == "" @@ -1114,24 +1157,25 @@ void PartitionAllocSupport::ReconfigureAfterFeatureListInit( const bool scheduler_loop_quarantine = base::FeatureList::IsEnabled( base::features::kPartitionAllocSchedulerLoopQuarantine); - const size_t scheduler_loop_quarantine_capacity_in_bytes = + const size_t scheduler_loop_quarantine_branch_capacity_in_bytes = static_cast( - base::features::kPartitionAllocSchedulerLoopQuarantineCapacity.Get()); + base::features::kPartitionAllocSchedulerLoopQuarantineBranchCapacity + .Get()); const bool zapping_by_free_flags = base::FeatureList::IsEnabled( base::features::kPartitionAllocZappingByFreeFlags); -#if BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#if PA_BUILDFLAG(USE_FREELIST_DISPATCHER) const bool use_pool_offset_freelists = base::FeatureList::IsEnabled(base::features::kUsePoolOffsetFreelists); #else const bool use_pool_offset_freelists = false; -#endif // BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#endif // PA_BUILDFLAG(USE_FREELIST_DISPATCHER) bool enable_memory_tagging = false; partition_alloc::TagViolationReportingMode memory_tagging_reporting_mode = partition_alloc::TagViolationReportingMode::kUndefined; -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) // ShouldEnableMemoryTagging() checks kKillPartitionAllocMemoryTagging but // check here too to wrap the GetMemoryTaggingModeForCurrentThread() call. if (!base::FeatureList::IsEnabled( @@ -1178,7 +1222,7 @@ void PartitionAllocSupport::ReconfigureAfterFeatureListInit( #endif // BUILDFLAG(IS_ANDROID) } } -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) if (enable_memory_tagging) { CHECK((memory_tagging_reporting_mode == @@ -1197,7 +1241,7 @@ void PartitionAllocSupport::ReconfigureAfterFeatureListInit( allocator_shim::EnableMemoryTagging(enable_memory_tagging), memory_tagging_reporting_mode, bucket_distribution, allocator_shim::SchedulerLoopQuarantine(scheduler_loop_quarantine), - scheduler_loop_quarantine_capacity_in_bytes, + scheduler_loop_quarantine_branch_capacity_in_bytes, allocator_shim::ZappingByFreeFlags(zapping_by_free_flags), allocator_shim::UsePoolOffsetFreelists(use_pool_offset_freelists)); @@ -1207,11 +1251,11 @@ void PartitionAllocSupport::ReconfigureAfterFeatureListInit( // 100 is a reasonable cap for this value. UmaHistogramCounts100("Memory.PartitionAlloc.PartitionRoot.ExtrasSize", int(extras_size)); -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) // If BRP is not enabled, check if any of PCScan flags is enabled. [[maybe_unused]] bool scan_enabled = false; -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) if (!brp_config.enable_brp) { scan_enabled = EnablePCScanForMallocPartitionsIfNeeded(); // No specified process type means this is the Browser process. @@ -1226,9 +1270,9 @@ void PartitionAllocSupport::ReconfigureAfterFeatureListInit( if (scan_enabled) { if (base::FeatureList::IsEnabled( base::features::kPartitionAllocPCScanStackScanning)) { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) partition_alloc::internal::PCScan::EnableStackScanning(); -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) } if (base::FeatureList::IsEnabled( base::features::kPartitionAllocPCScanImmediateFreeing)) { @@ -1242,10 +1286,10 @@ void PartitionAllocSupport::ReconfigureAfterFeatureListInit( SetProcessNameForPCScan(process_type); } } -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_STARSCAN) partition_alloc::internal::StackTopRegistry::Get().NotifyThreadCreated( partition_alloc::internal::GetStackTop()); @@ -1258,7 +1302,7 @@ void PartitionAllocSupport::ReconfigureAfterFeatureListInit( .root() ->EnableThreadCacheIfSupported(); } else -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) { allocator_shim::internal::PartitionAllocMalloc::Allocator() ->EnableThreadCacheIfSupported(); @@ -1269,7 +1313,7 @@ void PartitionAllocSupport::ReconfigureAfterFeatureListInit( allocator_shim::internal::PartitionAllocMalloc::Allocator() ->EnableLargeEmptySlotSpanRing(); } -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) #if BUILDFLAG(IS_WIN) // Browser process only, since this is the one we want to prevent from @@ -1301,7 +1345,7 @@ void PartitionAllocSupport::ReconfigureAfterTaskRunnerInit( } #if PA_CONFIG(THREAD_CACHE_SUPPORTED) && \ - BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) + PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) // This should be called in specific processes, as the main thread is // initialized later. DCHECK(process_type != switches::kZygoteProcess); @@ -1362,9 +1406,9 @@ void PartitionAllocSupport::ReconfigureAfterTaskRunnerInit( ::partition_alloc::ThreadCache::SetLargestCachedSize(largest_cached_size_); } #endif // PA_CONFIG(THREAD_CACHE_SUPPORTED) && - // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) + // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) if (base::FeatureList::IsEnabled( base::features::kPartitionAllocPCScanMUAwareScheduler)) { // Assign PCScan a task-based scheduling backend. @@ -1376,9 +1420,9 @@ void PartitionAllocSupport::ReconfigureAfterTaskRunnerInit( partition_alloc::internal::PCScan::scheduler().SetNewSchedulingBackend( *mu_aware_task_based_backend.get()); } -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) base::allocator::StartMemoryReclaimer( base::SingleThreadTaskRunner::GetCurrentDefault()); #endif @@ -1397,7 +1441,7 @@ void PartitionAllocSupport::ReconfigureAfterTaskRunnerInit( } void PartitionAllocSupport::OnForegrounded(bool has_main_frame) { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) { base::AutoLock scoped_lock(lock_); if (established_process_type_ != switches::kRendererProcess) { @@ -1415,11 +1459,13 @@ void PartitionAllocSupport::OnForegrounded(bool has_main_frame) { features::kPartitionAllocAdjustSizeWhenInForeground)) { allocator_shim::AdjustDefaultAllocatorForForeground(); } -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) + + MemoryReclaimerSupport::Instance().SetForegrounded(true); } void PartitionAllocSupport::OnBackgrounded() { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) { base::AutoLock scoped_lock(lock_); if (established_process_type_ != switches::kRendererProcess) { @@ -1452,10 +1498,12 @@ void PartitionAllocSupport::OnBackgrounded() { features::kPartitionAllocAdjustSizeWhenInForeground)) { allocator_shim::AdjustDefaultAllocatorForBackground(); } -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) + + MemoryReclaimerSupport::Instance().SetForegrounded(false); } -#if BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) +#if PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) std::string PartitionAllocSupport::ExtractDanglingPtrSignatureForTests( std::string stacktrace) { return ExtractDanglingPtrSignature(stacktrace); diff --git a/naiveproxy/src/base/allocator/partition_alloc_support.h b/naiveproxy/src/base/allocator/partition_alloc_support.h index 37645da781..920f37e16b 100644 --- a/naiveproxy/src/base/allocator/partition_alloc_support.h +++ b/naiveproxy/src/base/allocator/partition_alloc_support.h @@ -9,6 +9,7 @@ #include #include "base/base_export.h" +#include "base/feature_list.h" #include "base/memory/scoped_refptr.h" #include "base/synchronization/lock.h" #include "base/task/sequenced_task_runner.h" @@ -19,7 +20,7 @@ namespace base::allocator { -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) BASE_EXPORT void RegisterPCScanStatsReporter(); #endif @@ -83,7 +84,7 @@ class BASE_EXPORT PartitionAllocSupport { void OnForegrounded(bool has_main_frame); void OnBackgrounded(); -#if BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) +#if PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) static std::string ExtractDanglingPtrSignatureForTests( std::string stacktrace); #endif @@ -111,12 +112,40 @@ class BASE_EXPORT PartitionAllocSupport { std::string established_process_type_ GUARDED_BY(lock_) = "INVALID"; #if PA_CONFIG(THREAD_CACHE_SUPPORTED) && \ - BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) + PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) size_t largest_cached_size_ = ::partition_alloc::ThreadCacheLimits::kDefaultSizeThreshold; #endif }; +BASE_EXPORT BASE_DECLARE_FEATURE(kDisableMemoryReclaimerInBackground); + +// Visible in header for testing. +class BASE_EXPORT MemoryReclaimerSupport { + public: + static MemoryReclaimerSupport& Instance(); + MemoryReclaimerSupport(); + ~MemoryReclaimerSupport(); + void Start(scoped_refptr task_runner); + void SetForegrounded(bool in_foreground); + + void ResetForTesting(); + bool has_pending_task_for_testing() const { return has_pending_task_; } + static TimeDelta GetInterval(); + + // Visible for testing + static constexpr base::TimeDelta kFirstPAPurgeOrReclaimDelay = + base::Minutes(1); + + private: + void Run(); + void MaybeScheduleTask(TimeDelta delay = TimeDelta()); + + scoped_refptr task_runner_; + bool in_foreground_ = true; + bool has_pending_task_ = false; +}; + } // namespace base::allocator #endif // BASE_ALLOCATOR_PARTITION_ALLOC_SUPPORT_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/DEPS b/naiveproxy/src/base/allocator/partition_allocator/DEPS index e2b90901ae..acee1c5096 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/DEPS +++ b/naiveproxy/src/base/allocator/partition_allocator/DEPS @@ -6,13 +6,8 @@ # project in order to be a standalone library. noparent = True -include_rules = [ - # `partition_alloc` can depends on itself, via the `include_dirs` it declares. - "+partition_alloc", - - # Build config to infer the architecture and operating system in use. - "+build/build_config.h", -] +# `partition_alloc` can depend only on itself, via its `include_dirs`. +include_rules = [ "+partition_alloc" ] specific_include_rules = { ".*_(perf|unit)test\.cc$": [ @@ -40,7 +35,10 @@ specific_include_rules = { "raw_ptr_test_support\.h$": [ "+testing/gmock/include/gmock/gmock.h", "+third_party/abseil-cpp/absl/types/optional.h", - ] + ], + + # TODO(https://crbug.com/1508847): Remove //build dependency. + "build_config.h$": [ "+build/build_config.h" ], } # In the context of a module-level DEPS, the `deps` variable must be defined. diff --git a/naiveproxy/src/base/allocator/partition_allocator/PRESUBMIT.py b/naiveproxy/src/base/allocator/partition_allocator/PRESUBMIT.py index a9a79935cf..3bcc459e05 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/PRESUBMIT.py +++ b/naiveproxy/src/base/allocator/partition_allocator/PRESUBMIT.py @@ -87,3 +87,57 @@ def CheckForIncludeGuards(input_api, output_api): (f.LocalPath(), expected_guard))) return errors + +def CheckBuildConfigMacrosWithoutInclude(input_api, output_api): + # Excludes OS_CHROMEOS, which is not defined in build_config.h. + macro_re = input_api.re.compile( + r'^\s*#(el)?if.*\bdefined\(((COMPILER_|ARCH_CPU_|WCHAR_T_IS_)[^)]*)') + include_re = input_api.re.compile( + r'^#include\s+"partition_alloc/build_config.h"', + input_api.re.MULTILINE) + extension_re = input_api.re.compile(r'\.[a-z]+$') + errors = [] + config_h_file = input_api.os_path.join('build', 'build_config.h') + for f in input_api.AffectedFiles(include_deletes=False): + # The build-config macros are allowed to be used in build_config.h + # without including itself. + if f.LocalPath() == config_h_file: + continue + if not f.LocalPath().endswith( + ('.h', '.c', '.cc', '.cpp', '.m', '.mm')): + continue + + found_line_number = None + found_macro = None + all_lines = input_api.ReadFile(f, 'r').splitlines() + for line_num, line in enumerate(all_lines): + match = macro_re.search(line) + if match: + found_line_number = line_num + found_macro = match.group(2) + break + if not found_line_number: + continue + + found_include_line = -1 + for line_num, line in enumerate(all_lines): + if include_re.search(line): + found_include_line = line_num + break + if found_include_line >= 0 and found_include_line < found_line_number: + continue + + if not f.LocalPath().endswith('.h'): + primary_header_path = extension_re.sub('.h', f.AbsoluteLocalPath()) + try: + content = input_api.ReadFile(primary_header_path, 'r') + if include_re.search(content): + continue + except IOError: + pass + errors.append('%s:%d %s macro is used without first including ' + 'partition_alloc/build_config.h.' % + (f.LocalPath(), found_line_number, found_macro)) + if errors: + return [output_api.PresubmitPromptWarning('\n'.join(errors))] + return [] diff --git a/naiveproxy/src/base/allocator/partition_allocator/partition_alloc.gni b/naiveproxy/src/base/allocator/partition_allocator/partition_alloc.gni index 22d36d9680..5815b4ff23 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/partition_alloc.gni +++ b/naiveproxy/src/base/allocator/partition_allocator/partition_alloc.gni @@ -161,6 +161,14 @@ assert(!enable_pointer_compression_support || glue_core_pools, "Pointer compression relies on core pools being contiguous.") declare_args() { + # We want to use RawPtrBackupRefImpl as the raw_ptr<> implementation + # iff BRP support is enabled. However, for purpose of performance + # investigations we want to be able to control each separately. + # + # TEST ONLY! Don't touch unless you think you know what you're doing. Play + # with enable_backup_ref_ptr_support instead. + use_raw_ptr_backup_ref_impl = enable_backup_ref_ptr_support + # Make explicit calls to ASAN at runtime, e.g. to mark quarrantined memory # as poisoned. Allows ASAN to tell if a particular memory error is protected # by BRP in its reports. @@ -173,12 +181,12 @@ declare_args() { (is_win || is_android || is_linux || is_mac || is_chromeos) # Use probe-on-destruct unowned ptr detection with ASAN. - use_asan_unowned_ptr = false + use_raw_ptr_asan_unowned_impl = false } # Use the version of raw_ptr that allows the embedder to implement custom # logic. -use_hookable_raw_ptr = use_asan_backup_ref_ptr +use_raw_ptr_hookable_impl = use_asan_backup_ref_ptr declare_args() { # - enable_backup_ref_ptr_slow_checks: enable additional safety checks that @@ -207,8 +215,16 @@ declare_args() { # Build support for Dangling Ptr Detection (DPD) via BackupRefPtr (BRP), # making the raw_ptr implementation to RawPtrBackupRefImpl if active. enable_dangling_raw_ptr_checks = - enable_dangling_raw_ptr_checks_default && enable_backup_ref_ptr_support + enable_dangling_raw_ptr_checks_default && enable_backup_ref_ptr_support && + use_raw_ptr_backup_ref_impl + enable_backup_ref_ptr_instance_tracer = false + + backup_ref_ptr_extra_oob_checks = + false && enable_backup_ref_ptr_support && use_raw_ptr_backup_ref_impl +} + +declare_args() { # Enable the feature flag required to check for dangling pointers. That is to # say `PartitionAllocDanglingPtr`. # @@ -217,11 +233,7 @@ declare_args() { # scripts to pass command line arguments. # # TODO(328104161): Remove this flag. - enable_dangling_raw_ptr_feature_flag = enable_dangling_raw_ptr_checks_default - - enable_backup_ref_ptr_instance_tracer = false - - backup_ref_ptr_extra_oob_checks = enable_backup_ref_ptr_support + enable_dangling_raw_ptr_feature_flag = enable_dangling_raw_ptr_checks } declare_args() { @@ -263,9 +275,10 @@ stack_scan_supported = if (!use_partition_alloc) { use_partition_alloc_as_malloc = false enable_backup_ref_ptr_support = false + use_raw_ptr_backup_ref_impl = false use_asan_backup_ref_ptr = false - use_asan_unowned_ptr = false - use_hookable_raw_ptr = false + use_raw_ptr_asan_unowned_impl = false + use_raw_ptr_hookable_impl = false enable_backup_ref_ptr_slow_checks = false enable_dangling_raw_ptr_checks = false enable_dangling_raw_ptr_feature_flag = false @@ -281,28 +294,34 @@ if (!has_memory_tagging) { use_full_mte = false } +# use_raw_ptr_backup_ref_impl can only be used if +# enable_backup_ref_ptr_support is true. +assert(enable_backup_ref_ptr_support || !use_raw_ptr_backup_ref_impl, + "Can't use RawPtrBackupRefImpl if BRP isn't enabled at all") + # enable_backup_ref_ptr_slow_checks can only be used if # enable_backup_ref_ptr_support is true. assert(enable_backup_ref_ptr_support || !enable_backup_ref_ptr_slow_checks, - "Can't enable additional BackupRefPtr checks if it isn't enabled at all") + "Can't enable additional BRP checks if it isn't enabled at all") # enable_dangling_raw_ptr_checks can only be used if -# enable_backup_ref_ptr_support is true. -assert( - enable_backup_ref_ptr_support || !enable_dangling_raw_ptr_checks, - "Can't enable dangling raw_ptr checks if BackupRefPtr isn't enabled at all") +# enable_backup_ref_ptr_support & use_raw_ptr_backup_ref_impl are true. +assert((enable_backup_ref_ptr_support && use_raw_ptr_backup_ref_impl) || + !enable_dangling_raw_ptr_checks, + "Can't enable dangling raw_ptr checks if BRP isn't enabled and used") # It's meaningless to force on DPD (e.g. on bots) if the support isn't compiled # in. assert(enable_dangling_raw_ptr_checks || !enable_dangling_raw_ptr_feature_flag, "Meaningless to enable DPD without it compiled.") -# To enable extra OOB checks for BackupRefPtr, the underlying feature must be +# To enable extra OOB checks for BRP, the underlying feature must be # enabled, too. -assert(enable_backup_ref_ptr_support || !backup_ref_ptr_extra_oob_checks, - "Can't enable extra OOB checks if BackupRefPtr isn't enabled at all") +assert((enable_backup_ref_ptr_support && use_raw_ptr_backup_ref_impl) || + !backup_ref_ptr_extra_oob_checks, + "Can't enable extra OOB checks if BRP isn't enabled and used") -# To poison OOB pointers for BackupRefPtr, the underlying feature must be +# To poison OOB pointers for BRP, the underlying feature must be # enabled, too. assert(backup_ref_ptr_extra_oob_checks || !backup_ref_ptr_poison_oob_ptr, "Can't enable poisoning for OOB pointers if OOB checks aren't enabled " + @@ -313,7 +332,7 @@ assert(has_64_bit_pointers || !backup_ref_ptr_poison_oob_ptr, # AsanBackupRefPtr and AsanUnownedPtr are mutually exclusive variants of # raw_ptr. assert( - !use_asan_unowned_ptr || !use_asan_backup_ref_ptr, + !use_raw_ptr_asan_unowned_impl || !use_asan_backup_ref_ptr, "Both AsanUnownedPtr and AsanBackupRefPtr can't be enabled at the same " + "time") @@ -323,27 +342,27 @@ assert( "Both BackupRefPtr and AsanBackupRefPtr can't be enabled at the same time") # BackupRefPtr and AsanUnownedPtr are mutually exclusive variants of raw_ptr. -assert(!enable_backup_ref_ptr_support || !use_asan_unowned_ptr, +assert(!enable_backup_ref_ptr_support || !use_raw_ptr_asan_unowned_impl, "Both BackupRefPtr and AsanUnownedPtr can't be enabled at the same time") # RawPtrHookableImpl and BackupRefPtr are mutually exclusive variants of # raw_ptr. assert( - !use_hookable_raw_ptr || !enable_backup_ref_ptr_support, + !use_raw_ptr_hookable_impl || !enable_backup_ref_ptr_support, "Both RawPtrHookableImpl and BackupRefPtr can't be enabled at the same " + "time") # RawPtrHookableImpl and AsanUnownedPtr are mutually exclusive variants of # raw_ptr. assert( - !use_hookable_raw_ptr || !use_asan_unowned_ptr, + !use_raw_ptr_hookable_impl || !use_raw_ptr_asan_unowned_impl, "Both RawPtrHookableImpl and AsanUnownedPtr can't be enabled at the same " + "time") assert(!use_asan_backup_ref_ptr || is_asan, "AsanBackupRefPtr requires AddressSanitizer") -assert(!use_asan_unowned_ptr || is_asan, +assert(!use_raw_ptr_asan_unowned_impl || is_asan, "AsanUnownedPtr requires AddressSanitizer") # AsanBackupRefPtr is not supported outside Chromium. The implementation is @@ -352,7 +371,7 @@ assert(!use_asan_unowned_ptr || is_asan, assert(build_with_chromium || !use_asan_backup_ref_ptr, "AsanBackupRefPtr is not supported outside Chromium") -assert(!use_asan_backup_ref_ptr || use_hookable_raw_ptr, +assert(!use_asan_backup_ref_ptr || use_raw_ptr_hookable_impl, "AsanBackupRefPtr requires RawPtrHookableImpl") declare_args() { diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn index 558e47dbec..48ff3ed30b 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn @@ -2,21 +2,22 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -import("//build/buildflag_header.gni") import("//build/config/android/config.gni") import("//build/config/cast.gni") import("//build/config/chromeos/ui_mode.gni") import("//build/config/compiler/compiler.gni") import("//build/config/dcheck_always_on.gni") import("//build/config/logging.gni") + import("../../partition_alloc.gni") +import("buildflag_header.gni") # Add partition_alloc.gni and import it for partition_alloc configs. -# TODO(https://crbug.com/1467773): Split PartitionAlloc into a public and +# TODO(crbug.com/40276913): Split PartitionAlloc into a public and # private parts. The public config would include add the "./include" dir and # the private config would add the "./src" dir. -# TODO(https://crbug.com/1467773): Move this config and several target into +# TODO(crbug.com/40276913): Move this config and several target into # "../..". config("public_includes") { include_dirs = [ @@ -77,6 +78,15 @@ config("dependants_extra_warnings") { } } +# This will generate warnings when using Clang if code generates exit-time +# destructors, which will slow down closing the program. +# TODO(thakis): Make this a blocklist instead, http://crbug.com/101600 +config("wexit_time_destructors") { + if (is_clang) { + cflags = [ "-Wexit-time-destructors" ] + } +} + _remove_configs = [] _add_configs = [] if (!is_debug || partition_alloc_optimized_debug) { @@ -90,6 +100,13 @@ if (!is_debug || partition_alloc_optimized_debug) { _add_configs += [ "//build/config/compiler:no_optimize" ] } +source_set("build_config") { + sources = [ + "build_config.h", + "buildflag.h", + ] +} + component("raw_ptr") { # `gn check` is unhappy with most `#includes` when PA isn't # actually built. @@ -104,19 +121,19 @@ component("raw_ptr") { ] sources = [ "pointers/instance_tracer.cc" ] public_configs = [ ":public_includes" ] - configs += [ "//build/config/compiler:wexit_time_destructors" ] + configs += [ ":wexit_time_destructors" ] - if (enable_backup_ref_ptr_support) { + if (use_raw_ptr_backup_ref_impl) { sources += [ "pointers/raw_ptr_backup_ref_impl.cc", "pointers/raw_ptr_backup_ref_impl.h", ] - } else if (use_hookable_raw_ptr) { + } else if (use_raw_ptr_hookable_impl) { sources += [ "pointers/raw_ptr_hookable_impl.cc", "pointers/raw_ptr_hookable_impl.h", ] - } else if (use_asan_unowned_ptr) { + } else if (use_raw_ptr_asan_unowned_impl) { sources += [ "pointers/raw_ptr_asan_unowned_impl.cc", "pointers/raw_ptr_asan_unowned_impl.h", @@ -125,8 +142,9 @@ component("raw_ptr") { sources += [ "pointers/raw_ptr_noop_impl.h" ] sources += [ "pointers/empty.cc" ] } + public_deps = [ ":build_config" ] if (use_partition_alloc) { - public_deps = [ ":partition_alloc" ] + public_deps += [ ":partition_alloc" ] } deps = [ ":buildflags" ] @@ -138,14 +156,13 @@ component("raw_ptr") { configs += [ ":dependants_extra_warnings" ] } -# Changes the freelist implementation to use pointer offsets in lieu -# of full-on pointers. Defaults to false, which implies the use of -# "encoded next" freelist entry. -# -# Only usable when pointers are 64-bit. -use_freelist_pool_offsets = has_64_bit_pointers && false +# Enables compilation of the freelist dispatcher, which we'll use to +# carry out runtime evaluation of PartitionAlloc's two freelist +# implementations: the existing encoded-next freelist and the new +# pool offset freelist. When false, the latter is not built. +use_freelist_dispatcher = has_64_bit_pointers && false -buildflag_header("partition_alloc_buildflags") { +pa_buildflag_header("partition_alloc_buildflags") { header = "partition_alloc_buildflags.h" _record_alloc_info = false @@ -160,7 +177,7 @@ buildflag_header("partition_alloc_buildflags") { _enable_pointer_compression = enable_pointer_compression_support && has_64_bit_pointers - # TODO(crbug.com/1151236): Need to refactor the following buildflags. + # TODO(crbug.com/40158212): Need to refactor the following buildflags. # The buildflags (except RECORD_ALLOC_INFO) are used by both chrome and # PartitionAlloc. For PartitionAlloc, # gen/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_buildflags.h @@ -185,11 +202,16 @@ buildflag_header("partition_alloc_buildflags") { "ENABLE_POINTER_ARITHMETIC_TRAIT_CHECK=$enable_pointer_arithmetic_trait_check", "BACKUP_REF_PTR_EXTRA_OOB_CHECKS=$backup_ref_ptr_extra_oob_checks", "BACKUP_REF_PTR_POISON_OOB_PTR=$backup_ref_ptr_poison_oob_ptr", + "USE_RAW_PTR_BACKUP_REF_IMPL=$use_raw_ptr_backup_ref_impl", "USE_ASAN_BACKUP_REF_PTR=$use_asan_backup_ref_ptr", - "USE_ASAN_UNOWNED_PTR=$use_asan_unowned_ptr", - "USE_HOOKABLE_RAW_PTR=$use_hookable_raw_ptr", + "USE_RAW_PTR_ASAN_UNOWNED_IMPL=$use_raw_ptr_asan_unowned_impl", + "USE_RAW_PTR_HOOKABLE_IMPL=$use_raw_ptr_hookable_impl", "ENABLE_GWP_ASAN_SUPPORT=$_enable_gwp_asan_support", + # TODO(bartekn): Remove once PDFium switches to + # USE_RAW_PTR_ASAN_UNOWNED_IMPL. + "USE_ASAN_UNOWNED_PTR=$use_raw_ptr_asan_unowned_impl", + "FORCE_ENABLE_RAW_PTR_EXCLUSION=$force_enable_raw_ptr_exclusion", "USE_FULL_MTE=$use_full_mte", @@ -199,7 +221,7 @@ buildflag_header("partition_alloc_buildflags") { "GLUE_CORE_POOLS=$_glue_core_pools", "ENABLE_POINTER_COMPRESSION=$_enable_pointer_compression", "ENABLE_SHADOW_METADATA_FOR_64_BITS_POINTERS=$enable_shadow_metadata", - "USE_FREELIST_POOL_OFFSETS=$use_freelist_pool_offsets", + "USE_FREELIST_DISPATCHER=$use_freelist_dispatcher", "USE_STARSCAN=$use_starscan", @@ -213,7 +235,7 @@ buildflag_header("partition_alloc_buildflags") { ] } -buildflag_header("raw_ptr_buildflags") { +pa_buildflag_header("raw_ptr_buildflags") { header = "raw_ptr_buildflags.h" flags = [ @@ -223,22 +245,26 @@ buildflag_header("raw_ptr_buildflags") { ] } -buildflag_header("chromecast_buildflags") { +pa_buildflag_header("chromecast_buildflags") { header = "chromecast_buildflags.h" + # TODO(https://crbug.com/41481467): Remove the "PA_" prefix, because it + # will already be part of the define and the `PA_BUILDFLAG` macro. flags = [ "PA_IS_CAST_ANDROID=$is_cast_android", "PA_IS_CASTOS=$is_castos", ] } -buildflag_header("chromeos_buildflags") { +pa_buildflag_header("chromeos_buildflags") { header = "chromeos_buildflags.h" + # TODO(https://crbug.com/41481467): Remove the "PA_" prefix, because it + # will already be part of the define and the `PA_BUILDFLAG` macro. flags = [ "PA_IS_CHROMEOS_ASH=$is_chromeos_ash" ] } -buildflag_header("debugging_buildflags") { +pa_buildflag_header("debugging_buildflags") { header = "debugging_buildflags.h" header_dir = rebase_path(".", "//") + "/partition_alloc_base/debug" @@ -246,6 +272,8 @@ buildflag_header("debugging_buildflags") { # but avails it as a buildflag. _dcheck_is_on = is_debug || dcheck_always_on + # TODO(https://crbug.com/41481467): Remove the "PA_" prefix, because it + # will already be part of the define and the `PA_BUILDFLAG` macro. flags = [ "PA_DCHECK_IS_ON=$_dcheck_is_on", "PA_EXPENSIVE_DCHECKS_ARE_ON=$enable_expensive_dchecks", @@ -363,6 +391,7 @@ if (is_clang_or_gcc) { visibility = [ ":*" ] sources = [ + "aarch64_support.h", "address_pool_manager.cc", "address_pool_manager.h", "address_pool_manager_bitmap.cc", @@ -512,13 +541,17 @@ if (is_clang_or_gcc) { # To support a trampoline for another arch, please refer to v8/src/heap/base. assert(!stack_scan_supported) } - if (use_freelist_pool_offsets) { + + # TODO(crbug.com/40274683): once we evaluate pool offset freelists, + # we should erase the dispatcher and compile (& use) exactly one + # freelist implementation. + if (use_freelist_dispatcher) { sources += [ "pool_offset_freelist.h" ] - } else { - sources += [ "encoded_next_freelist.h" ] } + sources += [ "encoded_next_freelist.h" ] public_deps = [ + ":build_config", ":chromecast_buildflags", ":chromeos_buildflags", ":debugging_buildflags", @@ -528,7 +561,7 @@ if (is_clang_or_gcc) { configs += [ ":partition_alloc_implementation", ":memory_tagging", - "//build/config/compiler:wexit_time_destructors", + ":wexit_time_destructors", ] deps = [ ":allocator_base" ] public_configs = [] @@ -744,6 +777,7 @@ if (is_clang_or_gcc) { } public_deps = [ + ":build_config", ":chromecast_buildflags", ":chromeos_buildflags", ":debugging_buildflags", @@ -752,7 +786,7 @@ if (is_clang_or_gcc) { public_configs = [ ":public_includes" ] configs += [ ":partition_alloc_base_implementation", - "//build/config/compiler:wexit_time_destructors", + ":wexit_time_destructors", ] deps = [] @@ -782,7 +816,7 @@ if (is_clang_or_gcc) { public_configs = [ ":public_includes" ] configs += [ ":allocator_shim_implementation", - "//build/config/compiler:wexit_time_destructors", + ":wexit_time_destructors", ] frameworks = [] @@ -916,6 +950,6 @@ if (is_clang_or_gcc) { ] } } # if (is_clang_or_gcc) -# TODO(crbug.com/1151236): After making partition_alloc a standalone library, +# TODO(crbug.com/40158212): After making partition_alloc a standalone library, # move test code here. i.e. test("partition_alloc_tests") { ... } and # test("partition_alloc_perftests"). diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h new file mode 100644 index 0000000000..d2a190c885 --- /dev/null +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h @@ -0,0 +1,49 @@ +// Copyright 2024 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef PARTITION_ALLOC_AARCH64_SUPPORT_H_ +#define PARTITION_ALLOC_AARCH64_SUPPORT_H_ + +#include + +#include "partition_alloc/build_config.h" +#include "partition_alloc/partition_alloc_buildflags.h" + +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) && !defined(__MUSL__) +#define HAS_HW_CAPS +#endif + +#if defined(ARCH_CPU_ARM64) && defined(HAS_HW_CAPS) +#include +#include +#else +struct __ifunc_arg_t; +#endif + +namespace partition_alloc::internal { + +constexpr bool IsBtiEnabled(uint64_t ifunc_hwcap, + struct __ifunc_arg_t* ifunc_hw) { +#if defined(ARCH_CPU_ARM64) && defined(HAS_HW_CAPS) + return (ifunc_hwcap & _IFUNC_ARG_HWCAP) && (ifunc_hw->_hwcap2 & HWCAP2_BTI); +#else + return false; +#endif +} + +constexpr bool IsMteEnabled(uint64_t ifunc_hwcap, + struct __ifunc_arg_t* ifunc_hw) { +#if defined(ARCH_CPU_ARM64) && defined(HAS_HW_CAPS) && \ + PA_BUILDFLAG(HAS_MEMORY_TAGGING) + return (ifunc_hwcap & _IFUNC_ARG_HWCAP) && (ifunc_hw->_hwcap2 & HWCAP2_MTE); +#else + return false; +#endif +} + +} // namespace partition_alloc::internal + +#undef HAS_HW_CAPS + +#endif // PARTITION_ALLOC_AARCH64_SUPPORT_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_pool_manager.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_pool_manager.cc index d4b6f6af95..a2d6939b99 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_pool_manager.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_pool_manager.cc @@ -9,8 +9,8 @@ #include #include -#include "build/build_config.h" #include "partition_alloc/address_space_stats.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/page_allocator.h" #include "partition_alloc/page_allocator_constants.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" @@ -21,7 +21,7 @@ #include "partition_alloc/reservation_offset_table.h" #include "partition_alloc/thread_isolation/alignment.h" -#if BUILDFLAG(IS_APPLE) || BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) #include #endif @@ -40,7 +40,7 @@ constexpr PageTag kPageTag = PageTag::kPartitionAlloc; } // namespace -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) namespace { @@ -125,7 +125,7 @@ void AddressPoolManager::Pool::Initialize(uintptr_t ptr, size_t length) { PA_CHECK(!(ptr & kSuperPageOffsetMask)); PA_CHECK(!(length & kSuperPageOffsetMask)); address_begin_ = ptr; -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) address_end_ = ptr + length; PA_DCHECK(address_begin_ < address_end_); #endif @@ -204,7 +204,7 @@ uintptr_t AddressPoolManager::Pool::FindChunk(size_t requested_size) { bit_hint_ = end_bit; } uintptr_t address = address_begin_ + beg_bit * kSuperPageSize; -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) PA_DCHECK(address + requested_size <= address_end_); #endif return address; @@ -246,7 +246,7 @@ void AddressPoolManager::Pool::FreeChunk(uintptr_t address, size_t free_size) { PA_DCHECK(!(free_size & kSuperPageOffsetMask)); PA_DCHECK(address_begin_ <= address); -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) PA_DCHECK(address + free_size <= address_end_); #endif @@ -301,19 +301,19 @@ void AddressPoolManager::GetPoolStats(const pool_handle handle, bool AddressPoolManager::GetStats(AddressSpaceStats* stats) { // Get 64-bit pool stats. GetPoolStats(kRegularPoolHandle, &stats->regular_pool_stats); -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) GetPoolStats(kBRPPoolHandle, &stats->brp_pool_stats); -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) if (IsConfigurablePoolAvailable()) { GetPoolStats(kConfigurablePoolHandle, &stats->configurable_pool_stats); } -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) GetPoolStats(kThreadIsolatedPoolHandle, &stats->thread_isolated_pool_stats); #endif return true; } -#else // BUILDFLAG(HAS_64_BIT_POINTERS) +#else // PA_BUILDFLAG(HAS_64_BIT_POINTERS) static_assert( kSuperPageSize % AddressPoolManagerBitmap::kBytesPer1BitOfBRPPoolBitmap == @@ -380,7 +380,7 @@ void AddressPoolManager::MarkUsed(pool_handle handle, size_t length) { ScopedGuard scoped_lock(AddressPoolManagerBitmap::GetLock()); // When ENABLE_BACKUP_REF_PTR_SUPPORT is off, BRP pool isn't used. -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) if (handle == kBRPPoolHandle) { PA_DCHECK( (length % AddressPoolManagerBitmap::kBytesPer1BitOfBRPPoolBitmap) == 0); @@ -412,7 +412,7 @@ void AddressPoolManager::MarkUsed(pool_handle handle, (length >> AddressPoolManagerBitmap::kBitShiftOfBRPPoolBitmap) - AddressPoolManagerBitmap::kGuardBitsOfBRPPoolBitmap); } else -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) { PA_DCHECK(handle == kRegularPoolHandle); PA_DCHECK( @@ -434,7 +434,7 @@ void AddressPoolManager::MarkUnused(pool_handle handle, ScopedGuard scoped_lock(AddressPoolManagerBitmap::GetLock()); // When ENABLE_BACKUP_REF_PTR_SUPPORT is off, BRP pool isn't used. -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) if (handle == kBRPPoolHandle) { PA_DCHECK( (length % AddressPoolManagerBitmap::kBytesPer1BitOfBRPPoolBitmap) == 0); @@ -449,7 +449,7 @@ void AddressPoolManager::MarkUnused(pool_handle handle, (length >> AddressPoolManagerBitmap::kBitShiftOfBRPPoolBitmap) - AddressPoolManagerBitmap::kGuardBitsOfBRPPoolBitmap); } else -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) { PA_DCHECK(handle == kRegularPoolHandle); PA_DCHECK( @@ -520,7 +520,7 @@ bool AddressPoolManager::GetStats(AddressSpaceStats* stats) { // Get 32-bit pool usage. stats->regular_pool_stats.usage = CountUsedSuperPages(regular_pool_bits, kRegularPoolBitsPerSuperPage); -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) static_assert( kSuperPageSize % AddressPoolManagerBitmap::kBytesPer1BitOfBRPPoolBitmap == 0, @@ -542,11 +542,11 @@ bool AddressPoolManager::GetStats(AddressSpaceStats* stats) { stats->blocklist_hit_count = AddressPoolManagerBitmap::blocklist_hit_count_.load( std::memory_order_relaxed); -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) return true; } -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) void AddressPoolManager::DumpStats(AddressSpaceStatsDumper* dumper) { AddressSpaceStats stats{}; @@ -555,7 +555,7 @@ void AddressPoolManager::DumpStats(AddressSpaceStatsDumper* dumper) { } } -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) // This function just exists to static_assert the layout of the private fields // in Pool. void AddressPoolManager::AssertThreadIsolatedLayout() { @@ -566,6 +566,6 @@ void AddressPoolManager::AssertThreadIsolatedLayout() { static_assert(alloc_bitset_offset % PA_THREAD_ISOLATED_ALIGN_SZ == 0); static_assert(sizeof(AddressPoolManager) % PA_THREAD_ISOLATED_ALIGN_SZ == 0); } -#endif // BUILDFLAG(ENABLE_THREAD_ISOLATION) +#endif // PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) } // namespace partition_alloc::internal diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_pool_manager.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_pool_manager.h index 152774da69..a185acbe82 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_pool_manager.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_pool_manager.h @@ -8,8 +8,8 @@ #include #include -#include "build/build_config.h" #include "partition_alloc/address_pool_manager_types.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_address_space.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/component_export.h" @@ -22,7 +22,7 @@ #include "partition_alloc/thread_isolation/alignment.h" #include "partition_alloc/thread_isolation/thread_isolation.h" -#if !BUILDFLAG(HAS_64_BIT_POINTERS) +#if !PA_BUILDFLAG(HAS_64_BIT_POINTERS) #include "partition_alloc/address_pool_manager_bitmap.h" #endif @@ -59,7 +59,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) AddressPoolManager(const AddressPoolManager&) = delete; AddressPoolManager& operator=(const AddressPoolManager&) = delete; -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) void Add(pool_handle handle, uintptr_t address, size_t length); void Remove(pool_handle handle); @@ -69,7 +69,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) // Return the base address of a pool. uintptr_t GetPoolBaseAddress(pool_handle handle); -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) // Reserves address space from the pool. uintptr_t Reserve(pool_handle handle, @@ -82,7 +82,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) size_t length); void ResetForTesting(); -#if !BUILDFLAG(HAS_64_BIT_POINTERS) +#if !PA_BUILDFLAG(HAS_64_BIT_POINTERS) void MarkUsed(pool_handle handle, uintptr_t address, size_t size); void MarkUnused(pool_handle handle, uintptr_t address, size_t size); @@ -93,13 +93,13 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) static bool IsManagedByBRPPool(uintptr_t address) { return AddressPoolManagerBitmap::IsManagedByBRPPool(address); } -#endif // !BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // !PA_BUILDFLAG(HAS_64_BIT_POINTERS) void DumpStats(AddressSpaceStatsDumper* dumper); private: friend class AddressPoolManagerForTesting; -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) // If we use a thread isolated pool, we need to write-protect its metadata. // Allow the function to get access to the pool pointer. friend void WriteProtectThreadIsolatedGlobals(ThreadIsolationOption); @@ -113,11 +113,11 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) // if PartitionAlloc is wholly unused in this process.) bool GetStats(AddressSpaceStats* stats); -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) static void AssertThreadIsolatedLayout(); -#endif // BUILDFLAG(ENABLE_THREAD_ISOLATION) +#endif // PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) class Pool { public: @@ -162,14 +162,14 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) size_t total_bits_ = 0; uintptr_t address_begin_ = 0; -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) uintptr_t address_end_ = 0; #endif -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) friend class AddressPoolManager; friend void WriteProtectThreadIsolatedGlobals(ThreadIsolationOption); -#endif // BUILDFLAG(ENABLE_THREAD_ISOLATION) +#endif // PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) }; PA_ALWAYS_INLINE Pool* GetPool(pool_handle handle) { @@ -199,7 +199,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) #endif Pool pools_[kNumPools]; -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) static PA_CONSTINIT AddressPoolManager singleton_; }; diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_pool_manager_bitmap.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_pool_manager_bitmap.cc index ace3db911f..c9a83690a5 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_pool_manager_bitmap.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_pool_manager_bitmap.cc @@ -7,7 +7,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" #include "partition_alloc/partition_alloc_constants.h" -#if !BUILDFLAG(HAS_64_BIT_POINTERS) +#if !PA_BUILDFLAG(HAS_64_BIT_POINTERS) namespace partition_alloc::internal { @@ -25,13 +25,13 @@ std::bitset AddressPoolManagerBitmap::regular_pool_bits_; // GUARDED_BY(GetLock()) std::bitset AddressPoolManagerBitmap::brp_pool_bits_; // GUARDED_BY(GetLock()) -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) std::array AddressPoolManagerBitmap::brp_forbidden_super_page_map_; std::atomic_size_t AddressPoolManagerBitmap::blocklist_hit_count_; -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) } // namespace partition_alloc::internal -#endif // !BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // !PA_BUILDFLAG(HAS_64_BIT_POINTERS) diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_pool_manager_bitmap.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_pool_manager_bitmap.h index 4023134dd8..61de0b607a 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_pool_manager_bitmap.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_pool_manager_bitmap.h @@ -10,7 +10,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_buildflags.h" @@ -18,7 +18,7 @@ #include "partition_alloc/partition_alloc_constants.h" #include "partition_alloc/partition_lock.h" -#if !BUILDFLAG(HAS_64_BIT_POINTERS) +#if !PA_BUILDFLAG(HAS_64_BIT_POINTERS) namespace partition_alloc { @@ -102,7 +102,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) AddressPoolManagerBitmap { brp_pool_bits_)[address >> kBitShiftOfBRPPoolBitmap]; } -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) static void BanSuperPageFromBRPPool(uintptr_t address) { brp_forbidden_super_page_map_[address >> kSuperPageShift].store( true, std::memory_order_relaxed); @@ -126,7 +126,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) AddressPoolManagerBitmap { } static void IncrementBlocklistHitCount() { ++blocklist_hit_count_; } -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) private: friend class AddressPoolManager; @@ -136,11 +136,11 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) AddressPoolManagerBitmap { static std::bitset regular_pool_bits_ PA_GUARDED_BY(GetLock()); static std::bitset brp_pool_bits_ PA_GUARDED_BY(GetLock()); -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) static std::array brp_forbidden_super_page_map_; static std::atomic_size_t blocklist_hit_count_; -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) }; } // namespace internal @@ -150,11 +150,11 @@ PA_ALWAYS_INLINE bool IsManagedByPartitionAlloc(uintptr_t address) { // When ENABLE_BACKUP_REF_PTR_SUPPORT is off, BRP pool isn't used. // No need to add IsManagedByConfigurablePool, because Configurable Pool // doesn't exist on 32-bit. -#if !BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if !PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) PA_DCHECK(!internal::AddressPoolManagerBitmap::IsManagedByBRPPool(address)); #endif return internal::AddressPoolManagerBitmap::IsManagedByRegularPool(address) -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) || internal::AddressPoolManagerBitmap::IsManagedByBRPPool(address) #endif ; @@ -184,6 +184,6 @@ PA_ALWAYS_INLINE bool IsConfigurablePoolAvailable() { } // namespace partition_alloc -#endif // !BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // !PA_BUILDFLAG(HAS_64_BIT_POINTERS) #endif // PARTITION_ALLOC_ADDRESS_POOL_MANAGER_BITMAP_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.cc index 1a9aff75b8..64bf3efcf6 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.cc @@ -4,7 +4,7 @@ #include "partition_alloc/address_space_randomization.h" -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_buildflags.h" #include "partition_alloc/partition_alloc_check.h" #include "partition_alloc/random.h" @@ -18,7 +18,7 @@ namespace partition_alloc { uintptr_t GetRandomPageBase() { uintptr_t random = static_cast(internal::RandomValue()); -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) random <<= 32ULL; random |= static_cast(internal::RandomValue()); @@ -26,7 +26,7 @@ uintptr_t GetRandomPageBase() { // OS and build configuration. random &= internal::ASLRMask(); random += internal::ASLROffset(); -#else // BUILDFLAG(HAS_64_BIT_POINTERS) +#else // PA_BUILDFLAG(HAS_64_BIT_POINTERS) #if BUILDFLAG(IS_WIN) // On win32 host systems the randomization plus huge alignment causes // excessive fragmentation. Plus most of these systems lack ASLR, so the @@ -42,7 +42,7 @@ uintptr_t GetRandomPageBase() { #endif // BUILDFLAG(IS_WIN) random &= internal::ASLRMask(); random += internal::ASLROffset(); -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) PA_DCHECK(!(random & internal::PageAllocationGranularityOffsetMask())); return random; diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h index f7025dd72b..afb2b51917 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h @@ -7,7 +7,7 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/page_allocator_constants.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/component_export.h" @@ -80,8 +80,8 @@ AslrMask(uintptr_t bits) { // https://chromium-review.googlesource.com/c/v8/v8/+/557958. The difference // is that here we clamp to 39 bits, not 32. // - // TODO(crbug.com/738925): Remove this limitation if/when the macOS behavior - // changes. + // TODO(crbug.com/40528509): Remove this limitation if/when the macOS + // behavior changes. PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR uintptr_t ASLRMask() { return AslrMask(38); diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_space_stats.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_space_stats.h index 6f69553823..f87549e946 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_space_stats.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/address_space_stats.h @@ -19,25 +19,25 @@ struct PoolStats { // On 32-bit, pools are mainly logical entities, intermingled with // allocations not managed by PartitionAlloc. The "largest available // reservation" is not possible to measure in that case. -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) size_t largest_available_reservation = 0; #endif }; struct AddressSpaceStats { PoolStats regular_pool_stats; -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) PoolStats brp_pool_stats; -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) PoolStats configurable_pool_stats; #else -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) size_t blocklist_size; // measured in super pages size_t blocklist_hit_count; -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) PoolStats thread_isolated_pool_stats; #endif }; diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/allocation_guard.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/allocation_guard.h index b43919b92a..27bb76f76e 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/allocation_guard.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/allocation_guard.h @@ -5,7 +5,7 @@ #ifndef PARTITION_ALLOC_ALLOCATION_GUARD_H_ #define PARTITION_ALLOC_ALLOCATION_GUARD_H_ -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_config.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/arm_bti_test_functions.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/arm_bti_test_functions.h index 0fac4fc73b..dd3efa064f 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/arm_bti_test_functions.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/arm_bti_test_functions.h @@ -5,7 +5,7 @@ #ifndef PARTITION_ALLOC_ARM_BTI_TEST_FUNCTIONS_H_ #define PARTITION_ALLOC_ARM_BTI_TEST_FUNCTIONS_H_ -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #if defined(ARCH_CPU_ARM64) extern "C" { diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/build_config.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/build_config.h new file mode 100644 index 0000000000..9936a07ff5 --- /dev/null +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/build_config.h @@ -0,0 +1,10 @@ +// Copyright 2024 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +#ifndef PARTITION_ALLOC_BUILD_CONFIG_H_ +#define PARTITION_ALLOC_BUILD_CONFIG_H_ + +// TODO(https://crbug.com/41481467): Remove //build dependency. +#include "build/build_config.h" + +#endif // PARTITION_ALLOC_BUILD_CONFIG_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/buildflag.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/buildflag.h new file mode 100644 index 0000000000..6201d7bb44 --- /dev/null +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/buildflag.h @@ -0,0 +1,17 @@ +// Copyright 2024 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef PARTITION_ALLOC_BUILDFLAG_H_ +#define PARTITION_ALLOC_BUILDFLAG_H_ + +// This was copied from chromium's and adapted to partition_alloc. +// Please refer to chromium's //build/buildflag.h original comments. +// +// Using a different macro and internal define allows partition_alloc and +// chromium to cohabit without affecting each other. +#define PA_BUILDFLAG_CAT_INDIRECT(a, b) a##b +#define PA_BUILDFLAG_CAT(a, b) PA_BUILDFLAG_CAT_INDIRECT(a, b) +#define PA_BUILDFLAG(flag) (PA_BUILDFLAG_CAT(PA_BUILDFLAG_INTERNAL_, flag)()) + +#endif // PARTITION_ALLOC_BUILDFLAG_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/buildflag_header.gni b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/buildflag_header.gni new file mode 100644 index 0000000000..a1c752a2bc --- /dev/null +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/buildflag_header.gni @@ -0,0 +1,121 @@ +# Copyright 2024 The Chromium Authors +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# This was copied from chromium's and adapted to partition_alloc. +# Please refer to chromium's //build/buildflag_header.gni + +# Generates a header with preprocessor defines specified by the build file. +# +# The flags are converted to function-style defines with mangled names and +# code uses an accessor macro to access the values. This is to try to +# minimize bugs where code checks whether something is defined or not, and +# the proper header isn't included, meaning the answer will always be silently +# false or might vary across the code base. +# +# In the GN template, specify build flags in the template as a list +# of strings that encode key/value pairs like this: +# +# flags = [ "ENABLE_FOO=1", "ENABLE_BAR=$enable_bar" ] +# +# The GN values "true" and "false" will be mapped to 0 and 1 for boolean +# #if flags to be expressed naturally. This means you can't directly make a +# define that generates C++ value of true or false for use in code. If you +# REALLY need this, you can also use the string "(true)" and "(false)" to +# prevent the rewriting. + +# The `template` creates a closure. It is important to capture the dependency +# from outside, because the template is executed from the context of the +# invoker, who uses a different current directory. +_current_dir = get_path_info(".", "abspath") + +# To check the value of the flag in C code: +# +# #include "path/to/here/header_file.h" +# +# #if PA_BUILDFLAG(ENABLE_FOO) +# ... +# #endif +# +# const char kSpamServerUrl[] = BUILDFLAG(SPAM_SERVER_URL); +# +# There will be no #define called ENABLE_FOO so if you accidentally test for +# that in an ifdef it will always be negative. +# +# +# Template parameters +# +# flags [required, list of strings] +# Flag values as described above. +# +# header [required, string] +# File name for generated header. By default, this will go in the +# generated file directory for this target, and you would include it +# with: +# #include "/
" +# +# header_dir [optional, string] +# Override the default location of the generated header. The string will +# be treated as a subdirectory of the root_gen_dir. For example: +# header_dir = "foo/bar" +# Then you can include the header as: +# #include "foo/bar/baz.h" +# +# Example +# +# pa_buildflag_header("foo_buildflags") { +# header = "foo_buildflags.h" +# +# flags = [ +# # This uses the GN build flag enable_doom_melon as the definition. +# "ENABLE_DOOM_MELON=$enable_doom_melon", +# +# # This force-enables the flag. +# "ENABLE_SPACE_LASER=true", +# +# # This will expand to the quoted C string when used in source code. +# "SPAM_SERVER_URL=\"http://www.example.com/\"", +# ] +# } +template("pa_buildflag_header") { + action(target_name) { + script = "./write_buildflag_header.py" + + if (defined(invoker.header_dir)) { + header_file = "${invoker.header_dir}/${invoker.header}" + } else { + # Compute the path from the root to this file. + header_file = rebase_path(".", "//") + "/${invoker.header}" + } + + outputs = [ "$root_gen_dir/$header_file" ] + + # Always write --flags to the file so it's not empty. Empty will confuse GN + # into thinking the response file isn't used. + response_file_contents = [ "--flags" ] + if (defined(invoker.flags)) { + response_file_contents += invoker.flags + } + + args = [ + "--output", + header_file, # Not rebased. + "--rulename", + get_label_info(":$target_name", "label_no_toolchain"), + "--gen-dir", + rebase_path(root_gen_dir, root_build_dir), + "--definitions", + "{{response_file_name}}", + ] + + forward_variables_from(invoker, + [ + "deps", + "public_deps", + "testonly", + "visibility", + ]) + + public_deps = [ "${_current_dir}:build_config" ] + } +} diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/compressed_pointer.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/compressed_pointer.cc index b4d9e6650c..04b36461c6 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/compressed_pointer.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/compressed_pointer.cc @@ -5,7 +5,7 @@ #include "partition_alloc/compressed_pointer.h" #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(ENABLE_POINTER_COMPRESSION) +#if PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) namespace partition_alloc::internal { @@ -26,4 +26,4 @@ void CompressedPointerBaseGlobal::ResetBaseForTesting() { } // namespace partition_alloc::internal -#endif // BUILDFLAG(ENABLE_POINTER_COMPRESSION) +#endif // PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/compressed_pointer.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/compressed_pointer.h index c30e5abb53..0a8aa1c25d 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/compressed_pointer.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/compressed_pointer.h @@ -14,16 +14,16 @@ #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(ENABLE_POINTER_COMPRESSION) +#if PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) -#if !BUILDFLAG(GLUE_CORE_POOLS) +#if !PA_BUILDFLAG(GLUE_CORE_POOLS) #error "Pointer compression only works with glued pools" #endif #if PA_CONFIG(DYNAMICALLY_SELECT_POOL_SIZE) #error "Pointer compression currently supports constant pool size" #endif -#endif // BUILDFLAG(ENABLE_POINTER_COMPRESSION) +#endif // PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) namespace partition_alloc { @@ -33,7 +33,7 @@ template constexpr bool IsDecayedSame = std::is_same_v, std::decay_t>; -#if BUILDFLAG(ENABLE_POINTER_COMPRESSION) +#if PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) // Pointer compression works by storing only the 'useful' 32-bit part of the // pointer. The other half (the base) is stored in a global variable @@ -118,11 +118,11 @@ class CompressedPointerBaseGlobal final { friend class PartitionAddressSpace; }; -#endif // BUILDFLAG(ENABLE_POINTER_COMPRESSION) +#endif // PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) } // namespace internal -#if BUILDFLAG(ENABLE_POINTER_COMPRESSION) +#if PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) template class PA_TRIVIAL_ABI CompressedPointer final { @@ -150,7 +150,7 @@ class PA_TRIVIAL_ABI CompressedPointer final { } else { // When the types are different, perform the round, because the pointer // may need to be adjusted. - // TODO(1376980): Avoid the cycle here. + // TODO(crbug.com/40243421): Avoid the cycle here. value_ = Compress(other.get()); } } @@ -232,7 +232,7 @@ class PA_TRIVIAL_ABI CompressedPointer final { static constexpr size_t kMinimalRequiredAlignment = 8; static_assert((1 << kOverallBitsToShift) == kMinimalRequiredAlignment); -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) PA_DCHECK(reinterpret_cast(ptr) % kMinimalRequiredAlignment == 0); PA_DCHECK(internal::CompressedPointerBaseGlobal::IsSet()); @@ -243,7 +243,7 @@ class PA_TRIVIAL_ABI CompressedPointer final { PA_DCHECK(!ptr || (base & kCorePoolsBaseMask) == (reinterpret_cast(ptr) & kCorePoolsBaseMask)); -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) const auto uptr = reinterpret_cast(ptr); // Shift the pointer and truncate. @@ -252,7 +252,7 @@ class PA_TRIVIAL_ABI CompressedPointer final { // it on decompression. Assuming compression is a significantly less // frequent operation, we let more work here in favor of faster // decompression. - // TODO(1376980): Avoid this by overreserving the heap. + // TODO(crbug.com/40243421): Avoid this by overreserving the heap. if (compressed) { compressed |= (1u << (sizeof(uint32_t) * CHAR_BIT - 1)); } @@ -292,7 +292,7 @@ PA_ALWAYS_INLINE bool operator==(CompressedPointer a, } else { // When the types are different, compare decompressed pointers, because the // pointers may need to be adjusted. - // TODO(1376980): Avoid decompression here. + // TODO(crbug.com/40243421): Avoid decompression here. return a.get() == b.get(); } } @@ -361,7 +361,7 @@ PA_ALWAYS_INLINE constexpr bool operator<(CompressedPointer a, } else { // When the types are different, compare decompressed pointers, because the // pointers may need to be adjusted. - // TODO(1376980): Avoid decompression here. + // TODO(crbug.com/40243421): Avoid decompression here. return a.get() < b.get(); } } @@ -389,7 +389,7 @@ PA_ALWAYS_INLINE constexpr bool operator<=(CompressedPointer a, } else { // When the types are different, compare decompressed pointers, because the // pointers may need to be adjusted. - // TODO(1376980): Avoid decompression here. + // TODO(crbug.com/40243421): Avoid decompression here. return a.get() <= b.get(); } } @@ -444,7 +444,7 @@ PA_ALWAYS_INLINE constexpr bool operator>=(T* a, CompressedPointer b) { return static_cast>(a) >= b; } -#endif // BUILDFLAG(ENABLE_POINTER_COMPRESSION) +#endif // PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) // Simple wrapper over the raw pointer. template diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/encoded_next_freelist.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/encoded_next_freelist.h index 9a95f093c2..24562dd48f 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/encoded_next_freelist.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/encoded_next_freelist.h @@ -8,21 +8,18 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/freeslot_bitmap.h" -#include "partition_alloc/in_slot_metadata.h" #include "partition_alloc/partition_alloc-inl.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" -#include "partition_alloc/partition_alloc_base/immediate_crash.h" #include "partition_alloc/partition_alloc_buildflags.h" -#include "partition_alloc/partition_alloc_check.h" #include "partition_alloc/partition_alloc_config.h" #include "partition_alloc/partition_alloc_constants.h" #if !defined(ARCH_CPU_BIG_ENDIAN) #include "partition_alloc/reverse_bytes.h" -#endif // !defined(ARCH_CPU_BIG_ENDIAN) +#endif namespace partition_alloc::internal { @@ -52,7 +49,7 @@ class EncodedFreelistPtr { // encoding and decoding. PA_ALWAYS_INLINE static constexpr uintptr_t Transform(uintptr_t address) { // We use bswap on little endian as a fast transformation for two reasons: - // 1) On 64 bit architectures, the pointer is very unlikely to be a + // 1) On 64 bit architectures, the swapped pointer is very unlikely to be a // canonical address. Therefore, if an object is freed and its vtable is // used where the attacker doesn't get the chance to run allocations // between the free and use, the vtable dereference is likely to fault. @@ -156,23 +153,23 @@ class EncodedNextFreelistEntry { template PA_ALWAYS_INLINE EncodedNextFreelistEntry* GetNextForThreadCache( size_t slot_size) const { - return GetNextInternal( + return GetNextInternal( slot_size); } PA_ALWAYS_INLINE EncodedNextFreelistEntry* GetNext(size_t slot_size) const { - return GetNextInternal(slot_size); + return GetNextInternal(slot_size); } PA_NOINLINE void CheckFreeList(size_t slot_size) const { for (auto* entry = this; entry; entry = entry->GetNext(slot_size)) { - // |GetNext()| checks freelist integrity. + // `GetNext()` calls `IsWellFormed()`. } } PA_NOINLINE void CheckFreeListForThreadCache(size_t slot_size) const { for (auto* entry = this; entry; entry = entry->GetNextForThreadCache(slot_size)) { - // |GetNextForThreadCache()| checks freelist integrity. + // `GetNextForThreadCache()` calls `IsWellFormed()`. } } @@ -180,7 +177,7 @@ class EncodedNextFreelistEntry { // SetNext() is either called on the freelist head, when provisioning new // slots, or when GetNext() has been called before, no need to pass the // size. -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) // Regular freelists always point to an entry within the same super page. // // This is most likely a PartitionAlloc bug if this triggers. @@ -189,7 +186,7 @@ class EncodedNextFreelistEntry { (SlotStartPtr2Addr(entry) & kSuperPageBaseMask))) { FreelistCorruptionDetected(0); } -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) encoded_next_ = EncodedFreelistPtr(entry); #if PA_CONFIG(HAS_FREELIST_SHADOW_ENTRY) @@ -234,9 +231,8 @@ class EncodedNextFreelistEntry { PA_DEBUG_DATA_ON_STACK("second", static_cast(shadow_)); #endif FreelistCorruptionDetected(slot_size); - } else { - return nullptr; } + return nullptr; } // In real-world profiles, the load of |encoded_next_| above is responsible @@ -247,7 +243,6 @@ class EncodedNextFreelistEntry { // In the case of repeated allocations, we can prefetch the access that will // be done at the *next* allocation, which will touch *ret, prefetch it. PA_PREFETCH(ret); - return ret; } @@ -258,9 +253,10 @@ class EncodedNextFreelistEntry { // Don't allow the freelist to be blindly followed to any location. // Checks following constraints: // - `here->shadow_` must match an inversion of `here->next_` (if present). - // - `next` cannot point inside the metadata area. - // - `here` and `next` must belong to the same superpage, unless this is in - // the thread cache (they even always belong to the same slot span). + // - `next` mustn't point inside the super page metadata area. + // - Unless this is a thread-cache freelist, `here` and `next` must belong + // to the same super page (as a matter of fact, they must belong to the + // same slot span, but that'd be too expensive to check here). // - `next` is marked as free in the free slot bitmap (if present). const uintptr_t here_address = SlotStartPtr2Addr(here); @@ -285,7 +281,7 @@ class EncodedNextFreelistEntry { const bool same_super_page = (here_address & kSuperPageBaseMask) == (next_address & kSuperPageBaseMask); -#if BUILDFLAG(USE_FREESLOT_BITMAP) +#if PA_BUILDFLAG(USE_FREESLOT_BITMAP) bool marked_as_free_in_bitmap = !FreeSlotBitmapSlotIsUsed(next_address); #else constexpr bool marked_as_free_in_bitmap = true; diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/extended_api.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/extended_api.cc index 8d3132b2eb..b8d4156a78 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/extended_api.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/extended_api.cc @@ -36,7 +36,7 @@ void EnablePartitionAllocThreadCacheForRootIfDisabled(PartitionRoot* root) { root->settings.with_thread_cache = true; } -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) void DisablePartitionAllocThreadCacheForProcess() { PA_CHECK(allocator_shim::internal::PartitionAllocMalloc:: AllocatorConfigurationFinalized()); @@ -45,7 +45,7 @@ void DisablePartitionAllocThreadCacheForProcess() { DisableThreadCacheForRootIfEnabled( allocator_shim::internal::PartitionAllocMalloc::OriginalAllocator()); } -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) } // namespace @@ -63,7 +63,7 @@ ThreadAllocStats GetAllocStatsForCurrentThread() { ThreadCacheProcessScopeForTesting::ThreadCacheProcessScopeForTesting( PartitionRoot* root) : root_(root) { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) auto* regular_allocator = allocator_shim::internal::PartitionAllocMalloc::Allocator(); regular_was_enabled_ = @@ -86,13 +86,13 @@ ThreadCacheProcessScopeForTesting::ThreadCacheProcessScopeForTesting( PA_CHECK(!ThreadCache::IsValid(ThreadCache::Get())); EnablePartitionAllocThreadCacheForRootIfDisabled(root_); ThreadCache::SwapForTesting(root_); -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) PA_CHECK(ThreadCache::Get()); } ThreadCacheProcessScopeForTesting::~ThreadCacheProcessScopeForTesting() { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) auto* regular_allocator = allocator_shim::internal::PartitionAllocMalloc::Allocator(); bool regular_enabled = @@ -122,7 +122,7 @@ ThreadCacheProcessScopeForTesting::~ThreadCacheProcessScopeForTesting() { DisableThreadCacheForRootIfEnabled(root_); ThreadCache::SwapForTesting(nullptr); -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) } #endif // PA_CONFIG(THREAD_CACHE_SUPPORTED) diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/extended_api.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/extended_api.h index 1040c99cb7..b3577c892d 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/extended_api.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/extended_api.h @@ -32,7 +32,7 @@ class ThreadCacheProcessScopeForTesting { private: PartitionRoot* root_ = nullptr; -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) bool regular_was_enabled_ = false; #endif }; diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/freeslot_bitmap.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/freeslot_bitmap.h index a7f38df497..e9708013fd 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/freeslot_bitmap.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/freeslot_bitmap.h @@ -15,7 +15,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" #include "partition_alloc/partition_alloc_constants.h" -#if BUILDFLAG(USE_FREESLOT_BITMAP) +#if PA_BUILDFLAG(USE_FREESLOT_BITMAP) namespace partition_alloc::internal { @@ -92,7 +92,7 @@ PA_ALWAYS_INLINE void FreeSlotBitmapReset(uintptr_t begin_addr, *cell &= ~CellWithAOne(bit_index); } -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) // Checks if the cells that are meant to contain only unset bits are really 0. auto [begin_cell, begin_bit_index] = GetFreeSlotBitmapCellPtrAndBitIndex(begin_addr); @@ -131,11 +131,11 @@ PA_ALWAYS_INLINE void FreeSlotBitmapReset(uintptr_t begin_addr, for (FreeSlotBitmapCellType* cell = begin_cell; cell < end_cell; ++cell) { PA_DCHECK(*cell == 0u); } -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) } } // namespace partition_alloc::internal -#endif // BUILDFLAG(USE_FREESLOT_BITMAP) +#endif // PA_BUILDFLAG(USE_FREESLOT_BITMAP) #endif // PARTITION_ALLOC_FREESLOT_BITMAP_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/freeslot_bitmap_constants.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/freeslot_bitmap_constants.h index b22946e192..8faf77a403 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/freeslot_bitmap_constants.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/freeslot_bitmap_constants.h @@ -28,7 +28,7 @@ constexpr size_t kFreeSlotBitmapSize = PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t ReservedFreeSlotBitmapSize() { -#if BUILDFLAG(USE_FREESLOT_BITMAP) +#if PA_BUILDFLAG(USE_FREESLOT_BITMAP) return base::bits::AlignUp(kFreeSlotBitmapSize, PartitionPageSize()); #else return 0; @@ -37,7 +37,7 @@ ReservedFreeSlotBitmapSize() { PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t CommittedFreeSlotBitmapSize() { -#if BUILDFLAG(USE_FREESLOT_BITMAP) +#if PA_BUILDFLAG(USE_FREESLOT_BITMAP) return base::bits::AlignUp(kFreeSlotBitmapSize, SystemPageSize()); #else return 0; @@ -49,7 +49,7 @@ NumPartitionPagesPerFreeSlotBitmap() { return ReservedFreeSlotBitmapSize() / PartitionPageSize(); } -#if BUILDFLAG(USE_FREESLOT_BITMAP) +#if PA_BUILDFLAG(USE_FREESLOT_BITMAP) PA_ALWAYS_INLINE uintptr_t SuperPageFreeSlotBitmapAddr(uintptr_t super_page) { PA_DCHECK(!(super_page % kSuperPageAlignment)); return super_page + PartitionPageSize(); diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/gwp_asan_support.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/gwp_asan_support.cc index 7646de2891..ef7cf31a40 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/gwp_asan_support.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/gwp_asan_support.cc @@ -4,9 +4,9 @@ #include "partition_alloc/gwp_asan_support.h" -#if BUILDFLAG(ENABLE_GWP_ASAN_SUPPORT) +#if PA_BUILDFLAG(ENABLE_GWP_ASAN_SUPPORT) -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/freeslot_bitmap_constants.h" #include "partition_alloc/in_slot_metadata.h" #include "partition_alloc/page_allocator_constants.h" @@ -129,4 +129,4 @@ bool GwpAsanSupport::CanReuse(uintptr_t slot_start) { } // namespace partition_alloc -#endif // BUILDFLAG(ENABLE_GWP_ASAN_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_GWP_ASAN_SUPPORT) diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/gwp_asan_support.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/gwp_asan_support.h index 7af944fad6..6e8b28f36f 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/gwp_asan_support.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/gwp_asan_support.h @@ -8,7 +8,7 @@ #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(ENABLE_GWP_ASAN_SUPPORT) +#if PA_BUILDFLAG(ENABLE_GWP_ASAN_SUPPORT) #include #include @@ -115,6 +115,6 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) GwpAsanSupport { } // namespace partition_alloc -#endif // BUILDFLAG(ENABLE_GWP_ASAN_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_GWP_ASAN_SUPPORT) #endif // PARTITION_ALLOC_GWP_ASAN_SUPPORT_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/in_slot_metadata.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/in_slot_metadata.h index 70e927a646..c85b7ff76a 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/in_slot_metadata.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/in_slot_metadata.h @@ -11,7 +11,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/dangling_raw_ptr_checks.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/component_export.h" @@ -37,7 +37,7 @@ namespace partition_alloc::internal { // Enabled on iOS as a workaround for a speculative bug in Swift's // __StringStorage.create https://crbug.com/327804972 // -// Placed outside `BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT)` +// Placed outside `PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT)` // intentionally to accommodate usage in contexts also outside // this gating. PA_ALWAYS_INLINE size_t @@ -49,7 +49,7 @@ AlignUpInSlotMetadataSizeForApple(size_t in_slot_metadata_size) { #endif // BUILDFLAG(IS_APPLE) } -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) namespace { // Utility functions to define a bit field. @@ -99,7 +99,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) InSlotMetadata { // 31 needs_mac11_malloc_ Whether malloc_size() return value needs to // size_hack be adjusted for this allocation. // - // On `BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS)` builds, it holds two more + // On `PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS)` builds, it holds two more // entries in total of 64 bits. // // bits name description @@ -127,11 +127,14 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) InSlotMetadata { // |dangling_detected| is set and the error is reported via // DanglingRawPtrDetected(id). The matching DanglingRawPtrReleased(id) will be // called when the last raw_ptr<> is released. -#if !BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) +#if !PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) using CountType = uint32_t; static constexpr CountType kMemoryHeldByAllocatorBit = BitField::Bit(0); static constexpr CountType kPtrCountMask = BitField::Mask(1, 29); + // The most significant bit of the refcount is reserved to prevent races with + // overflow detection. + static constexpr CountType kMaxPtrCount = BitField::Mask(1, 28); static constexpr CountType kRequestQuarantineBit = BitField::Bit(30); static constexpr CountType kNeedsMac11MallocSizeHackBit = @@ -140,10 +143,13 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) InSlotMetadata { BitField::None(); static constexpr CountType kUnprotectedPtrCountMask = BitField::None(); -#else // !BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) +#else // !PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) using CountType = uint64_t; static constexpr auto kMemoryHeldByAllocatorBit = BitField::Bit(0); static constexpr auto kPtrCountMask = BitField::Mask(1, 31); + // The most significant bit of the refcount is reserved to prevent races with + // overflow detection. + static constexpr auto kMaxPtrCount = BitField::Mask(1, 30); static constexpr auto kDanglingRawPtrDetectedBit = BitField::Bit(32); static constexpr auto kNeedsMac11MallocSizeHackBit = @@ -152,7 +158,11 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) InSlotMetadata { BitField::Bit(34); static constexpr auto kUnprotectedPtrCountMask = BitField::Mask(35, 63); -#endif // !BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) + // The most significant bit of the refcount is reserved to prevent races with + // overflow detection. + static constexpr auto kMaxUnprotectedPtrCount = + BitField::Mask(35, 62); +#endif // !PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) // Quick check to assert these masks do not overlap. static_assert((kMemoryHeldByAllocatorBit + kPtrCountMask + @@ -183,19 +193,18 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) InSlotMetadata { CountType old_count = count_.fetch_add(kPtrInc, std::memory_order_relaxed); // Check overflow. - PA_CHECK((old_count & kPtrCountMask) != kPtrCountMask); + PA_CHECK((old_count & kPtrCountMask) != kMaxPtrCount); } // Similar to |Acquire()|, but for raw_ptr // instead of raw_ptr. PA_ALWAYS_INLINE void AcquireFromUnprotectedPtr() { -#if BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) +#if PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) CheckCookieIfSupported(); CountType old_count = count_.fetch_add(kUnprotectedPtrInc, std::memory_order_relaxed); // Check overflow. - PA_CHECK((old_count & kUnprotectedPtrCountMask) != - kUnprotectedPtrCountMask); + PA_CHECK((old_count & kUnprotectedPtrCountMask) != kMaxUnprotectedPtrCount); #else Acquire(); #endif @@ -209,7 +218,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) InSlotMetadata { // Check underflow. PA_DCHECK(old_count & kPtrCountMask); -#if BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) +#if PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) // If a dangling raw_ptr<> was detected, report it. if (PA_UNLIKELY((old_count & kDanglingRawPtrDetectedBit) == kDanglingRawPtrDetectedBit)) { @@ -224,7 +233,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) InSlotMetadata { // Similar to |Release()|, but for raw_ptr // instead of raw_ptr. PA_ALWAYS_INLINE bool ReleaseFromUnprotectedPtr() { -#if BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) +#if PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) CheckCookieIfSupported(); CountType old_count = @@ -359,7 +368,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) InSlotMetadata { // If there are some dangling raw_ptr<>. Turn on the error flag, and // emit the `DanglingPtrDetected` once to embedders. PA_ALWAYS_INLINE void CheckDanglingPointersOnFree(CountType count) { -#if BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) +#if PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) // The `kPtrCountMask` counts the number of raw_ptr. It is expected to be // zero when there are no unexpected dangling pointers. if (PA_LIKELY((count & kPtrCountMask) == 0)) { @@ -384,7 +393,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) InSlotMetadata { partition_alloc::internal::DanglingRawPtrDetected( reinterpret_cast(this)); -#endif // BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) +#endif // PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) } // The common parts shared by Release() and ReleaseFromUnprotectedPtr(). @@ -475,9 +484,7 @@ PA_ALWAYS_INLINE InSlotMetadata::InSlotMetadata( static_assert(kAlignment % alignof(InSlotMetadata) == 0, "kAlignment must be multiples of alignof(InSlotMetadata)."); -static constexpr size_t kInSlotMetadataBufferSize = sizeof(InSlotMetadata); - -#if BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) +#if PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) #if PA_CONFIG(IN_SLOT_METADATA_CHECK_COOKIE) || \ PA_CONFIG(IN_SLOT_METADATA_STORE_REQUESTED_SIZE) @@ -486,7 +493,7 @@ static constexpr size_t kInSlotMetadataSizeShift = 4; static constexpr size_t kInSlotMetadataSizeShift = 3; #endif -#else // BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) +#else // PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) #if PA_CONFIG(IN_SLOT_METADATA_CHECK_COOKIE) && \ PA_CONFIG(IN_SLOT_METADATA_STORE_REQUESTED_SIZE) @@ -540,7 +547,8 @@ PA_ALWAYS_INLINE InSlotMetadata* InSlotMetadataPointer(uintptr_t slot_start, if (PA_LIKELY(slot_start & SystemPageOffsetMask())) { uintptr_t refcount_address = slot_start + slot_size - sizeof(InSlotMetadata); -#if BUILDFLAG(PA_DCHECK_IS_ON) || BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) || \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) PA_CHECK(refcount_address % alignof(InSlotMetadata) == 0); #endif // TODO(bartekn): Plumb the tag from the callers, so that MTE tag can be @@ -552,23 +560,22 @@ PA_ALWAYS_INLINE InSlotMetadata* InSlotMetadataPointer(uintptr_t slot_start, (slot_start & kSuperPageBaseMask) + SystemPageSize() * 2); size_t index = ((slot_start & kSuperPageOffsetMask) >> SystemPageShift()) << GetInSlotMetadataIndexMultiplierShift(); -#if BUILDFLAG(PA_DCHECK_IS_ON) || BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) || \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) PA_CHECK(sizeof(InSlotMetadata) * index <= SystemPageSize()); #endif return table_base + index; } } -static_assert(sizeof(InSlotMetadata) <= kInSlotMetadataBufferSize, - "InSlotMetadata should fit into the in-slot buffer."); +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) -#else // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) - -static constexpr size_t kInSlotMetadataBufferSize = 0; - -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) - -constexpr size_t kInSlotMetadataSizeAdjustment = kInSlotMetadataBufferSize; +static inline constexpr size_t kInSlotMetadataSizeAdjustment = +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) + sizeof(InSlotMetadata); +#else + 0ul; +#endif } // namespace partition_alloc::internal diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc index be628aed40..feffc1fa1c 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc @@ -9,22 +9,51 @@ #include "partition_alloc/partition_root.h" namespace partition_alloc::internal { +namespace { + +// An utility to lock only if a condition is met. +class PA_SCOPED_LOCKABLE ConditionalScopedGuard { + public: + PA_ALWAYS_INLINE ConditionalScopedGuard(bool condition, Lock& lock) + PA_EXCLUSIVE_LOCK_FUNCTION(lock) + : condition_(condition), lock_(lock) { + if (condition_) { + lock_.Acquire(); + } + } + PA_ALWAYS_INLINE ~ConditionalScopedGuard() PA_UNLOCK_FUNCTION() { + if (condition_) { + lock_.Release(); + } + } + + private: + const bool condition_; + Lock& lock_; +}; + +} // namespace LightweightQuarantineBranch LightweightQuarantineRoot::CreateBranch( - bool lock_required) { - return LightweightQuarantineBranch(*this, lock_required); + const LightweightQuarantineBranchConfig& config) { + return LightweightQuarantineBranch(*this, config); } -LightweightQuarantineBranch::LightweightQuarantineBranch(Root& root, - bool lock_required) - : root_(root), lock_required_(lock_required) {} +LightweightQuarantineBranch::LightweightQuarantineBranch( + Root& root, + const LightweightQuarantineBranchConfig& config) + : root_(root), + lock_required_(config.lock_required), + branch_capacity_in_bytes_(config.branch_capacity_in_bytes) {} LightweightQuarantineBranch::LightweightQuarantineBranch( LightweightQuarantineBranch&& b) : root_(b.root_), lock_required_(b.lock_required_), slots_(std::move(b.slots_)), - branch_size_in_bytes_(b.branch_size_in_bytes_) { + branch_size_in_bytes_(b.branch_size_in_bytes_), + branch_capacity_in_bytes_( + b.branch_capacity_in_bytes_.load(std::memory_order_relaxed)) { b.branch_size_in_bytes_ = 0; } @@ -39,23 +68,12 @@ bool LightweightQuarantineBranch::Quarantine(void* object, const auto usable_size = root_.allocator_root_.GetSlotUsableSize(slot_span); const size_t capacity_in_bytes = - root_.capacity_in_bytes_.load(std::memory_order_relaxed); + branch_capacity_in_bytes_.load(std::memory_order_relaxed); { ConditionalScopedGuard guard(lock_required_, lock_); - // Note that `root_` is _not_ locked while `this` is locked with `lock_`, - // so there is no synchronization between `root_` and `this` (branch) - // except for the single-branch use case. - const size_t root_size_in_bytes = - root_.size_in_bytes_.load(std::memory_order_relaxed); - // Due to no synchronization, `branch_size_in_bytes_` may be larger than - // `root_size_in_bytes`. - const size_t size_in_bytes_held_by_others = - branch_size_in_bytes_ < root_size_in_bytes - ? root_size_in_bytes - branch_size_in_bytes_ - : 0; - if (capacity_in_bytes < size_in_bytes_held_by_others + usable_size) { + if (capacity_in_bytes < usable_size) { // Even if this branch dequarantines all entries held by it, this entry // cannot fit within the capacity. root_.allocator_root_.FreeNoHooksImmediate(object, slot_span, slot_start); @@ -66,13 +84,8 @@ bool LightweightQuarantineBranch::Quarantine(void* object, // Dequarantine some entries as required. PurgeInternal(capacity_in_bytes - usable_size); - // Update stats (locked). + // Put the entry onto the list. branch_size_in_bytes_ += usable_size; - root_.size_in_bytes_.fetch_add(usable_size, std::memory_order_relaxed); - // `root_.capacity_in_bytes_` is _not_ a hard limit, plus there is no - // synchronization between the root and branch, so `branch_size_in_bytes_` - // may be larger than `root_.capacity_in_bytes_` at this point. - slots_.emplace_back(slot_start, usable_size); // Swap randomly so that the quarantine list remain shuffled. @@ -83,6 +96,7 @@ bool LightweightQuarantineBranch::Quarantine(void* object, // Update stats (not locked). root_.count_.fetch_add(1, std::memory_order_relaxed); + root_.size_in_bytes_.fetch_add(usable_size, std::memory_order_relaxed); root_.cumulative_count_.fetch_add(1, std::memory_order_relaxed); root_.cumulative_size_in_bytes_.fetch_add(usable_size, std::memory_order_relaxed); @@ -100,13 +114,23 @@ bool LightweightQuarantineBranch::IsQuarantinedForTesting(void* object) { return false; } -void LightweightQuarantineBranch::PurgeInternal(size_t target_size_in_bytes) { - size_t size_in_bytes = root_.size_in_bytes_.load(std::memory_order_relaxed); +void LightweightQuarantineBranch::SetCapacityInBytes(size_t capacity_in_bytes) { + branch_capacity_in_bytes_.store(capacity_in_bytes, std::memory_order_relaxed); +} + +void LightweightQuarantineBranch::Purge() { + ConditionalScopedGuard guard(lock_required_, lock_); + PurgeInternal(0); + slots_.shrink_to_fit(); +} + +PA_ALWAYS_INLINE void LightweightQuarantineBranch::PurgeInternal( + size_t target_size_in_bytes) { int64_t freed_count = 0; int64_t freed_size_in_bytes = 0; // Dequarantine some entries as required. - while (!slots_.empty() && target_size_in_bytes < size_in_bytes) { + while (!slots_.empty() && target_size_in_bytes < branch_size_in_bytes_) { // As quarantined entries are shuffled, picking last entry is equivalent // to picking random entry. const auto& to_free = slots_.back(); @@ -122,12 +146,11 @@ void LightweightQuarantineBranch::PurgeInternal(size_t target_size_in_bytes) { freed_count++; freed_size_in_bytes += to_free_size; - size_in_bytes -= to_free_size; + branch_size_in_bytes_ -= to_free_size; slots_.pop_back(); } - branch_size_in_bytes_ -= freed_size_in_bytes; root_.size_in_bytes_.fetch_sub(freed_size_in_bytes, std::memory_order_relaxed); root_.count_.fetch_sub(freed_count, std::memory_order_relaxed); diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.h index d984f97e94..82e1956986 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.h @@ -56,16 +56,22 @@ struct LightweightQuarantineStats; namespace internal { +struct LightweightQuarantineBranchConfig { + // When set to `false`, the branch is for single-thread use (faster). + bool lock_required = true; + // Capacity for a branch in bytes. + size_t branch_capacity_in_bytes = 0; +}; + class LightweightQuarantineBranch; class PA_COMPONENT_EXPORT(PARTITION_ALLOC) LightweightQuarantineRoot { public: - explicit LightweightQuarantineRoot(PartitionRoot& allocator_root, - size_t capacity_in_bytes = 0) - : allocator_root_(allocator_root), - capacity_in_bytes_(capacity_in_bytes) {} + explicit LightweightQuarantineRoot(PartitionRoot& allocator_root) + : allocator_root_(allocator_root) {} - LightweightQuarantineBranch CreateBranch(bool lock_required = true); + LightweightQuarantineBranch CreateBranch( + const LightweightQuarantineBranchConfig& config); void AccumulateStats(LightweightQuarantineStats& stats) const { stats.count += count_.load(std::memory_order_relaxed); @@ -77,22 +83,11 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) LightweightQuarantineRoot { quarantine_miss_count_.load(std::memory_order_relaxed); } - size_t GetCapacityInBytes() const { - return capacity_in_bytes_.load(std::memory_order_relaxed); - } - void SetCapacityInBytes(size_t capacity) { - capacity_in_bytes_.store(capacity, std::memory_order_relaxed); - // `size_in_bytes` may exceed `capacity_in_bytes` here. - // Each branch will try to shrink their quarantine later. - } - private: PartitionRoot& allocator_root_; - std::atomic_size_t capacity_in_bytes_; - // Total size of quarantined entries, capped by `capacity_in_bytes`. - std::atomic_size_t size_in_bytes_ = 0; // Stats. + std::atomic_size_t size_in_bytes_ = 0; std::atomic_size_t count_ = 0; // Number of quarantined entries std::atomic_size_t cumulative_count_ = 0; std::atomic_size_t cumulative_size_in_bytes_ = 0; @@ -119,53 +114,37 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) LightweightQuarantineBranch { // Dequarantine all entries **held by this branch**. // It is possible that another branch with entries and it remains untouched. - void Purge() { - ConditionalScopedGuard guard(lock_required_, lock_); - PurgeInternal(0); - } + void Purge(); // Determines this list contains an object. bool IsQuarantinedForTesting(void* object); Root& GetRoot() { return root_; } + size_t GetCapacityInBytes() { + return branch_capacity_in_bytes_.load(std::memory_order_relaxed); + } + // After shrinking the capacity, this branch may need to `Purge()` to meet the + // requirement. + void SetCapacityInBytes(size_t capacity_in_bytes); + private: - LightweightQuarantineBranch(Root& root, bool lock_required); + LightweightQuarantineBranch(Root& root, + const LightweightQuarantineBranchConfig& config); // Try to dequarantine entries to satisfy below: // root_.size_in_bytes_ <= target_size_in_bytes // It is possible that this branch cannot satisfy the // request as it has control over only what it has. If you need to ensure the // constraint, call `Purge()` for each branch in sequence, synchronously. - void PurgeInternal(size_t target_size_in_bytes) + PA_ALWAYS_INLINE void PurgeInternal(size_t target_size_in_bytes) PA_EXCLUSIVE_LOCKS_REQUIRED(lock_); Root& root_; - bool lock_required_; + const bool lock_required_; Lock lock_; - // An utility to lock only if a condition is met. - class PA_SCOPED_LOCKABLE ConditionalScopedGuard { - public: - explicit ConditionalScopedGuard(bool condition, Lock& lock) - PA_EXCLUSIVE_LOCK_FUNCTION(lock) - : condition_(condition), lock_(lock) { - if (condition_) { - lock_.Acquire(); - } - } - ~ConditionalScopedGuard() PA_UNLOCK_FUNCTION() { - if (condition_) { - lock_.Release(); - } - } - - private: - const bool condition_; - Lock& lock_; - }; - // Non-cryptographic random number generator. // Thread-unsafe so guarded by `lock_`. base::InsecureRandomGenerator random_ PA_GUARDED_BY(lock_); @@ -178,6 +157,8 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) LightweightQuarantineBranch { std::vector> slots_ PA_GUARDED_BY(lock_); size_t branch_size_in_bytes_ PA_GUARDED_BY(lock_) = 0; + // Using `std::atomic` here so that other threads can update this value. + std::atomic_size_t branch_capacity_in_bytes_; friend class LightweightQuarantineRoot; }; diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/memory_reclaimer.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/memory_reclaimer.cc index f6f1acb950..f138fedbce 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/memory_reclaimer.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/memory_reclaimer.cc @@ -10,7 +10,7 @@ #include "partition_alloc/partition_alloc_check.h" #include "partition_alloc/partition_alloc_config.h" -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) #include "partition_alloc/starscan/pcscan.h" #endif @@ -65,7 +65,7 @@ void MemoryReclaimer::Reclaim(int flags) { // // Lastly decommit empty slot spans and lastly try to discard unused pages at // the end of the remaining active slots. -#if PA_CONFIG(STARSCAN_ENABLE_STARSCAN_ON_RECLAIM) && BUILDFLAG(USE_STARSCAN) +#if PA_CONFIG(STARSCAN_ENABLE_STARSCAN_ON_RECLAIM) && PA_BUILDFLAG(USE_STARSCAN) { using PCScan = internal::PCScan; const auto invocation_mode = flags & PurgeFlags::kAggressiveReclaim @@ -74,7 +74,7 @@ void MemoryReclaimer::Reclaim(int flags) { PCScan::PerformScanIfNeeded(invocation_mode); } #endif // PA_CONFIG(STARSCAN_ENABLE_STARSCAN_ON_RECLAIM) && - // BUILDFLAG(USE_STARSCAN) + // PA_BUILDFLAG(USE_STARSCAN) #if PA_CONFIG(THREAD_CACHE_SUPPORTED) // Don't completely empty the thread cache outside of low memory situations, diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/oom.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/oom.cc index 06dbde77f2..b21f36ab42 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/oom.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/oom.cc @@ -4,7 +4,7 @@ #include "partition_alloc/oom.h" -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/oom_callback.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/debug/alias.h" @@ -24,7 +24,7 @@ size_t g_oom_size = 0U; namespace internal { // Crash server classifies base::internal::OnNoMemoryInternal as OOM. -// TODO(crbug.com/1151236): Update to +// TODO(crbug.com/40158212): Update to // partition_alloc::internal::base::internal::OnNoMemoryInternal PA_NOINLINE void OnNoMemoryInternal(size_t size) { g_oom_size = size; diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/oom.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/oom.h index 3e666e184d..9ee66f1c90 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/oom.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/oom.h @@ -7,8 +7,8 @@ #include -#include "build/build_config.h" #include "partition_alloc/allocation_guard.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/component_export.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator.cc index 280624c1ed..439adcee40 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator.cc @@ -8,8 +8,8 @@ #include #include -#include "build/build_config.h" #include "partition_alloc/address_space_randomization.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/page_allocator_internal.h" #include "partition_alloc/partition_alloc_base/thread_annotations.h" #include "partition_alloc/partition_alloc_check.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator.h index 14c0692bee..e1dbe7ab97 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator.h @@ -8,7 +8,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/page_allocator_constants.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/component_export.h" @@ -41,7 +41,7 @@ struct PageAccessibilityConfiguration { kReadWriteExecute, }; -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) constexpr explicit PageAccessibilityConfiguration(Permissions permissions) : permissions(permissions) {} constexpr PageAccessibilityConfiguration( @@ -51,13 +51,13 @@ struct PageAccessibilityConfiguration { #else constexpr explicit PageAccessibilityConfiguration(Permissions permissions) : permissions(permissions) {} -#endif // BUILDFLAG(ENABLE_THREAD_ISOLATION) +#endif // PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) Permissions permissions; -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) // Tag the page with a Memory Protection Key. Use 0 for none. ThreadIsolationOption thread_isolation; -#endif // BUILDFLAG(ENABLE_THREAD_ISOLATION) +#endif // PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) }; // Use for De/RecommitSystemPages API. diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h index b5bd4221ce..e6aef0abfc 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h @@ -7,7 +7,7 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/component_export.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc index c325beaea2..d99ddd5531 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc @@ -1,50 +1,94 @@ // Copyright 2021 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/page_allocator.h" -#include "partition_alloc/partition_alloc_base/cpu.h" -#include "partition_alloc/partition_alloc_base/notreached.h" +#include "partition_alloc/partition_alloc_buildflags.h" + +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) || \ + (defined(__ARM_FEATURE_BTI_DEFAULT) && (__ARM_FEATURE_BTI_DEFAULT == 1) && \ + !defined(__MUSL__)) +struct __ifunc_arg_t; + +#include "partition_alloc/aarch64_support.h" + +#define NEEDS_HANDLING_OF_HW_CAPABILITIES +#endif // PA_PROT_BTI requests a page that supports BTI landing pads. #define PA_PROT_BTI 0x10 // PA_PROT_MTE requests a page that's suitable for memory tagging. -#if defined(ARCH_CPU_ARM64) #define PA_PROT_MTE 0x20 -#endif // defined(ARCH_CPU_ARM64) namespace partition_alloc::internal { +namespace { -int GetAccessFlags(PageAccessibilityConfiguration accessibility) { +int GetAccessFlags(PageAccessibilityConfiguration accessibility, + bool mte_enabled, + bool bti_enabled) { switch (accessibility.permissions) { case PageAccessibilityConfiguration::kRead: return PROT_READ; case PageAccessibilityConfiguration::kReadWriteTagged: -#if defined(ARCH_CPU_ARM64) - return PROT_READ | PROT_WRITE | - (base::CPU::GetInstanceNoAllocation().has_mte() ? PA_PROT_MTE : 0); -#else - [[fallthrough]]; -#endif + return PROT_READ | PROT_WRITE | (mte_enabled ? PA_PROT_MTE : 0); case PageAccessibilityConfiguration::kReadWrite: return PROT_READ | PROT_WRITE; case PageAccessibilityConfiguration::kReadExecuteProtected: - return PROT_READ | PROT_EXEC | - (base::CPU::GetInstanceNoAllocation().has_bti() ? PA_PROT_BTI : 0); + return PROT_READ | PROT_EXEC | (bti_enabled ? PA_PROT_BTI : 0); case PageAccessibilityConfiguration::kReadExecute: return PROT_READ | PROT_EXEC; case PageAccessibilityConfiguration::kReadWriteExecute: return PROT_READ | PROT_WRITE | PROT_EXEC; case PageAccessibilityConfiguration::kReadWriteExecuteProtected: return PROT_READ | PROT_WRITE | PROT_EXEC | - (base::CPU::GetInstanceNoAllocation().has_bti() ? PA_PROT_BTI : 0); + (bti_enabled ? PA_PROT_BTI : 0); case PageAccessibilityConfiguration::kInaccessible: case PageAccessibilityConfiguration::kInaccessibleWillJitLater: return PROT_NONE; } } +template +int GetAccessFlags(PageAccessibilityConfiguration accessibility) { + return GetAccessFlags(accessibility, MteEnabled, BtiEnabled); +} + +} // namespace + +#if defined(NEEDS_HANDLING_OF_HW_CAPABILITIES) +using GetAccessFlagsInternalFn = int(PageAccessibilityConfiguration); + +extern "C" GetAccessFlagsInternalFn* ResolveGetAccessFlags( + uint64_t hwcap, + struct __ifunc_arg_t* hw) { + if (IsMteEnabled(hwcap, hw)) { + if (IsBtiEnabled(hwcap, hw)) { + return GetAccessFlags; + } else { + return GetAccessFlags; + } + } else { + if (IsBtiEnabled(hwcap, hw)) { + return GetAccessFlags; + } else { + return GetAccessFlags; + } + } +} +#endif + +// Resolve the implementation for GetAccessFlags using an iFunc. +int GetAccessFlags(PageAccessibilityConfiguration accessibility) +#if defined(NEEDS_HANDLING_OF_HW_CAPABILITIES) + __attribute__((ifunc("ResolveGetAccessFlags"))); +#else +{ + return GetAccessFlags(accessibility); +} +#endif + } // namespace partition_alloc::internal diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.h index 1bfba11f30..a315f518e5 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.h @@ -5,15 +5,15 @@ #ifndef PARTITION_ALLOC_PAGE_ALLOCATOR_INTERNALS_POSIX_H_ #define PARTITION_ALLOC_PAGE_ALLOCATOR_INTERNALS_POSIX_H_ +#include + #include #include #include #include #include -#include - -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/oom.h" #include "partition_alloc/page_allocator.h" #include "partition_alloc/page_allocator_constants.h" @@ -150,7 +150,7 @@ bool UseMapJit() { #if TARGET_IPHONE_SIMULATOR return true; #else - // TODO(https://crbug.com/1413818): Fill this out when the API it is + // TODO(crbug.com/40255826): Fill this out when the API it is // available. return false; #endif // TARGET_IPHONE_SIMULATOR @@ -215,14 +215,14 @@ bool TrySetSystemPagesAccessInternal( uintptr_t address, size_t length, PageAccessibilityConfiguration accessibility) { -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) if (accessibility.thread_isolation.enabled) { return 0 == MprotectWithThreadIsolation(reinterpret_cast(address), length, GetAccessFlags(accessibility), accessibility.thread_isolation); } -#endif // BUILDFLAG(ENABLE_THREAD_ISOLATION) +#endif // PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) return 0 == WrapEINTR(mprotect)(reinterpret_cast(address), length, GetAccessFlags(accessibility)); } @@ -233,13 +233,13 @@ void SetSystemPagesAccessInternal( PageAccessibilityConfiguration accessibility) { int access_flags = GetAccessFlags(accessibility); int ret; -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) if (accessibility.thread_isolation.enabled) { ret = MprotectWithThreadIsolation(reinterpret_cast(address), length, GetAccessFlags(accessibility), accessibility.thread_isolation); } else -#endif // BUILDFLAG(ENABLE_THREAD_ISOLATION) +#endif // PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) { ret = WrapEINTR(mprotect)(reinterpret_cast(address), length, GetAccessFlags(accessibility)); @@ -299,14 +299,14 @@ void DecommitSystemPagesInternal( bool change_permissions = accessibility_disposition == PageAccessibilityDisposition::kRequireUpdate; -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) // This is not guaranteed, show that we're serious. // // More specifically, several callers have had issues with assuming that // memory is zeroed, this would hopefully make these bugs more visible. We // don't memset() everything, because ranges can be very large, and doing it // over the entire range could make Chrome unusable with - // BUILDFLAG(PA_DCHECK_IS_ON). + // PA_BUILDFLAG(PA_DCHECK_IS_ON). // // Only do it when we are about to change the permissions, since we don't know // the previous permissions, and cannot restore them. diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_win.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_win.h index 90811615d4..76d76fc467 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_win.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_win.h @@ -28,7 +28,7 @@ bool IsOutOfMemory(DWORD error) { case ERROR_COMMITMENT_MINIMUM: // Page file is too small. case ERROR_COMMITMENT_LIMIT: -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) // Not enough memory resources are available to process this command. // // It is not entirely clear whether this error pertains to out of address diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_address_space.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_address_space.cc index 732df68ad6..5504b3fa00 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_address_space.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_address_space.cc @@ -11,8 +11,8 @@ #include #include -#include "build/build_config.h" #include "partition_alloc/address_pool_manager.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/compressed_pointer.h" #include "partition_alloc/page_allocator.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" @@ -31,13 +31,13 @@ #include #endif // BUILDFLAG(IS_WIN) -#if PA_CONFIG(ENABLE_SHADOW_METADATA) || BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_CONFIG(ENABLE_SHADOW_METADATA) || PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) #include #endif namespace partition_alloc::internal { -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) namespace { @@ -143,13 +143,13 @@ void PartitionAddressSpace::Init() { size_t regular_pool_size = RegularPoolSize(); size_t brp_pool_size = BRPPoolSize(); -#if BUILDFLAG(GLUE_CORE_POOLS) +#if PA_BUILDFLAG(GLUE_CORE_POOLS) // Gluing core pools (regular & BRP) makes sense only when both pools are of // the same size. This the only way we can check belonging to either of the // two with a single bitmask operation. PA_CHECK(regular_pool_size == brp_pool_size); - // TODO(crbug.com/1362969): Support PA_ENABLE_SHADOW_METADATA. + // TODO(crbug.com/40238514): Support PA_ENABLE_SHADOW_METADATA. int pools_fd = -1; size_t glued_pool_sizes = regular_pool_size * 2; @@ -165,7 +165,7 @@ void PartitionAddressSpace::Init() { } setup_.brp_pool_base_address_ = setup_.regular_pool_base_address_ + regular_pool_size; -#else // BUILDFLAG(GLUE_CORE_POOLS) +#else // PA_BUILDFLAG(GLUE_CORE_POOLS) #if PA_CONFIG(ENABLE_SHADOW_METADATA) int regular_pool_fd = memfd_create("/regular_pool", MFD_CLOEXEC); #else @@ -200,12 +200,12 @@ void PartitionAddressSpace::Init() { HandlePoolAllocFailure(); } setup_.brp_pool_base_address_ = base_address + kForbiddenZoneSize; -#endif // BUILDFLAG(GLUE_CORE_POOLS) +#endif // PA_BUILDFLAG(GLUE_CORE_POOLS) #if PA_CONFIG(DYNAMICALLY_SELECT_POOL_SIZE) setup_.regular_pool_base_mask_ = ~(regular_pool_size - 1); setup_.brp_pool_base_mask_ = ~(brp_pool_size - 1); -#if BUILDFLAG(GLUE_CORE_POOLS) +#if PA_BUILDFLAG(GLUE_CORE_POOLS) // When PA_GLUE_CORE_POOLS is on, the BRP pool is placed at the end of the // regular pool, effectively forming one virtual pool of a twice bigger // size. Adjust the mask appropriately. @@ -222,7 +222,7 @@ void PartitionAddressSpace::Init() { // Sanity check pool alignment. PA_DCHECK(!(setup_.regular_pool_base_address_ & (regular_pool_size - 1))); PA_DCHECK(!(setup_.brp_pool_base_address_ & (brp_pool_size - 1))); -#if BUILDFLAG(GLUE_CORE_POOLS) +#if PA_BUILDFLAG(GLUE_CORE_POOLS) PA_DCHECK(!(setup_.regular_pool_base_address_ & (glued_pool_sizes - 1))); #endif @@ -237,7 +237,7 @@ void PartitionAddressSpace::Init() { PA_DCHECK(IsInBRPPool(setup_.brp_pool_base_address_)); PA_DCHECK(IsInBRPPool(setup_.brp_pool_base_address_ + brp_pool_size - 1)); PA_DCHECK(!IsInBRPPool(setup_.brp_pool_base_address_ + brp_pool_size)); -#if BUILDFLAG(GLUE_CORE_POOLS) +#if PA_BUILDFLAG(GLUE_CORE_POOLS) PA_DCHECK(!IsInCorePools(setup_.regular_pool_base_address_ - 1)); PA_DCHECK(IsInCorePools(setup_.regular_pool_base_address_)); PA_DCHECK( @@ -248,7 +248,7 @@ void PartitionAddressSpace::Init() { PA_DCHECK(IsInCorePools(setup_.brp_pool_base_address_)); PA_DCHECK(IsInCorePools(setup_.brp_pool_base_address_ + brp_pool_size - 1)); PA_DCHECK(!IsInCorePools(setup_.brp_pool_base_address_ + brp_pool_size)); -#endif // BUILDFLAG(GLUE_CORE_POOLS) +#endif // PA_BUILDFLAG(GLUE_CORE_POOLS) #if PA_CONFIG(STARSCAN_USE_CARD_TABLE) // Reserve memory for PCScan quarantine card table. @@ -280,9 +280,9 @@ void PartitionAddressSpace::Init() { brp_pool_shadow_address - setup_.brp_pool_base_address_; #endif -#if BUILDFLAG(ENABLE_POINTER_COMPRESSION) +#if PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) CompressedPointerBaseGlobal::SetBase(setup_.regular_pool_base_address_); -#endif // BUILDFLAG(ENABLE_POINTER_COMPRESSION) +#endif // PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) } void PartitionAddressSpace::InitConfigurablePool(uintptr_t pool_base, @@ -290,7 +290,7 @@ void PartitionAddressSpace::InitConfigurablePool(uintptr_t pool_base, // The ConfigurablePool must only be initialized once. PA_CHECK(!IsConfigurablePoolInitialized()); -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) // It's possible that the thread isolated pool has been initialized first, in // which case the setup_ memory has been made read-only. Remove the protection // temporarily. @@ -311,7 +311,7 @@ void PartitionAddressSpace::InitConfigurablePool(uintptr_t pool_base, AddressPoolManager::GetInstance().Add( kConfigurablePoolHandle, setup_.configurable_pool_base_address_, size); -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) // Put the metadata protection back in place. if (IsThreadIsolatedPoolInitialized()) { WriteProtectThreadIsolatedGlobals(setup_.thread_isolation_); @@ -319,7 +319,7 @@ void PartitionAddressSpace::InitConfigurablePool(uintptr_t pool_base, #endif } -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) void PartitionAddressSpace::InitThreadIsolatedPool( ThreadIsolationOption thread_isolation) { // The ThreadIsolated pool can't be initialized with conflicting settings. @@ -352,26 +352,26 @@ void PartitionAddressSpace::InitThreadIsolatedPool( PA_DCHECK(!IsInThreadIsolatedPool(setup_.thread_isolated_pool_base_address_ + pool_size)); - // TODO(1362969): support PA_ENABLE_SHADOW_METADATA + // TODO(crbug.com/40238514): support PA_ENABLE_SHADOW_METADATA } -#endif // BUILDFLAG(ENABLE_THREAD_ISOLATION) +#endif // PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) void PartitionAddressSpace::UninitForTesting() { -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) UninitThreadIsolatedPoolForTesting(); // IN-TEST #endif -#if BUILDFLAG(GLUE_CORE_POOLS) +#if PA_BUILDFLAG(GLUE_CORE_POOLS) // The core pools (regular & BRP) were allocated using a single allocation of // double size. FreePages(setup_.regular_pool_base_address_, 2 * RegularPoolSize()); -#else // BUILDFLAG(GLUE_CORE_POOLS) +#else // PA_BUILDFLAG(GLUE_CORE_POOLS) FreePages(setup_.regular_pool_base_address_, RegularPoolSize()); // For BRP pool, the allocation region includes a "forbidden zone" before the // pool. const size_t kForbiddenZoneSize = PageAllocationGranularity(); FreePages(setup_.brp_pool_base_address_ - kForbiddenZoneSize, BRPPoolSize() + kForbiddenZoneSize); -#endif // BUILDFLAG(GLUE_CORE_POOLS) +#endif // PA_BUILDFLAG(GLUE_CORE_POOLS) // Do not free pages for the configurable pool, because its memory is owned // by someone else, but deinitialize it nonetheless. setup_.regular_pool_base_address_ = kUninitializedPoolBaseAddress; @@ -379,13 +379,13 @@ void PartitionAddressSpace::UninitForTesting() { setup_.configurable_pool_base_address_ = kUninitializedPoolBaseAddress; setup_.configurable_pool_base_mask_ = 0; AddressPoolManager::GetInstance().ResetForTesting(); -#if BUILDFLAG(ENABLE_POINTER_COMPRESSION) +#if PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) CompressedPointerBaseGlobal::ResetBaseForTesting(); -#endif // BUILDFLAG(ENABLE_POINTER_COMPRESSION) +#endif // PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) } void PartitionAddressSpace::UninitConfigurablePoolForTesting() { -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) // It's possible that the thread isolated pool has been initialized first, in // which case the setup_ memory has been made read-only. Remove the protection // temporarily. @@ -396,7 +396,7 @@ void PartitionAddressSpace::UninitConfigurablePoolForTesting() { AddressPoolManager::GetInstance().Remove(kConfigurablePoolHandle); setup_.configurable_pool_base_address_ = kUninitializedPoolBaseAddress; setup_.configurable_pool_base_mask_ = 0; -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) // Put the metadata protection back in place. if (IsThreadIsolatedPoolInitialized()) { WriteProtectThreadIsolatedGlobals(setup_.thread_isolation_); @@ -404,11 +404,11 @@ void PartitionAddressSpace::UninitConfigurablePoolForTesting() { #endif } -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) void PartitionAddressSpace::UninitThreadIsolatedPoolForTesting() { if (IsThreadIsolatedPoolInitialized()) { UnprotectThreadIsolatedGlobals(); -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) ThreadIsolationSettings::settings.enabled = false; #endif @@ -427,6 +427,6 @@ PageCharacteristics page_characteristics; #endif -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) } // namespace partition_alloc::internal diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_address_space.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_address_space.h index 13cd614c70..eb31923fbc 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_address_space.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_address_space.h @@ -9,8 +9,8 @@ #include #include -#include "build/build_config.h" #include "partition_alloc/address_pool_manager_types.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/page_allocator_constants.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/component_export.h" @@ -22,12 +22,12 @@ #include "partition_alloc/partition_alloc_forward.h" #include "partition_alloc/thread_isolation/alignment.h" -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) #include "partition_alloc/thread_isolation/thread_isolation.h" #endif // The feature is not applicable to 32-bit address space. -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) namespace partition_alloc { @@ -63,19 +63,19 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionAddressSpace { PA_ALWAYS_INLINE static PoolInfo GetPoolInfo(uintptr_t address) { // When USE_BACKUP_REF_PTR is off, BRP pool isn't used. -#if !BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if !PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) PA_DCHECK(!IsInBRPPool(address)); #endif pool_handle pool = kNullPoolHandle; uintptr_t base = 0; uintptr_t base_mask = 0; -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) if (IsInBRPPool(address)) { pool = kBRPPoolHandle; base = setup_.brp_pool_base_address_; base_mask = BRPPoolBaseMask(); } else -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) if (IsInRegularPool(address)) { pool = kRegularPoolHandle; base = setup_.regular_pool_base_address_; @@ -85,7 +85,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionAddressSpace { pool = kConfigurablePoolHandle; base = setup_.configurable_pool_base_address_; base_mask = setup_.configurable_pool_base_mask_; -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) } else if (IsInThreadIsolatedPool(address)) { pool = kThreadIsolatedPoolHandle; base = setup_.thread_isolated_pool_base_address_; @@ -116,7 +116,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionAddressSpace { // // This function must only be called from the main thread. static void InitConfigurablePool(uintptr_t pool_base, size_t size); -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) static void InitThreadIsolatedPool(ThreadIsolationOption thread_isolation); static void UninitThreadIsolatedPoolForTesting(); #endif @@ -140,7 +140,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionAddressSpace { kUninitializedPoolBaseAddress; } -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) PA_ALWAYS_INLINE static bool IsThreadIsolatedPoolInitialized() { return setup_.thread_isolated_pool_base_address_ != kUninitializedPoolBaseAddress; @@ -172,7 +172,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionAddressSpace { return (address & brp_pool_base_mask) == setup_.brp_pool_base_address_; } -#if BUILDFLAG(GLUE_CORE_POOLS) +#if PA_BUILDFLAG(GLUE_CORE_POOLS) // Checks whether the address belongs to either regular or BRP pool. // Returns false for nullptr. PA_ALWAYS_INLINE static bool IsInCorePools(uintptr_t address) { @@ -198,7 +198,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionAddressSpace { return RegularPoolSize() * 2; } #endif // PA_CONFIG(DYNAMICALLY_SELECT_POOL_SIZE) -#endif // BUILDFLAG(GLUE_CORE_POOLS) +#endif // PA_BUILDFLAG(GLUE_CORE_POOLS) PA_ALWAYS_INLINE static uintptr_t OffsetInBRPPool(uintptr_t address) { PA_DCHECK(IsInBRPPool(address)); @@ -215,7 +215,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionAddressSpace { return setup_.configurable_pool_base_address_; } -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) // Returns false for nullptr. PA_ALWAYS_INLINE static bool IsInThreadIsolatedPool(uintptr_t address) { return (address & kThreadIsolatedPoolBaseMask) == @@ -230,7 +230,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionAddressSpace { } else if (pool == kBRPPoolHandle) { return brp_pool_shadow_offset_; } else { - // TODO(crbug.com/1362969): Add shadow for configurable pool as well. + // TODO(crbug.com/40238514): Add shadow for configurable pool as well. // Shadow is not created for ConfigurablePool for now, so this part should // be unreachable. PA_NOTREACHED(); @@ -258,7 +258,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionAddressSpace { } #endif // PA_CONFIG(DYNAMICALLY_SELECT_POOL_SIZE) -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) PA_ALWAYS_INLINE static constexpr size_t ThreadIsolatedPoolSize() { return kThreadIsolatedPoolSize; } @@ -287,7 +287,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionAddressSpace { static constexpr size_t kBRPPoolSize = kPoolMaxSize; static_assert(std::has_single_bit(kRegularPoolSize)); static_assert(std::has_single_bit(kBRPPoolSize)); -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) static constexpr size_t kThreadIsolatedPoolSize = kGiB / 4; static_assert(std::has_single_bit(kThreadIsolatedPoolSize)); #endif @@ -324,7 +324,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionAddressSpace { static constexpr uintptr_t kBRPPoolBaseMask = ~kBRPPoolOffsetMask; #endif // !PA_CONFIG(DYNAMICALLY_SELECT_POOL_SIZE) -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) static constexpr uintptr_t kThreadIsolatedPoolOffsetMask = static_cast(kThreadIsolatedPoolSize) - 1; static constexpr uintptr_t kThreadIsolatedPoolBaseMask = @@ -346,23 +346,23 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionAddressSpace { uintptr_t regular_pool_base_address_ = kUninitializedPoolBaseAddress; uintptr_t brp_pool_base_address_ = kUninitializedPoolBaseAddress; uintptr_t configurable_pool_base_address_ = kUninitializedPoolBaseAddress; -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) uintptr_t thread_isolated_pool_base_address_ = kUninitializedPoolBaseAddress; #endif #if PA_CONFIG(DYNAMICALLY_SELECT_POOL_SIZE) uintptr_t regular_pool_base_mask_ = 0; uintptr_t brp_pool_base_mask_ = 0; -#if BUILDFLAG(GLUE_CORE_POOLS) +#if PA_BUILDFLAG(GLUE_CORE_POOLS) uintptr_t core_pools_base_mask_ = 0; #endif #endif // PA_CONFIG(DYNAMICALLY_SELECT_POOL_SIZE) uintptr_t configurable_pool_base_mask_ = 0; -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) ThreadIsolationOption thread_isolation_; #endif }; -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) static_assert(sizeof(PoolSetup) % SystemPageSize() == 0, "PoolSetup has to fill a page(s)"); #else @@ -382,7 +382,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionAddressSpace { static std::ptrdiff_t brp_pool_shadow_offset_; #endif -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) // If we use thread isolation, we need to write-protect its metadata. // Allow the function to get access to the PoolSetup. friend void WriteProtectThreadIsolatedGlobals(ThreadIsolationOption); @@ -413,14 +413,14 @@ PA_ALWAYS_INLINE std::ptrdiff_t ShadowPoolOffset(pool_handle pool) { // Returns false for nullptr. PA_ALWAYS_INLINE bool IsManagedByPartitionAlloc(uintptr_t address) { // When ENABLE_BACKUP_REF_PTR_SUPPORT is off, BRP pool isn't used. -#if !BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if !PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) PA_DCHECK(!internal::PartitionAddressSpace::IsInBRPPool(address)); #endif return internal::PartitionAddressSpace::IsInRegularPool(address) -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) || internal::PartitionAddressSpace::IsInBRPPool(address) #endif -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) || internal::PartitionAddressSpace::IsInThreadIsolatedPool(address) #endif || internal::PartitionAddressSpace::IsInConfigurablePool(address); @@ -436,13 +436,13 @@ PA_ALWAYS_INLINE bool IsManagedByPartitionAllocBRPPool(uintptr_t address) { return internal::PartitionAddressSpace::IsInBRPPool(address); } -#if BUILDFLAG(GLUE_CORE_POOLS) +#if PA_BUILDFLAG(GLUE_CORE_POOLS) // Checks whether the address belongs to either regular or BRP pool. // Returns false for nullptr. PA_ALWAYS_INLINE bool IsManagedByPartitionAllocCorePools(uintptr_t address) { return internal::PartitionAddressSpace::IsInCorePools(address); } -#endif // BUILDFLAG(GLUE_CORE_POOLS) +#endif // PA_BUILDFLAG(GLUE_CORE_POOLS) // Returns false for nullptr. PA_ALWAYS_INLINE bool IsManagedByPartitionAllocConfigurablePool( @@ -450,7 +450,7 @@ PA_ALWAYS_INLINE bool IsManagedByPartitionAllocConfigurablePool( return internal::PartitionAddressSpace::IsInConfigurablePool(address); } -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) // Returns false for nullptr. PA_ALWAYS_INLINE bool IsManagedByPartitionAllocThreadIsolatedPool( uintptr_t address) { @@ -464,6 +464,6 @@ PA_ALWAYS_INLINE bool IsConfigurablePoolAvailable() { } // namespace partition_alloc -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) #endif // PARTITION_ALLOC_PARTITION_ADDRESS_SPACE_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc-inl.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc-inl.h index dd8eebabcc..a9bcb864cc 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc-inl.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc-inl.h @@ -8,7 +8,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/in_slot_metadata.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" @@ -33,7 +33,7 @@ namespace partition_alloc::internal { // MSVC only supports inline assembly on x86. This preprocessor directive // is intended to be a replacement for the same. // -// TODO(crbug.com/1351310): Make sure inlining doesn't degrade this into +// TODO(crbug.com/40234441): Make sure inlining doesn't degrade this into // a no-op or similar. The documentation doesn't say. #pragma optimize("", off) #endif @@ -51,7 +51,7 @@ PA_ALWAYS_INLINE void SecureMemset(void* ptr, uint8_t value, size_t size) { #pragma optimize("", on) #endif -#if BUILDFLAG(PA_EXPENSIVE_DCHECKS_ARE_ON) +#if PA_BUILDFLAG(PA_EXPENSIVE_DCHECKS_ARE_ON) // Used to memset() memory for debugging purposes only. PA_ALWAYS_INLINE void DebugMemset(void* ptr, int value, size_t size) { // Only set the first 512kiB of the allocation. This is enough to detect uses @@ -59,18 +59,18 @@ PA_ALWAYS_INLINE void DebugMemset(void* ptr, int value, size_t size) { // faster. Note that for direct-mapped allocations, memory is decomitted at // free() time, so freed memory usage cannot happen. -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) LiftThreadIsolationScope lift_thread_isolation_restrictions; #endif size_t size_to_memset = std::min(size, size_t{1} << 19); memset(ptr, value, size_to_memset); } -#endif // BUILDFLAG(PA_EXPENSIVE_DCHECKS_ARE_ON) +#endif // PA_BUILDFLAG(PA_EXPENSIVE_DCHECKS_ARE_ON) // Returns true if we've hit the end of a random-length period. We don't want to // invoke `RandomValue` too often, because we call this function in a hot spot // (`Free`), and `RandomValue` incurs the cost of atomics. -#if !BUILDFLAG(PA_DCHECK_IS_ON) +#if !PA_BUILDFLAG(PA_DCHECK_IS_ON) PA_ALWAYS_INLINE bool RandomPeriod() { static thread_local uint8_t counter = 0; if (PA_UNLIKELY(counter == 0)) { @@ -81,7 +81,7 @@ PA_ALWAYS_INLINE bool RandomPeriod() { counter--; return counter == 0; } -#endif // !BUILDFLAG(PA_DCHECK_IS_ON) +#endif // !PA_BUILDFLAG(PA_DCHECK_IS_ON) PA_ALWAYS_INLINE uintptr_t ObjectInnerPtr2Addr(const void* ptr) { return UntagPtr(ptr); diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc.cc index 358e91373c..18d9997ca3 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc.cc @@ -20,7 +20,7 @@ #include "partition_alloc/partition_root.h" #include "partition_alloc/partition_stats.h" -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) #include "partition_alloc/starscan/pcscan.h" #endif @@ -72,7 +72,7 @@ void PartitionAllocGlobalInit(OomFunction on_out_of_memory) { internal::MaxSystemPagesPerRegularSlotSpan() <= 16, "System pages per slot span must be no greater than 16."); -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) STATIC_ASSERT_OR_PA_CHECK( internal::GetInSlotMetadataIndexMultiplierShift() < std::numeric_limits::max() / 2, @@ -93,14 +93,14 @@ void PartitionAllocGlobalInit(OomFunction on_out_of_memory) { internal::SystemPageSize(), "InSlotMetadata table size must be smaller than or equal to " "<= SystemPageSize()."); -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) PA_DCHECK(on_out_of_memory); internal::g_oom_handling_function = on_out_of_memory; } void PartitionAllocGlobalUninitForTesting() { -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) internal::PartitionAddressSpace::UninitThreadIsolatedPoolForTesting(); #endif internal::g_oom_handling_function = nullptr; @@ -113,12 +113,12 @@ PartitionAllocator::~PartitionAllocator() { } void PartitionAllocator::init(PartitionOptions opts) { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) PA_CHECK(opts.thread_cache == PartitionOptions::kDisabled) << "Cannot use a thread cache when PartitionAlloc is malloc()."; #endif partition_root_.Init(opts); -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) // The MemoryReclaimer won't have write access to the partition, so skip // registration. const bool use_memory_reclaimer = !opts.thread_isolation.enabled; diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_allocation_data.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_allocation_data.h index 27cf44edea..afe38ae76e 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_allocation_data.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_allocation_data.h @@ -31,7 +31,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) AllocationNotificationData { // In the allocation observer path, it's interesting which reporting mode is // enabled. -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) AllocationNotificationData& SetMteReportingMode( TagViolationReportingMode mode) { mte_reporting_mode_ = mode; @@ -45,13 +45,13 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) AllocationNotificationData { constexpr TagViolationReportingMode mte_reporting_mode() const { return TagViolationReportingMode::kUndefined; } -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) private: void* address_ = nullptr; size_t size_ = 0; const char* type_name_ = nullptr; -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) TagViolationReportingMode mte_reporting_mode_ = TagViolationReportingMode::kUndefined; #endif @@ -66,7 +66,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) FreeNotificationData { // In the free observer path, it's interesting which reporting mode is // enabled. -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) FreeNotificationData& SetMteReportingMode(TagViolationReportingMode mode) { mte_reporting_mode_ = mode; return *this; @@ -79,14 +79,14 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) FreeNotificationData { constexpr TagViolationReportingMode mte_reporting_mode() const { return TagViolationReportingMode::kUndefined; } -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) private: void* address_ = nullptr; -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) TagViolationReportingMode mte_reporting_mode_ = TagViolationReportingMode::kUndefined; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) }; } // namespace partition_alloc diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/apple/foundation_util.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/apple/foundation_util.h index 3a4a921772..663863de0a 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/apple/foundation_util.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/apple/foundation_util.h @@ -11,14 +11,12 @@ namespace partition_alloc::internal::base::apple { -// CFCast<>() and CFCastStrict<>() cast a basic CFTypeRef to a more -// specific CoreFoundation type. The compatibility of the passed -// object is found by comparing its opaque type against the -// requested type identifier. If the supplied object is not -// compatible with the requested return type, CFCast<>() returns -// NULL and CFCastStrict<>() will DCHECK. Providing a NULL pointer -// to either variant results in NULL being returned without -// triggering any DCHECK. +// CFCast<>() and CFCastStrict<>() cast a basic CFTypeRef to a more specific +// CoreFoundation type. The compatibility of the passed object is found by +// comparing its opaque type against the requested type identifier. If the +// supplied object is not compatible with the requested return type, CFCast<>() +// returns null and CFCastStrict<>() will CHECK. Providing a null pointer to +// either variant results in null being returned without triggering any CHECK. // // Example usage: // CFNumberRef some_number = base::mac::CFCast( diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/apple/foundation_util.mm b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/apple/foundation_util.mm index 7bcafc3e9a..4cf23ddedc 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/apple/foundation_util.mm +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/apple/foundation_util.mm @@ -11,19 +11,19 @@ namespace partition_alloc::internal::base::apple { #define PA_CF_CAST_DEFN(TypeCF) \ template <> \ TypeCF##Ref CFCast(const CFTypeRef& cf_val) { \ - if (cf_val == NULL) { \ - return NULL; \ + if (cf_val == nullptr) { \ + return nullptr; \ } \ if (CFGetTypeID(cf_val) == TypeCF##GetTypeID()) { \ return (TypeCF##Ref)(cf_val); \ } \ - return NULL; \ + return nullptr; \ } \ \ template <> \ TypeCF##Ref CFCastStrict(const CFTypeRef& cf_val) { \ TypeCF##Ref rv = CFCast(cf_val); \ - PA_BASE_DCHECK(cf_val == NULL || rv); \ + PA_BASE_CHECK(cf_val == nullptr || rv); \ return rv; \ } diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/apple/mach_logging.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/apple/mach_logging.h index 4069517bf8..b3ff53ab14 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/apple/mach_logging.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/apple/mach_logging.h @@ -7,7 +7,7 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" #include "partition_alloc/partition_alloc_base/logging.h" @@ -47,7 +47,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC_BASE) MachLogMessage } // namespace partition_alloc::internal::logging -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) #define PA_MACH_DVLOG_IS_ON(verbose_level) PA_VLOG_IS_ON(verbose_level) #else #define PA_MACH_DVLOG_IS_ON(verbose_level) 0 @@ -91,9 +91,9 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC_BASE) MachLogMessage PA_LAZY_STREAM(PA_MACH_VLOG_STREAM(verbose_level, mach_err), \ PA_MACH_DVLOG_IS_ON(verbose_level) && (condition)) -#define PA_MACH_DCHECK(condition, mach_err) \ - PA_LAZY_STREAM(PA_MACH_LOG_STREAM(FATAL, mach_err), \ - BUILDFLAG(PA_DCHECK_IS_ON) && !(condition)) \ +#define PA_MACH_DCHECK(condition, mach_err) \ + PA_LAZY_STREAM(PA_MACH_LOG_STREAM(FATAL, mach_err), \ + PA_BUILDFLAG(PA_DCHECK_IS_ON) && !(condition)) \ << "Check failed: " #condition << ". " #endif // PARTITION_ALLOC_PARTITION_ALLOC_BASE_APPLE_MACH_LOGGING_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/check.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/check.cc index 9db9470e85..fc58894391 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/check.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/check.cc @@ -8,8 +8,8 @@ namespace partition_alloc::internal::logging { -// TODO(1151236): Make CheckError not to allocate memory. So we can use -// CHECK() inside PartitionAllocator when PartitionAllocator-Everywhere is +// TODO(crbug.com/40158212): Make CheckError not to allocate memory. So we can +// use CHECK() inside PartitionAllocator when PartitionAllocator-Everywhere is // enabled. (Also need to modify LogMessage). CheckError::CheckError(const char* file, diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/check.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/check.h index cc28f21f04..afb341a580 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/check.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/check.h @@ -145,7 +145,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC_BASE) NotImplemented #error "Debug builds are not expected to be optimized as official builds." #endif // defined(OFFICIAL_BUILD) && !defined(NDEBUG) -#if defined(OFFICIAL_BUILD) && !BUILDFLAG(PA_DCHECK_IS_ON) +#if defined(OFFICIAL_BUILD) && !PA_BUILDFLAG(PA_DCHECK_IS_ON) // Discard log strings to reduce code bloat. // @@ -185,7 +185,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC_BASE) NotImplemented #endif -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) #define PA_BASE_DCHECK(condition) \ PA_LAZY_CHECK_STREAM( \ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h index 0dccce5aa8..6a5a83179f 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h @@ -5,7 +5,7 @@ #ifndef PARTITION_ALLOC_PARTITION_ALLOC_BASE_COMPILER_SPECIFIC_H_ #define PARTITION_ALLOC_PARTITION_ALLOC_BASE_COMPILER_SPECIFIC_H_ -#include "build/build_config.h" +#include "partition_alloc/build_config.h" // A wrapper around `__has_cpp_attribute`. #if defined(__has_cpp_attribute) @@ -302,4 +302,16 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) { #define PA_LIFETIME_BOUND #endif +// Clang instrumentation may allocate, leading to reentrancy in the allocator, +// and crashes when generating a PGO profile. This attribute disables profiling +// for a function. +// +// See +// https://clang.llvm.org/docs/AttributeReference.html#no-profile-instrument-function +#if PA_HAS_CPP_ATTRIBUTE(gnu::no_profile_instrument_function) +#define PA_NOPROFILE [[gnu::no_profile_instrument_function]] +#else +#define PA_NOPROFILE +#endif + #endif // PARTITION_ALLOC_PARTITION_ALLOC_BASE_COMPILER_SPECIFIC_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/cpu.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/cpu.cc index f7777214a9..ff43808f7a 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/cpu.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/cpu.cc @@ -13,7 +13,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #if defined(ARCH_CPU_ARM_FAMILY) && \ (BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/cpu.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/cpu.h index 08a2da98f6..4801671989 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/cpu.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/cpu.h @@ -5,7 +5,7 @@ #ifndef PARTITION_ALLOC_PARTITION_ALLOC_BASE_CPU_H_ #define PARTITION_ALLOC_PARTITION_ALLOC_BASE_CPU_H_ -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" namespace partition_alloc::internal::base { diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace.cc index d221694570..5436ffdf7e 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace.cc @@ -6,7 +6,7 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/check.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/process/process_handle.h" @@ -19,7 +19,7 @@ extern "C" void* __libc_stack_end; namespace partition_alloc::internal::base::debug { namespace { -#if BUILDFLAG(PA_CAN_UNWIND_WITH_FRAME_POINTERS) +#if PA_BUILDFLAG(PA_CAN_UNWIND_WITH_FRAME_POINTERS) #if defined(__arm__) && defined(__GNUC__) && !defined(__clang__) // GCC and LLVM generate slightly different frames on ARM, see @@ -141,11 +141,11 @@ uintptr_t ScanStackForNextFrame(uintptr_t fp, uintptr_t stack_end) { return 0; } -#endif // BUILDFLAG(PA_CAN_UNWIND_WITH_FRAME_POINTERS) +#endif // PA_BUILDFLAG(PA_CAN_UNWIND_WITH_FRAME_POINTERS) } // namespace -#if BUILDFLAG(PA_CAN_UNWIND_WITH_FRAME_POINTERS) +#if PA_BUILDFLAG(PA_CAN_UNWIND_WITH_FRAME_POINTERS) // We force this function to be inlined into its callers (e.g. // TraceStackFramePointers()) in all build modes so we don't have to worry about @@ -199,7 +199,7 @@ PA_NOINLINE size_t TraceStackFramePointers(const void** out_trace, #endif // BUILDFLAG(CAN_UNWIND_WITH_FRAME_POINTERS) -#if BUILDFLAG(PA_CAN_UNWIND_WITH_FRAME_POINTERS) +#if PA_BUILDFLAG(PA_CAN_UNWIND_WITH_FRAME_POINTERS) uintptr_t GetStackEnd() { #if BUILDFLAG(IS_ANDROID) // Bionic reads proc/maps on every call to pthread_getattr_np() when called diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace.h index 6d1509e9b1..ce35d497eb 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace.h @@ -8,14 +8,14 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" namespace partition_alloc::internal::base::debug { // Returns end of the stack, or 0 if we couldn't get it. -#if BUILDFLAG(PA_CAN_UNWIND_WITH_FRAME_POINTERS) +#if PA_BUILDFLAG(PA_CAN_UNWIND_WITH_FRAME_POINTERS) PA_COMPONENT_EXPORT(PARTITION_ALLOC_BASE) uintptr_t GetStackEnd(); #endif @@ -37,7 +37,7 @@ void OutputStackTrace(unsigned index, uintptr_t offset); #endif -#if BUILDFLAG(PA_CAN_UNWIND_WITH_FRAME_POINTERS) +#if PA_BUILDFLAG(PA_CAN_UNWIND_WITH_FRAME_POINTERS) // For stack scanning to be efficient it's very important for the thread to // be started by Chrome. In that case we naturally terminate unwinding once @@ -67,7 +67,7 @@ size_t TraceStackFramePointers(const void** out_trace, size_t skip_initial, bool enable_scanning = kEnableScanningByDefault); -#endif // BUILDFLAG(PA_CAN_UNWIND_WITH_FRAME_POINTERS) +#endif // PA_BUILDFLAG(PA_CAN_UNWIND_WITH_FRAME_POINTERS) } // namespace partition_alloc::internal::base::debug diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_linux.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_linux.cc index f9dfe86682..dbe5f684f2 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_linux.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_linux.cc @@ -4,7 +4,7 @@ #include "partition_alloc/partition_alloc_base/debug/stack_trace.h" -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" namespace partition_alloc::internal::base::debug { @@ -13,7 +13,7 @@ size_t CollectStackTrace(const void** trace, size_t count) { // NOTE: This code MUST be async-signal safe (it's used by in-process // stack dumping signal handler). NO malloc or stdio is allowed here. -#if BUILDFLAG(PA_CAN_UNWIND_WITH_FRAME_POINTERS) +#if PA_BUILDFLAG(PA_CAN_UNWIND_WITH_FRAME_POINTERS) // Regarding Linux and Android, backtrace API internally invokes malloc(). // So the API is not available inside memory allocation. Instead try tracing // using frame pointers. diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_mac.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_mac.cc index 4fc9155c37..260e34cd03 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_mac.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_mac.cc @@ -4,7 +4,7 @@ #include "partition_alloc/partition_alloc_base/debug/stack_trace.h" -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" #include "partition_alloc/partition_alloc_base/numerics/safe_conversions.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/files/file_path.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/files/file_path.h index 23ce8cac7d..01cb0a6891 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/files/file_path.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/files/file_path.h @@ -106,7 +106,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" // Windows-style drive letter support and pathname separator characters can be diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/files/file_util.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/files/file_util.h index e823c2a61e..3f9c14637d 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/files/file_util.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/files/file_util.h @@ -12,7 +12,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" #if BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/fuchsia/fuchsia_logging.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/fuchsia/fuchsia_logging.h index 34097137dd..2108e69f7c 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/fuchsia/fuchsia_logging.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/fuchsia/fuchsia_logging.h @@ -8,7 +8,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" #include "partition_alloc/partition_alloc_base/logging.h" @@ -54,17 +54,17 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC_BASE) ZxLogMessage #define PA_ZX_DLOG(severity, zx_err) \ PA_LAZY_STREAM(PA_ZX_LOG_STREAM(severity, zx_err), PA_DLOG_IS_ON(severity)) -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) #define PA_ZX_DLOG_IF(severity, condition, zx_err) \ PA_LAZY_STREAM(PA_ZX_LOG_STREAM(severity, zx_err), \ PA_DLOG_IS_ON(severity) && (condition)) -#else // BUILDFLAG(PA_DCHECK_IS_ON) +#else // PA_BUILDFLAG(PA_DCHECK_IS_ON) #define PA_ZX_DLOG_IF(severity, condition, zx_err) PA_EAT_STREAM_PARAMETERS -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) -#define PA_ZX_DCHECK(condition, zx_err) \ - PA_LAZY_STREAM(PA_ZX_LOG_STREAM(DCHECK, zx_err), \ - BUILDFLAG(PA_DCHECK_IS_ON) && !(condition)) \ +#define PA_ZX_DCHECK(condition, zx_err) \ + PA_LAZY_STREAM(PA_ZX_LOG_STREAM(DCHECK, zx_err), \ + PA_BUILDFLAG(PA_DCHECK_IS_ON) && !(condition)) \ << "Check failed: " #condition << ". " #endif // PARTITION_ALLOC_PARTITION_ALLOC_BASE_FUCHSIA_FUCHSIA_LOGGING_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/immediate_crash.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/immediate_crash.h index 7996e90d56..7227629fd8 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/immediate_crash.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/immediate_crash.h @@ -5,7 +5,7 @@ #ifndef PARTITION_ALLOC_PARTITION_ALLOC_BASE_IMMEDIATE_CRASH_H_ #define PARTITION_ALLOC_PARTITION_ALLOC_BASE_IMMEDIATE_CRASH_H_ -#include "build/build_config.h" +#include "partition_alloc/build_config.h" // Crashes in the fastest possible way with no attempt at logging. // There are several constraints; see http://crbug.com/664209 for more context. @@ -43,7 +43,7 @@ #if defined(ARCH_CPU_X86_FAMILY) -// TODO(https://crbug.com/958675): In theory, it should be possible to use just +// TODO(crbug.com/40625592): In theory, it should be possible to use just // int3. However, there are a number of crashes with SIGILL as the exception // code, so it seems likely that there's a signal handler that allows execution // to continue after SIGTRAP. @@ -63,14 +63,14 @@ // as a 32 bit userspace app on arm64. There doesn't seem to be any way to // cause a SIGTRAP from userspace without using a syscall (which would be a // problem for sandboxing). -// TODO(https://crbug.com/958675): Remove bkpt from this sequence. +// TODO(crbug.com/40625592): Remove bkpt from this sequence. #define PA_TRAP_SEQUENCE1_() asm volatile("bkpt #0") #define PA_TRAP_SEQUENCE2_() asm volatile("udf #0") #elif defined(ARCH_CPU_ARM64) // This will always generate a SIGTRAP on arm64. -// TODO(https://crbug.com/958675): Remove brk from this sequence. +// TODO(crbug.com/40625592): Remove brk from this sequence. #define PA_TRAP_SEQUENCE1_() asm volatile("brk #0") #define PA_TRAP_SEQUENCE2_() asm volatile("hlt #0") diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/log_message.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/log_message.cc index 32e1478b62..db61a86c2b 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/log_message.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/log_message.cc @@ -4,8 +4,8 @@ #include "partition_alloc/partition_alloc_base/log_message.h" -// TODO(1151236): After finishing copying //base files to PA library, remove -// defined(BASE_CHECK_H_) from here. +// TODO(crbug.com/40158212): After finishing copying //base files to PA library, +// remove defined(BASE_CHECK_H_) from here. #if defined( \ BASE_ALLOCATOR_PARTITION_ALLOCATOR_SRC_PARTITION_ALLOC_PARTITION_ALLOC_BASE_CHECK_H_) || \ defined(BASE_CHECK_H_) || \ @@ -14,7 +14,7 @@ #error "log_message.h should not include check.h" #endif -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_base/debug/alias.h" #include "partition_alloc/partition_alloc_base/debug/stack_trace.h" @@ -63,13 +63,13 @@ LogMessageHandlerFunction g_log_message_handler = nullptr; } // namespace -#if BUILDFLAG(PA_DCHECK_IS_CONFIGURABLE) +#if PA_BUILDFLAG(PA_DCHECK_IS_CONFIGURABLE) // In DCHECK-enabled Chrome builds, allow the meaning of LOGGING_DCHECK to be // determined at run-time. We default it to ERROR, to avoid it triggering // crashes before the run-time has explicitly chosen the behaviour. PA_COMPONENT_EXPORT(PARTITION_ALLOC_BASE) logging::LogSeverity LOGGING_DCHECK = LOGGING_ERROR; -#endif // BUILDFLAG(PA_DCHECK_IS_CONFIGURABLE) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_CONFIGURABLE) // This is never instantiated, it's just used for EAT_STREAM_PARAMETERS to have // an object of the correct type on the LHS of the unused part of the ternary @@ -110,11 +110,11 @@ LogMessage::~LogMessage() { // Always use RawLog() if g_log_message_handler doesn't filter messages. RawLog(severity_, str_newline); - // TODO(1293552): Enable a stack trace on a fatal on fuchsia. + // TODO(crbug.com/40213558): Enable a stack trace on a fatal on fuchsia. #if !defined(OFFICIAL_BUILD) && (BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_WIN)) && \ !defined(__UCLIBC__) && !BUILDFLAG(IS_AIX) - // TODO(1293552): Show a stack trace on a fatal, unless a debugger is - // attached. + // TODO(crbug.com/40213558): Show a stack trace on a fatal, unless a debugger + // is attached. if (severity_ == LOGGING_FATAL) { constexpr size_t kMaxTracesOfLoggingFatal = 32u; const void* traces[kMaxTracesOfLoggingFatal]; @@ -137,7 +137,7 @@ void LogMessage::Init(const char* file, int line) { { // TODO(darin): It might be nice if the columns were fixed width. stream_ << '['; - // TODO(1151236): show process id, thread id, timestamp and so on + // TODO(crbug.com/40158212): show process id, thread id, timestamp and so on // if needed. if (severity_ >= 0) { stream_ << log_severity_name(severity_); diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/log_message.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/log_message.h index 896734efcc..24ebcdfe0c 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/log_message.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/log_message.h @@ -7,7 +7,7 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" #include "partition_alloc/partition_alloc_base/scoped_clear_last_error.h" @@ -41,7 +41,7 @@ constexpr LogSeverity LOGGING_NUM_SEVERITIES = 4; // LOGGING_DFATAL is LOGGING_FATAL in DCHECK-enabled builds, ERROR in normal // mode. -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) constexpr LogSeverity LOGGING_DFATAL = LOGGING_FATAL; #else constexpr LogSeverity LOGGING_DFATAL = LOGGING_ERROR; diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/logging.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/logging.cc index 239de2b62d..d360c884b6 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/logging.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/logging.cc @@ -4,8 +4,8 @@ #include "partition_alloc/partition_alloc_base/logging.h" -// TODO(1151236): After finishing copying //base files to PA library, remove -// defined(BASE_CHECK_H_) from here. +// TODO(crbug.com/40158212): After finishing copying //base files to PA library, +// remove defined(BASE_CHECK_H_) from here. #if defined( \ BASE_ALLOCATOR_PARTITION_ALLOCATOR_SRC_PARTITION_ALLOC_PARTITION_ALLOC_BASE_CHECK_H_) || \ defined(BASE_CHECK_H_) || \ @@ -14,13 +14,13 @@ #error "logging.h should not include check.h" #endif -#include "build/build_config.h" +#include + +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_base/debug/alias.h" #include "partition_alloc/partition_alloc_base/immediate_crash.h" -#include - #if BUILDFLAG(IS_WIN) #include diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/logging.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/logging.h index 0d9b07b47c..4708045745 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/logging.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/logging.h @@ -9,14 +9,14 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" #include "partition_alloc/partition_alloc_base/log_message.h" -// TODO(1151236): Need to update the description, because logging for PA -// standalone library was minimized. +// TODO(crbug.com/40158212): Need to update the description, because logging for +// PA standalone library was minimized. // // Optional message capabilities // ----------------------------- @@ -337,7 +337,7 @@ constexpr LogSeverity LOGGING_0 = LOGGING_ERROR; // Definitions for DLOG et al. -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) #define PA_DLOG_IS_ON(severity) PA_LOG_IS_ON(severity) #define PA_DLOG_IF(severity, condition) PA_LOG_IF(severity, condition) @@ -347,11 +347,11 @@ constexpr LogSeverity LOGGING_0 = LOGGING_ERROR; #define PA_DVPLOG_IF(verboselevel, condition) \ PA_VPLOG_IF(verboselevel, condition) -#else // BUILDFLAG(PA_DCHECK_IS_ON) +#else // PA_BUILDFLAG(PA_DCHECK_IS_ON) -// If !BUILDFLAG(PA_DCHECK_IS_ON), we want to avoid emitting any references to -// |condition| (which may reference a variable defined only if -// BUILDFLAG(PA_DCHECK_IS_ON)). Contrast this with DCHECK et al., which has +// If !PA_BUILDFLAG(PA_DCHECK_IS_ON), we want to avoid emitting any references +// to |condition| (which may reference a variable defined only if +// PA_BUILDFLAG(PA_DCHECK_IS_ON)). Contrast this with DCHECK et al., which has // different behavior. #define PA_DLOG_IS_ON(severity) false @@ -361,7 +361,7 @@ constexpr LogSeverity LOGGING_0 = LOGGING_ERROR; #define PA_DVLOG_IF(verboselevel, condition) PA_EAT_STREAM_PARAMETERS #define PA_DVPLOG_IF(verboselevel, condition) PA_EAT_STREAM_PARAMETERS -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) #define PA_DLOG(severity) \ PA_LAZY_STREAM(PA_LOG_STREAM(severity), PA_DLOG_IS_ON(severity)) @@ -375,11 +375,11 @@ constexpr LogSeverity LOGGING_0 = LOGGING_ERROR; // Definitions for DCHECK et al. -#if BUILDFLAG(PA_DCHECK_IS_CONFIGURABLE) +#if PA_BUILDFLAG(PA_DCHECK_IS_CONFIGURABLE) PA_COMPONENT_EXPORT(PARTITION_ALLOC_BASE) extern LogSeverity LOGGING_DCHECK; #else constexpr LogSeverity LOGGING_DCHECK = LOGGING_FATAL; -#endif // BUILDFLAG(PA_DCHECK_IS_CONFIGURABLE) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_CONFIGURABLE) // Redefine the standard assert to use our nice log files #undef assert diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/memory/ref_counted.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/memory/ref_counted.cc index ba9426eb5e..c31daac7d3 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/memory/ref_counted.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/memory/ref_counted.cc @@ -8,7 +8,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" namespace partition_alloc::internal::base::subtle { @@ -21,7 +21,7 @@ bool RefCountedThreadSafeBase::HasAtLeastOneRef() const { return !ref_count_.IsZero(); } -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) RefCountedThreadSafeBase::~RefCountedThreadSafeBase() { PA_BASE_DCHECK(in_dtor_) << "RefCountedThreadSafe object deleted without " "calling Release()"; diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/memory/ref_counted.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/memory/ref_counted.h index 0932f496ba..592c404467 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/memory/ref_counted.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/memory/ref_counted.h @@ -5,7 +5,7 @@ #ifndef PARTITION_ALLOC_PARTITION_ALLOC_BASE_MEMORY_REF_COUNTED_H_ #define PARTITION_ALLOC_PARTITION_ALLOC_BASE_MEMORY_REF_COUNTED_H_ -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/atomic_ref_count.h" #include "partition_alloc/partition_alloc_base/check.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" @@ -28,12 +28,12 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC_BASE) RefCountedThreadSafeBase { explicit constexpr RefCountedThreadSafeBase(StartRefCountFromZeroTag) {} explicit constexpr RefCountedThreadSafeBase(StartRefCountFromOneTag) : ref_count_(1) { -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) needs_adopt_ref_ = true; #endif } -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) ~RefCountedThreadSafeBase(); #else ~RefCountedThreadSafeBase() = default; @@ -59,14 +59,14 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC_BASE) RefCountedThreadSafeBase { friend scoped_refptr AdoptRef(U*); void Adopted() const { -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) PA_BASE_DCHECK(needs_adopt_ref_); needs_adopt_ref_ = false; #endif } PA_ALWAYS_INLINE void AddRefImpl() const { -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) PA_BASE_DCHECK(!in_dtor_); // This RefCounted object is created with non-zero reference count. // The first reference to such a object has to be made by AdoptRef or @@ -77,7 +77,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC_BASE) RefCountedThreadSafeBase { } PA_ALWAYS_INLINE void AddRefWithCheckImpl() const { -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) PA_BASE_DCHECK(!in_dtor_); // This RefCounted object is created with non-zero reference count. // The first reference to such a object has to be made by AdoptRef or @@ -88,12 +88,12 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC_BASE) RefCountedThreadSafeBase { } PA_ALWAYS_INLINE bool ReleaseImpl() const { -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) PA_BASE_DCHECK(!in_dtor_); PA_BASE_DCHECK(!ref_count_.IsZero()); #endif if (!ref_count_.Decrement()) { -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) in_dtor_ = true; #endif return true; @@ -102,7 +102,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC_BASE) RefCountedThreadSafeBase { } mutable AtomicRefCount ref_count_{0}; -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) mutable bool needs_adopt_ref_ = false; mutable bool in_dtor_ = false; #endif diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/native_library.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/native_library.h index 40416a45da..9244afda70 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/native_library.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/native_library.h @@ -10,7 +10,7 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_base/files/file_path.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/native_library_posix.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/native_library_posix.cc index 54611f9073..96c7ebe164 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/native_library_posix.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/native_library_posix.cc @@ -6,7 +6,7 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/check.h" #include "partition_alloc/partition_alloc_base/files/file_path.h" @@ -19,10 +19,10 @@ std::string NativeLibraryLoadError::ToString() const { NativeLibrary LoadNativeLibraryWithOptions(const FilePath& library_path, const NativeLibraryOptions& options, NativeLibraryLoadError* error) { - // TODO(1151236): Temporarily disable this ScopedBlockingCall. After making - // partition_alloc ScopedBlockingCall() to see the same blocking_observer_ - // in base's ScopedBlockingCall(), we will copy ScopedBlockingCall code and - // will enable this. + // TODO(crbug.com/40158212): Temporarily disable this ScopedBlockingCall. + // After making partition_alloc ScopedBlockingCall() to see the same + // blocking_observer_ in base's ScopedBlockingCall(), we will copy + // ScopedBlockingCall code and will enable this. // dlopen() opens the file off disk. // ScopedBlockingCall scoped_blocking_call(BlockingType::MAY_BLOCK); diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/no_destructor.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/no_destructor.h index 5bea83e22e..2daa62ceef 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/no_destructor.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/no_destructor.h @@ -122,9 +122,7 @@ class NoDestructor { new (storage_) T(std::forward(args)...); } - const T* get() const { - return const_cast(this)->storage(); - } + const T* get() const { return const_cast(this)->get(); } T* get() { return reinterpret_cast(storage_); } private: diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/numerics/safe_math_shared_impl.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/numerics/safe_math_shared_impl.h index 98aadd87d3..c9f76f5ff7 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/numerics/safe_math_shared_impl.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/numerics/safe_math_shared_impl.h @@ -14,7 +14,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/numerics/safe_conversions.h" #if BUILDFLAG(IS_ASMJS) diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/posix/eintr_wrapper.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/posix/eintr_wrapper.h index eb51cd2162..b40e1c1914 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/posix/eintr_wrapper.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/posix/eintr_wrapper.h @@ -17,7 +17,7 @@ #ifndef PARTITION_ALLOC_PARTITION_ALLOC_BASE_POSIX_EINTR_WRAPPER_H_ #define PARTITION_ALLOC_PARTITION_ALLOC_BASE_POSIX_EINTR_WRAPPER_H_ -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #if BUILDFLAG(IS_POSIX) #include diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/posix/safe_strerror.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/posix/safe_strerror.cc index 3a6dea48a6..a910431edb 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/posix/safe_strerror.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/posix/safe_strerror.cc @@ -8,7 +8,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" namespace partition_alloc::internal::base { diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/process/process_handle.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/process/process_handle.h index 565f08e94f..7426f290c5 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/process/process_handle.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/process/process_handle.h @@ -9,7 +9,7 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" #if BUILDFLAG(IS_WIN) diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util.h index b3b14aece4..c50765bc4c 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util.h @@ -8,7 +8,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" namespace partition_alloc { diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc index 357696f9e5..f128b65bf2 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc @@ -13,7 +13,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/check.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/files/file_util.h" @@ -21,7 +21,7 @@ #include "partition_alloc/partition_alloc_base/posix/eintr_wrapper.h" #if BUILDFLAG(IS_MAC) -// TODO(crbug.com/995996): Waiting for this header to appear in the iOS SDK. +// TODO(crbug.com/40641285): Waiting for this header to appear in the iOS SDK. // (See below.) #include #endif @@ -74,7 +74,7 @@ int GetUrandomFD() { namespace partition_alloc::internal::base { // NOTE: In an ideal future, all implementations of this function will just -// wrap BoringSSL's `RAND_bytes`. TODO(crbug.com/995996): Figure out the +// wrap BoringSSL's `RAND_bytes`. TODO(crbug.com/40641285): Figure out the // build/test/performance issues with dcheng's CL // (https://chromium-review.googlesource.com/c/chromium/src/+/1545096) and land // it or some form of it. @@ -97,7 +97,7 @@ void RandBytes(void* output, size_t output_length) { return; } #elif BUILDFLAG(IS_MAC) - // TODO(crbug.com/995996): Enable this on iOS too, when sys/random.h arrives + // TODO(crbug.com/40641285): Enable this on iOS too, when sys/random.h arrives // in its SDK. if (getentropy(output, output_length) == 0) { return; diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/scoped_clear_last_error.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/scoped_clear_last_error.h index 4e4ba0fc0c..986f46cf81 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/scoped_clear_last_error.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/scoped_clear_last_error.h @@ -7,7 +7,7 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" namespace partition_alloc::internal::base { diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/cstring_builder.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/cstring_builder.cc index 59225b6ebd..f7442c076a 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/cstring_builder.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/cstring_builder.cc @@ -4,7 +4,7 @@ #include "partition_alloc/partition_alloc_base/strings/cstring_builder.h" -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" #include "partition_alloc/partition_alloc_base/strings/safe_sprintf.h" @@ -16,7 +16,7 @@ #include #include -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) #include "partition_alloc/partition_alloc_base/check.h" #define PA_RAW_DCHECK PA_RAW_CHECK #else diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/cstring_builder.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/cstring_builder.h index c790986b5d..fbeff75282 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/cstring_builder.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/cstring_builder.h @@ -5,11 +5,11 @@ #ifndef PARTITION_ALLOC_PARTITION_ALLOC_BASE_STRINGS_CSTRING_BUILDER_H_ #define PARTITION_ALLOC_PARTITION_ALLOC_BASE_STRINGS_CSTRING_BUILDER_H_ -#include "build/build_config.h" -#include "partition_alloc/partition_alloc_base/component_export.h" - #include +#include "partition_alloc/build_config.h" +#include "partition_alloc/partition_alloc_base/component_export.h" + #if !BUILDFLAG(IS_WIN) #include #endif diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.cc index af551784d4..e0b99cb78f 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.cc @@ -9,7 +9,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #if !defined(NDEBUG) // In debug builds, we use RAW_CHECK() to print useful error messages, if diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.h index e8a1938903..478f255ca0 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.h @@ -9,7 +9,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #if BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) // For ssize_t diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/stringprintf.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/stringprintf.h index 60a2870f13..c8665a30c2 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/stringprintf.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/stringprintf.h @@ -8,7 +8,7 @@ #include // va_list #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/component_export.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/thread_annotations.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/thread_annotations.h index 980d86a54f..525beb3e6c 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/thread_annotations.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/thread_annotations.h @@ -37,7 +37,7 @@ #ifndef PARTITION_ALLOC_PARTITION_ALLOC_BASE_THREAD_ANNOTATIONS_H_ #define PARTITION_ALLOC_PARTITION_ALLOC_BASE_THREAD_ANNOTATIONS_H_ -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" #if defined(__clang__) @@ -246,7 +246,7 @@ inline T& ts_unchecked_read(T& v) PA_NO_THREAD_SAFETY_ANALYSIS { // The above is imported as-is from abseil-cpp. The following Chromium-specific // synonyms are added for Chromium concepts (SequenceChecker/ThreadChecker). -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) // Equivalent to PA_GUARDED_BY for SequenceChecker/ThreadChecker. Currently, #define PA_GUARDED_BY_CONTEXT(name) PA_GUARDED_BY(name) @@ -254,11 +254,11 @@ inline T& ts_unchecked_read(T& v) PA_NO_THREAD_SAFETY_ANALYSIS { // Equivalent to PA_EXCLUSIVE_LOCKS_REQUIRED for SequenceChecker/ThreadChecker. #define PA_VALID_CONTEXT_REQUIRED(name) PA_EXCLUSIVE_LOCKS_REQUIRED(name) -#else // BUILDFLAG(PA_DCHECK_IS_ON) +#else // PA_BUILDFLAG(PA_DCHECK_IS_ON) #define PA_GUARDED_BY_CONTEXT(name) #define PA_VALID_CONTEXT_REQUIRED(name) -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) #endif // PARTITION_ALLOC_PARTITION_ALLOC_BASE_THREAD_ANNOTATIONS_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread.h index ed8c9af4e1..d971d623cf 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread.h @@ -12,7 +12,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_base/threading/platform_thread_ref.h" #include "partition_alloc/partition_alloc_base/time/time.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_apple_for_testing.mm b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_apple_for_testing.mm index ee870a41b9..29cdddd99a 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_apple_for_testing.mm +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_apple_for_testing.mm @@ -13,7 +13,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/check.h" #include "partition_alloc/partition_alloc_base/threading/platform_thread_for_testing.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_for_testing.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_for_testing.h index 150a04049e..f6789a3c91 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_for_testing.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_for_testing.h @@ -12,7 +12,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/threading/platform_thread.h" namespace partition_alloc::internal::base { diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h index 91404a4379..c2b65b9972 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h @@ -5,7 +5,7 @@ #ifndef PARTITION_ALLOC_PARTITION_ALLOC_BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_ #define PARTITION_ALLOC_PARTITION_ALLOC_BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_ -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" namespace partition_alloc::internal::base::internal { diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix.cc index 0bef6890ef..e3999515e9 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix.cc @@ -13,7 +13,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" #include "partition_alloc/partition_alloc_base/logging.h" #include "partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h" @@ -95,7 +95,7 @@ PlatformThreadId PlatformThread::CurrentId() { g_is_main_thread = false; } } else { -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) if (g_thread_id != syscall(__NR_gettid)) { PA_RAW_LOG( FATAL, diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix_for_testing.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix_for_testing.cc index 86de89a3d2..d0bb1eb4bd 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix_for_testing.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix_for_testing.cc @@ -13,7 +13,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/check.h" #include "partition_alloc/partition_alloc_base/logging.h" #include "partition_alloc/partition_alloc_base/threading/platform_thread_for_testing.h" @@ -26,7 +26,7 @@ #include #endif -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && PA_BUILDFLAG(USE_STARSCAN) #include "partition_alloc/stack/stack.h" #include "partition_alloc/starscan/pcscan.h" #endif @@ -52,14 +52,14 @@ void* ThreadFunc(void* params) { delegate = thread_params->delegate; -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && PA_BUILDFLAG(USE_STARSCAN) StackTopRegistry::Get().NotifyThreadCreated(); #endif } delegate->ThreadMain(); -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && PA_BUILDFLAG(USE_STARSCAN) StackTopRegistry::Get().NotifyThreadDestroyed(); #endif diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_ref.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_ref.h index ee2d5e9e12..8c70071e9d 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_ref.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_ref.h @@ -12,7 +12,7 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" #if BUILDFLAG(IS_WIN) diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_win_for_testing.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_win_for_testing.cc index c8dd84c0fc..2ff6714862 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_win_for_testing.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_win_for_testing.cc @@ -6,14 +6,14 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/oom.h" #include "partition_alloc/partition_alloc_base/check.h" #include "partition_alloc/partition_alloc_base/debug/alias.h" #include "partition_alloc/partition_alloc_base/threading/platform_thread_for_testing.h" #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && PA_BUILDFLAG(USE_STARSCAN) #include "partition_alloc/stack/stack.h" #include "partition_alloc/starscan/pcscan.h" #endif @@ -63,7 +63,7 @@ DWORD __stdcall ThreadFunc(void* params) { GetCurrentProcess(), &platform_handle, 0, FALSE, DUPLICATE_SAME_ACCESS); -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && PA_BUILDFLAG(USE_STARSCAN) StackTopRegistry::Get().NotifyThreadCreated(); #endif @@ -75,7 +75,7 @@ DWORD __stdcall ThreadFunc(void* params) { delete thread_params; delegate->ThreadMain(); -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && PA_BUILDFLAG(USE_STARSCAN) StackTopRegistry::Get().NotifyThreadDestroyed(); #endif return 0; diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time.h index 3cf7b36530..9a332196c2 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time.h @@ -67,7 +67,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/chromeos_buildflags.h" #include "partition_alloc/partition_alloc_base/check.h" #include "partition_alloc/partition_alloc_base/component_export.h" @@ -128,7 +128,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC_BASE) TimeDelta { #if BUILDFLAG(IS_WIN) static TimeDelta FromQPCValue(LONGLONG qpc_value); - // TODO(crbug.com/989694): Avoid base::TimeDelta factory functions + // TODO(crbug.com/40638442): Avoid base::TimeDelta factory functions // based on absolute time static TimeDelta FromFileTime(FILETIME ft); static TimeDelta FromWinrtDateTime(ABI::Windows::Foundation::DateTime dt); @@ -158,7 +158,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC_BASE) TimeDelta { // large number that doesn't do this. TimeDelta math saturates at the end // points so adding to TimeDelta::Max() leaves the value unchanged. // Subtracting should leave the value unchanged but currently changes it - // TODO(https://crbug.com/869387). + // TODO(crbug.com/41405098). static constexpr TimeDelta Max(); // Returns the minimum time delta, which should be less than than any @@ -866,14 +866,14 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC_BASE) TimeTicks #endif // BUILDFLAG(IS_APPLE) -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(PA_IS_CHROMEOS_ASH) +#if BUILDFLAG(IS_ANDROID) || PA_BUILDFLAG(PA_IS_CHROMEOS_ASH) // Converts to TimeTicks the value obtained from SystemClock.uptimeMillis(). // Note: this conversion may be non-monotonic in relation to previously // obtained TimeTicks::Now() values because of the truncation (to // milliseconds) performed by uptimeMillis(). static TimeTicks FromUptimeMillis(int64_t uptime_millis_value); -#endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(PA_IS_CHROMEOS_ASH) +#endif // BUILDFLAG(IS_ANDROID) || PA_BUILDFLAG(PA_IS_CHROMEOS_ASH) #if BUILDFLAG(IS_ANDROID) // Converts to TimeTicks the value obtained from System.nanoTime(). This diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time_apple.mm b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time_apple.mm index ae0d745b82..a477408920 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time_apple.mm +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time_apple.mm @@ -19,7 +19,7 @@ #include #endif -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/check.h" #include "partition_alloc/partition_alloc_base/logging.h" #include "partition_alloc/partition_alloc_base/numerics/safe_conversions.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time_now_posix.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time_now_posix.cc index a5d2d00d10..e9db4efbcf 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time_now_posix.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time_now_posix.cc @@ -7,7 +7,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/time/time.h" #if BUILDFLAG(IS_ANDROID) && !defined(__LP64__) #include diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time_override.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time_override.h index 0eb18720e6..adff6be6a7 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time_override.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time_override.h @@ -7,7 +7,7 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_base/time/time.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time_win.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time_win.cc index 7572dd4d98..d3bba377cb 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time_win.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/time/time_win.cc @@ -41,7 +41,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/bit_cast.h" #include "partition_alloc/partition_alloc_base/check.h" #include "partition_alloc/partition_alloc_base/cpu.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_check.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_check.h index aa0131aa4e..3e8aa7b91d 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_check.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_check.h @@ -7,7 +7,7 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/page_allocator_constants.h" #include "partition_alloc/partition_alloc_base/check.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" @@ -25,7 +25,7 @@ // As a consequence: // - When PartitionAlloc is not malloc(), use the regular macros // - Otherwise, crash immediately. This provides worse error messages though. -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !PA_BASE_CHECK_WILL_STREAM() +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !PA_BASE_CHECK_WILL_STREAM() // For official build discard log strings to reduce binary bloat. // See base/check.h for implementation details. @@ -33,11 +33,11 @@ PA_UNLIKELY(!(condition)) ? PA_IMMEDIATE_CRASH() \ : PA_EAT_CHECK_STREAM_PARAMS() -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) #define PA_DCHECK(condition) PA_CHECK(condition) #else #define PA_DCHECK(condition) PA_EAT_CHECK_STREAM_PARAMS(!(condition)) -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) #define PA_PCHECK(condition) \ if (!(condition)) { \ @@ -47,25 +47,25 @@ } \ static_assert(true) -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) #define PA_DPCHECK(condition) PA_PCHECK(condition) #else #define PA_DPCHECK(condition) PA_EAT_CHECK_STREAM_PARAMS(!(condition)) -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) -#else // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && +#else // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && // !PA_BASE_CHECK_WILL_STREAM() #define PA_CHECK(condition) PA_BASE_CHECK(condition) #define PA_DCHECK(condition) PA_BASE_DCHECK(condition) #define PA_PCHECK(condition) PA_BASE_PCHECK(condition) #define PA_DPCHECK(condition) PA_BASE_DPCHECK(condition) -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && // !PA_BASE_CHECK_WILL_STREAM() // Expensive dchecks that run within *Scan. These checks are only enabled in // debug builds with dchecks enabled. #if !defined(NDEBUG) -#define PA_SCAN_DCHECK_IS_ON() BUILDFLAG(PA_DCHECK_IS_ON) +#define PA_SCAN_DCHECK_IS_ON() PA_BUILDFLAG(PA_DCHECK_IS_ON) #else #define PA_SCAN_DCHECK_IS_ON() 0 #endif diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h index 764764b84a..c217ea55fe 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h @@ -5,7 +5,7 @@ #ifndef PARTITION_ALLOC_PARTITION_ALLOC_CONFIG_H_ #define PARTITION_ALLOC_PARTITION_ALLOC_CONFIG_H_ -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" #include "partition_alloc/partition_alloc_buildflags.h" @@ -30,20 +30,20 @@ // Assert that the heuristic in partition_alloc.gni is accurate on supported // configurations. -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) static_assert(sizeof(void*) == 8, ""); #else static_assert(sizeof(void*) != 8, ""); #endif // PA_CONFIG(HAS_64_BITS_POINTERS) -#if BUILDFLAG(HAS_64_BIT_POINTERS) && \ +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) && \ (defined(__ARM_NEON) || defined(__ARM_NEON__)) && defined(__ARM_FP) #define PA_CONFIG_STARSCAN_NEON_SUPPORTED() 1 #else #define PA_CONFIG_STARSCAN_NEON_SUPPORTED() 0 #endif -#if BUILDFLAG(HAS_64_BIT_POINTERS) && BUILDFLAG(IS_IOS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) && BUILDFLAG(IS_IOS) // Allow PA to select an alternate pool size at run-time before initialization, // rather than using a single constexpr value. // @@ -54,9 +54,9 @@ static_assert(sizeof(void*) != 8, ""); #define PA_CONFIG_DYNAMICALLY_SELECT_POOL_SIZE() 1 #else #define PA_CONFIG_DYNAMICALLY_SELECT_POOL_SIZE() 0 -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) && BUILDFLAG(IS_IOS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) && BUILDFLAG(IS_IOS) -#if BUILDFLAG(HAS_64_BIT_POINTERS) && \ +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) && \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)) #include // TODO(bikineev): Enable for ChromeOS. @@ -64,10 +64,10 @@ static_assert(sizeof(void*) != 8, ""); (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)) #else #define PA_CONFIG_STARSCAN_UFFD_WRITE_PROTECTOR_SUPPORTED() 0 -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) && +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) && // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)) -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) // Use card table to avoid races for PCScan configuration without safepoints. // The card table provides the guaranteee that for a marked card the underling // super-page is fully initialized. @@ -75,7 +75,7 @@ static_assert(sizeof(void*) != 8, ""); #else // The card table is permanently disabled for 32-bit. #define PA_CONFIG_STARSCAN_USE_CARD_TABLE() 0 -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) // Use batched freeing when sweeping pages. This builds up a freelist in the // scanner thread and appends to the slot-span's freelist only once. @@ -107,7 +107,7 @@ static_assert(sizeof(void*) != 8, ""); // - On macOS, pthread_mutex_trylock() is fast by default starting with macOS // 10.14. Chromium targets an earlier version, so it cannot be known at // compile-time. So we use something different. -// TODO(https://crbug.com/1459032): macOS 10.15 is now required; switch to +// TODO(crbug.com/40274152): macOS 10.15 is now required; switch to // better locking. // - Otherwise, on POSIX we assume that a fast userspace pthread_mutex_trylock() // is available. @@ -133,7 +133,7 @@ static_assert(sizeof(void*) != 8, ""); // Too expensive for official builds, as it adds cache misses to all // allocations. On the other hand, we want wide metrics coverage to get // realistic profiles. -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !defined(OFFICIAL_BUILD) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !defined(OFFICIAL_BUILD) #define PA_CONFIG_THREAD_CACHE_ALLOC_STATS() 1 #else #define PA_CONFIG_THREAD_CACHE_ALLOC_STATS() 0 @@ -156,12 +156,12 @@ static_assert(sizeof(void*) != 8, ""); #define PA_CONFIG_HAS_FREELIST_SHADOW_ENTRY() 0 #endif -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) static_assert(sizeof(void*) == 8); #endif // Specifies whether allocation extras need to be added. -#if BUILDFLAG(PA_DCHECK_IS_ON) || BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) || PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) #define PA_CONFIG_EXTRAS_REQUIRED() 1 #else #define PA_CONFIG_EXTRAS_REQUIRED() 0 @@ -201,10 +201,11 @@ static_assert(sizeof(void*) == 8); // calling malloc() again. // // Limitations: -// - BUILDFLAG(PA_DCHECK_IS_ON) due to runtime cost +// - PA_BUILDFLAG(PA_DCHECK_IS_ON) due to runtime cost // - thread_local TLS to simplify the implementation // - Not on Android due to bot failures -#if BUILDFLAG(PA_DCHECK_IS_ON) && BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && \ +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) && \ + PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && \ PA_CONFIG(THREAD_LOCAL_TLS) && !BUILDFLAG(IS_ANDROID) #define PA_CONFIG_HAS_ALLOCATION_GUARD() 1 #else @@ -235,7 +236,7 @@ constexpr bool kUseLazyCommit = false; // PartitionAlloc uses PartitionRootEnumerator to acquire all // PartitionRoots at BeforeFork and to release at AfterFork. -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && PA_CONFIG(HAS_ATFORK_HANDLER) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && PA_CONFIG(HAS_ATFORK_HANDLER) #define PA_CONFIG_USE_PARTITION_ROOT_ENUMERATOR() 1 #else #define PA_CONFIG_USE_PARTITION_ROOT_ENUMERATOR() 0 @@ -245,16 +246,16 @@ constexpr bool kUseLazyCommit = false; // are on. However, don't do this if that would cause InSlotMetadata to grow // past the size that would fit in InSlotMetadataTable (see // partition_alloc_constants.h), which currently can happen only when DPD is on. -#define PA_CONFIG_IN_SLOT_METADATA_CHECK_COOKIE() \ - (!(BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) && \ - BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT)) && \ - (BUILDFLAG(PA_DCHECK_IS_ON) || \ - BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS))) +#define PA_CONFIG_IN_SLOT_METADATA_CHECK_COOKIE() \ + (!(PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) && \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT)) && \ + (PA_BUILDFLAG(PA_DCHECK_IS_ON) || \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS))) // Use available space in the reference count to store the initially requested // size from the application. This is used for debugging. #if !PA_CONFIG(IN_SLOT_METADATA_CHECK_COOKIE) && \ - !BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) + !PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) // Set to 1 when needed. #define PA_CONFIG_IN_SLOT_METADATA_STORE_REQUESTED_SIZE() 0 #else @@ -290,8 +291,8 @@ constexpr bool kUseLazyCommit = false; // metadatas are placed, and the real metadatas are set to read-only instead. // This feature is only enabled with 64-bit environment because pools work // differently with 32-bits pointers (see glossary). -#if BUILDFLAG(ENABLE_SHADOW_METADATA_FOR_64_BITS_POINTERS) && \ - BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(ENABLE_SHADOW_METADATA_FOR_64_BITS_POINTERS) && \ + PA_BUILDFLAG(HAS_64_BIT_POINTERS) #define PA_CONFIG_ENABLE_SHADOW_METADATA() 1 #else #define PA_CONFIG_ENABLE_SHADOW_METADATA() 0 @@ -308,23 +309,23 @@ constexpr bool kUseLazyCommit = false; // // The settings has MAYBE_ in the name, because the final decision to enable is // based on the operarting system version check done at run-time. -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) && BUILDFLAG(IS_MAC) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) && BUILDFLAG(IS_MAC) #define PA_CONFIG_MAYBE_ENABLE_MAC11_MALLOC_SIZE_HACK() 1 #else #define PA_CONFIG_MAYBE_ENABLE_MAC11_MALLOC_SIZE_HACK() 0 #endif -#if BUILDFLAG(ENABLE_POINTER_COMPRESSION) +#if PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) #if PA_CONFIG(DYNAMICALLY_SELECT_POOL_SIZE) #error "Dynamically selected pool size is currently not supported" #endif -#if BUILDFLAG(HAS_MEMORY_TAGGING) -// TODO(1376980): Address MTE once it's enabled. +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) +// TODO(crbug.com/40243421): Address MTE once it's enabled. #error "Compressed pointers don't support tag in the upper bits" #endif -#endif // BUILDFLAG(ENABLE_POINTER_COMPRESSION) +#endif // PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) // PA_CONFIG(IS_NONCLANG_MSVC): mimics the compound condition used by // Chromium's `//base/compiler_specific.h` to detect true (non-Clang) @@ -336,9 +337,9 @@ constexpr bool kUseLazyCommit = false; #endif // Set GN build override 'assert_cpp_20' to false to disable assertion. -#if BUILDFLAG(ASSERT_CPP_20) +#if PA_BUILDFLAG(ASSERT_CPP_20) static_assert(__cplusplus >= 202002L, "PartitionAlloc targets C++20 or higher."); -#endif // BUILDFLAG(ASSERT_CPP_20) +#endif // PA_BUILDFLAG(ASSERT_CPP_20) #endif // PARTITION_ALLOC_PARTITION_ALLOC_CONFIG_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h index 6f18dc3ff1..63652bcaf3 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h @@ -10,8 +10,8 @@ #include #include -#include "build/build_config.h" #include "partition_alloc/address_pool_manager_types.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/flags.h" #include "partition_alloc/page_allocator_constants.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" @@ -23,7 +23,7 @@ #include #endif -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) #include "partition_alloc/tagging.h" #endif @@ -286,13 +286,13 @@ enum pool_handle : unsigned { kRegularPoolHandle, kBRPPoolHandle, -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) kConfigurablePoolHandle, #endif // New pool_handles will be added here. -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) // The thread isolated pool must come last since we write-protect its entry in // the metadata tables, e.g. AddressPoolManager::aligned_pools_ kThreadIsolatedPoolHandle, @@ -314,19 +314,19 @@ constexpr size_t kNumPools = kMaxPoolHandle - 1; // // When pointer compression is enabled, we cannot use large pools (at most // 8GB for each of the glued pools). -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || \ - BUILDFLAG(ENABLE_POINTER_COMPRESSION) + PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) constexpr size_t kPoolMaxSize = 8 * kGiB; #else constexpr size_t kPoolMaxSize = 16 * kGiB; #endif -#else // BUILDFLAG(HAS_64_BIT_POINTERS) +#else // PA_BUILDFLAG(HAS_64_BIT_POINTERS) constexpr size_t kPoolMaxSize = 4 * kGiB; #endif constexpr size_t kMaxSuperPagesInPool = kPoolMaxSize / kSuperPageSize; -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) static_assert(kThreadIsolatedPoolHandle == kNumPools, "The thread isolated pool must come last since we write-protect " "its metadata."); @@ -338,7 +338,7 @@ static_assert(kThreadIsolatedPoolHandle == kNumPools, // of large areas which are less likely to benefit from MTE protection. constexpr size_t kMaxMemoryTaggingSize = 1024; -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) // Returns whether the tag of |object| overflowed, meaning the containing slot // needs to be moved to quarantine. PA_ALWAYS_INLINE bool HasOverflowTag(void* object) { @@ -348,7 +348,7 @@ PA_ALWAYS_INLINE bool HasOverflowTag(void* object) { "Overflow tag must be in tag bits"); return (reinterpret_cast(object) & kPtrTagMask) == kOverflowTag; } -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t NumPartitionPagesPerSuperPage() { @@ -359,7 +359,7 @@ PA_ALWAYS_INLINE constexpr size_t MaxSuperPagesInPool() { return kMaxSuperPagesInPool; } -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) // In 64-bit mode, the direct map allocation granularity is super page size, // because this is the reservation granularity of the pools. PA_ALWAYS_INLINE constexpr size_t DirectMapAllocationGranularity() { @@ -369,7 +369,7 @@ PA_ALWAYS_INLINE constexpr size_t DirectMapAllocationGranularity() { PA_ALWAYS_INLINE constexpr size_t DirectMapAllocationGranularityShift() { return kSuperPageShift; } -#else // BUILDFLAG(HAS_64_BIT_POINTERS) +#else // PA_BUILDFLAG(HAS_64_BIT_POINTERS) // In 32-bit mode, address space is space is a scarce resource. Use the system // allocation granularity, which is the lowest possible address space allocation // unit. However, don't go below partition page size, so that pool bitmaps @@ -383,7 +383,7 @@ PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t DirectMapAllocationGranularityShift() { return std::max(PageAllocationGranularityShift(), PartitionPageShift()); } -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t DirectMapAllocationGranularityOffsetMask() { @@ -470,7 +470,7 @@ constexpr size_t kBitsPerSizeT = sizeof(void*) * CHAR_BIT; // PurgeFlags::kDecommitEmptySlotSpans flag will eagerly decommit all entries // in the ring buffer, so with periodic purge enabled, this typically happens // every few seconds. -#if BUILDFLAG(USE_LARGE_EMPTY_SLOT_SPAN_RING) +#if PA_BUILDFLAG(USE_LARGE_EMPTY_SLOT_SPAN_RING) // USE_LARGE_EMPTY_SLOT_SPAN_RING results in two size. kMaxEmptyCacheIndexBits, // which is used when the renderer is in the foreground, and // kMinEmptyCacheIndexBits which is used when the renderer is in the background. diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.cc index f66e4da760..e2cf339121 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.cc @@ -9,8 +9,8 @@ #include #include -#include "build/build_config.h" #include "partition_alloc/address_pool_manager.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/freeslot_bitmap.h" #include "partition_alloc/freeslot_bitmap_constants.h" #include "partition_alloc/oom.h" @@ -38,7 +38,7 @@ #include "partition_alloc/reservation_offset_table.h" #include "partition_alloc/tagging.h" -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) #include "partition_alloc/starscan/pcscan.h" #endif @@ -73,7 +73,8 @@ PA_ALWAYS_INLINE uintptr_t ShadowMetadataStart(uintptr_t super_page, PA_IMMEDIATE_CRASH(); // Not required, kept as documentation. } -#if !BUILDFLAG(HAS_64_BIT_POINTERS) && BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if !PA_BUILDFLAG(HAS_64_BIT_POINTERS) && \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) // |start| has to be aligned to kSuperPageSize, but |end| doesn't. This means // that a partial super page is allowed at the end. Since the block list uses // kSuperPageSize granularity, a partial super page is considered blocked if @@ -92,8 +93,8 @@ bool AreAllowedSuperPagesForBRPPool(uintptr_t start, uintptr_t end) { } return true; } -#endif // !BUILDFLAG(HAS_64_BIT_POINTERS) && - // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // !PA_BUILDFLAG(HAS_64_BIT_POINTERS) && + // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) // Reserves |requested_size| worth of super pages from the specified pool. // If BRP pool is requested this function will honor BRP block list. @@ -122,7 +123,8 @@ uintptr_t ReserveMemoryFromPool(pool_handle pool, // In 32-bit mode, when allocating from BRP pool, verify that the requested // allocation honors the block list. Find a better address otherwise. -#if !BUILDFLAG(HAS_64_BIT_POINTERS) && BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if !PA_BUILDFLAG(HAS_64_BIT_POINTERS) && \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) if (pool == kBRPPoolHandle) { constexpr int kMaxRandomAddressTries = 10; for (int i = 0; i < kMaxRandomAddressTries; ++i) { @@ -171,10 +173,10 @@ uintptr_t ReserveMemoryFromPool(pool_handle pool, reserved_address = 0; } } -#endif // !BUILDFLAG(HAS_64_BIT_POINTERS) && - // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // !PA_BUILDFLAG(HAS_64_BIT_POINTERS) && + // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) -#if !BUILDFLAG(HAS_64_BIT_POINTERS) +#if !PA_BUILDFLAG(HAS_64_BIT_POINTERS) // Only mark the region as belonging to the pool after it has passed the // blocklist check in order to avoid a potential race with destructing a // raw_ptr object that points to non-PA memory in another thread. @@ -264,7 +266,7 @@ SlotSpanMetadata* PartitionDirectMap(PartitionRoot* root, const size_t reservation_size = PartitionRoot::GetDirectMapReservationSize( raw_size + padding_for_alignment); PA_DCHECK(reservation_size >= raw_size); -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) const size_t available_reservation_size = reservation_size - padding_for_alignment - PartitionRoot::GetDirectMapMetadataAndGuardPagesSize(); @@ -276,7 +278,7 @@ SlotSpanMetadata* PartitionDirectMap(PartitionRoot* root, { // Reserving memory from the pool is actually not a syscall on 64 bit // platforms. -#if !BUILDFLAG(HAS_64_BIT_POINTERS) +#if !PA_BUILDFLAG(HAS_64_BIT_POINTERS) ScopedSyscallTimer timer{root}; #endif reservation_start = ReserveMemoryFromPool(pool, 0, reservation_size); @@ -431,7 +433,7 @@ SlotSpanMetadata* PartitionDirectMap(PartitionRoot* root, { ScopedSyscallTimer timer{root}; -#if !BUILDFLAG(HAS_64_BIT_POINTERS) +#if !PA_BUILDFLAG(HAS_64_BIT_POINTERS) AddressPoolManager::GetInstance().MarkUnused(pool, reservation_start, reservation_size); #endif @@ -755,7 +757,7 @@ PartitionBucket::InitializeSuperPage(PartitionRoot* root, uintptr_t state_bitmap = super_page + PartitionPageSize() + (is_direct_mapped() ? 0 : ReservedFreeSlotBitmapSize()); -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) PA_DCHECK(SuperPageStateBitmapAddr(super_page) == state_bitmap); const size_t state_bitmap_reservation_size = root->IsQuarantineAllowed() ? ReservedStateBitmapSize() : 0; @@ -767,7 +769,7 @@ PartitionBucket::InitializeSuperPage(PartitionRoot* root, uintptr_t payload = state_bitmap + state_bitmap_reservation_size; #else uintptr_t payload = state_bitmap; -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) root->next_partition_page = payload; root->next_partition_page_end = root->next_super_page - PartitionPageSize(); @@ -860,7 +862,7 @@ PartitionBucket::InitializeSuperPage(PartitionRoot* root, // sure to register the super-page after it has been fully initialized. // Otherwise, the concurrent scanner may try to access |extent->root| which // could be not initialized yet. -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) if (root->IsQuarantineEnabled()) { { ScopedSyscallTimer timer{root}; @@ -871,9 +873,9 @@ PartitionBucket::InitializeSuperPage(PartitionRoot* root, } PCScan::RegisterNewSuperPage(root, super_page); } -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) -#if BUILDFLAG(USE_FREESLOT_BITMAP) +#if PA_BUILDFLAG(USE_FREESLOT_BITMAP) // Commit the pages for freeslot bitmap. if (!is_direct_mapped()) { uintptr_t freeslot_bitmap_addr = super_page + PartitionPageSize(); @@ -964,14 +966,14 @@ PartitionBucket::ProvisionMoreSlotsAndAllocOne(PartitionRoot* root, slot_span->num_unprovisioned_slots <= get_slots_per_span()); -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) const bool use_tagging = root->IsMemoryTaggingEnabled() && slot_size <= kMaxMemoryTaggingSize; if (PA_LIKELY(use_tagging)) { // Ensure the MTE-tag of the memory pointed by |return_slot| is unguessable. TagMemoryRangeRandomly(return_slot, slot_size); } -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) // Add all slots that fit within so far committed pages to the free list. PartitionFreelistEntry* prev_entry = nullptr; uintptr_t next_slot_end = next_slot + slot_size; @@ -981,7 +983,7 @@ PartitionBucket::ProvisionMoreSlotsAndAllocOne(PartitionRoot* root, while (next_slot_end <= commit_end) { void* next_slot_ptr; -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) if (PA_LIKELY(use_tagging)) { // Ensure the MTE-tag of the memory pointed by other provisioned slot is // unguessable. They will be returned to the app as is, and the MTE-tag @@ -991,7 +993,7 @@ PartitionBucket::ProvisionMoreSlotsAndAllocOne(PartitionRoot* root, // No MTE-tagging for larger slots, just cast. next_slot_ptr = reinterpret_cast(next_slot); } -#else // BUILDFLAG(HAS_MEMORY_TAGGING) +#else // PA_BUILDFLAG(HAS_MEMORY_TAGGING) next_slot_ptr = reinterpret_cast(next_slot); #endif @@ -1005,22 +1007,22 @@ PartitionBucket::ProvisionMoreSlotsAndAllocOne(PartitionRoot* root, PA_DCHECK(free_list_entries_added); freelist_dispatcher->SetNext(prev_entry, entry); } -#if BUILDFLAG(USE_FREESLOT_BITMAP) +#if PA_BUILDFLAG(USE_FREESLOT_BITMAP) FreeSlotBitmapMarkSlotAsFree(next_slot); #endif next_slot = next_slot_end; next_slot_end = next_slot + slot_size; prev_entry = entry; -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) free_list_entries_added++; #endif } -#if BUILDFLAG(USE_FREESLOT_BITMAP) +#if PA_BUILDFLAG(USE_FREESLOT_BITMAP) FreeSlotBitmapMarkSlotAsFree(return_slot); #endif -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) // The only provisioned slot not added to the free list is the one being // returned. PA_DCHECK(slots_to_provision == free_list_entries_added + 1); diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_bucket_lookup.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_bucket_lookup.h index 3b12a30495..b2643784ad 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_bucket_lookup.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_bucket_lookup.h @@ -44,11 +44,11 @@ constexpr size_t OrderSubIndexMask(uint8_t order) { (kNumBucketsPerOrderBits + 1); } -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) static_assert(kBitsPerSizeT == 64, ""); #else static_assert(kBitsPerSizeT == 32, ""); -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) // Orders range from 0 to `kBitsPerSizeT`, inclusive. inline constexpr uint8_t kNumOrders = kBitsPerSizeT + 1; diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_cookie.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_cookie.h index 9db2a3e666..be2ba0282e 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_cookie.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_cookie.h @@ -14,7 +14,7 @@ namespace partition_alloc::internal { static constexpr size_t kCookieSize = 16; // Cookie is enabled for debug builds. -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) inline constexpr unsigned char kCookieValue[kCookieSize] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xCA, 0xFE, 0xD0, 0x0D, @@ -42,7 +42,7 @@ PA_ALWAYS_INLINE void PartitionCookieCheckValue(unsigned char* address) {} PA_ALWAYS_INLINE void PartitionCookieWriteValue(unsigned char* cookie_ptr) {} -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) } // namespace partition_alloc::internal diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_dcheck_helper.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_dcheck_helper.cc index 0609571a93..f1f5a3555a 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_dcheck_helper.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_dcheck_helper.cc @@ -12,7 +12,7 @@ namespace partition_alloc::internal { -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) void DCheckIsValidSlotSpan(internal::SlotSpanMetadata* slot_span) { PartitionRoot* root = PartitionRoot::FromSlotSpanMetadata(slot_span); @@ -62,6 +62,6 @@ void DCheckRootLockOfSlotSpanIsAcquired(internal::SlotSpanMetadata* slot_span) { DCheckRootLockIsAcquired(PartitionRoot::FromSlotSpanMetadata(slot_span)); } -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) } // namespace partition_alloc::internal diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_dcheck_helper.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_dcheck_helper.h index ace5d32c67..dec2aa23c7 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_dcheck_helper.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_dcheck_helper.h @@ -14,7 +14,7 @@ namespace partition_alloc::internal { struct PartitionSuperPageExtentEntry; -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) // To allow these asserts to have empty bodies in no-DCHECK() builds, while // avoiding issues with circular includes. @@ -22,7 +22,7 @@ struct PartitionSuperPageExtentEntry; // Export symbol if dcheck-is-on. Because the body is not empty. #define PA_EXPORT_IF_DCHECK_IS_ON() PA_COMPONENT_EXPORT(PARTITION_ALLOC) -#else // BUILDFLAG(PA_DCHECK_IS_ON) +#else // PA_BUILDFLAG(PA_DCHECK_IS_ON) // The static_assert() eats follow-on semicolons. #define PA_EMPTY_BODY_IF_DCHECK_IS_OFF() \ @@ -31,7 +31,7 @@ struct PartitionSuperPageExtentEntry; // inline if dcheck-is-off so it's no overhead. #define PA_EXPORT_IF_DCHECK_IS_ON() PA_ALWAYS_INLINE -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) PA_EXPORT_IF_DCHECK_IS_ON() void DCheckIsValidSlotSpan(internal::SlotSpanMetadata* slot_span) diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_freelist_entry.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_freelist_entry.h index 889f6c3d02..244e52b252 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_freelist_entry.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_freelist_entry.h @@ -27,9 +27,9 @@ namespace partition_alloc::internal { // We are assessing an alternate implementation using an alternate // encoding (pool offsets). When build support is enabled, the // freelist implementation is determined at runtime. -#if BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#if PA_BUILDFLAG(USE_FREELIST_DISPATCHER) #include "partition_alloc/pool_offset_freelist.h" // IWYU pragma: export -#endif // BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#endif namespace partition_alloc::internal { @@ -37,32 +37,32 @@ namespace partition_alloc::internal { static_assert(kSmallestBucket >= sizeof(EncodedNextFreelistEntry), "Need enough space for freelist entries in the smallest slot"); -#if BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#if PA_BUILDFLAG(USE_FREELIST_DISPATCHER) static_assert(kSmallestBucket >= sizeof(PoolOffsetFreelistEntry), "Need enough space for freelist entries in the smallest slot"); -#endif // BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#endif enum class PartitionFreelistEncoding { kEncodedFreeList, kPoolOffsetFreeList, }; -#if BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#if PA_BUILDFLAG(USE_FREELIST_DISPATCHER) union PartitionFreelistEntry { EncodedNextFreelistEntry encoded_entry_; PoolOffsetFreelistEntry pool_offset_entry_; }; #else using PartitionFreelistEntry = EncodedNextFreelistEntry; -#endif // USE_FREELIST_POOL_OFFSETS +#endif // PA_BUILDFLAG(USE_FREELIST_DISPATCHER) -#if BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#if PA_BUILDFLAG(USE_FREELIST_DISPATCHER) static_assert(offsetof(PartitionFreelistEntry, encoded_entry_) == 0ull); static_assert(offsetof(PartitionFreelistEntry, pool_offset_entry_) == 0ull); -#endif // BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#endif struct PartitionFreelistDispatcher { -#if BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#if PA_BUILDFLAG(USE_FREELIST_DISPATCHER) static const PartitionFreelistDispatcher* Create( PartitionFreelistEncoding encoding); @@ -186,10 +186,10 @@ struct PartitionFreelistDispatcher { } ~PartitionFreelistDispatcher() = default; -#endif // BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#endif // PA_BUILDFLAG(USE_FREELIST_DISPATCHER) }; -#if BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#if PA_BUILDFLAG(USE_FREELIST_DISPATCHER) template struct PartitionFreelistDispatcherImpl : PartitionFreelistDispatcher { using Entry = @@ -312,7 +312,7 @@ PartitionFreelistDispatcher::Create(PartitionFreelistEncoding encoding) { } } } -#endif // USE_FREELIST_POOL_OFFSETS +#endif // PA_BUILDFLAG(USE_FREELIST_DISPATCHER) } // namespace partition_alloc::internal #endif // PARTITION_ALLOC_PARTITION_FREELIST_ENTRY_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_lock.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_lock.h index 3a9fc02f0f..d83fa6e1c7 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_lock.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_lock.h @@ -8,7 +8,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" #include "partition_alloc/partition_alloc_base/immediate_crash.h" @@ -24,8 +24,8 @@ class PA_LOCKABLE Lock { public: inline constexpr Lock(); void Acquire() PA_EXCLUSIVE_LOCK_FUNCTION() { -#if BUILDFLAG(PA_DCHECK_IS_ON) -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) LiftThreadIsolationScope lift_thread_isolation_restrictions; #endif @@ -65,8 +65,8 @@ class PA_LOCKABLE Lock { } void Release() PA_UNLOCK_FUNCTION() { -#if BUILDFLAG(PA_DCHECK_IS_ON) -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) LiftThreadIsolationScope lift_thread_isolation_restrictions; #endif owning_thread_ref_.store(base::PlatformThreadRef(), @@ -76,8 +76,8 @@ class PA_LOCKABLE Lock { } void AssertAcquired() const PA_ASSERT_EXCLUSIVE_LOCK() { lock_.AssertAcquired(); -#if BUILDFLAG(PA_DCHECK_IS_ON) -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) LiftThreadIsolationScope lift_thread_isolation_restrictions; #endif PA_DCHECK(owning_thread_ref_.load(std ::memory_order_acquire) == @@ -87,7 +87,7 @@ class PA_LOCKABLE Lock { void Reinit() PA_UNLOCK_FUNCTION() { lock_.AssertAcquired(); -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) owning_thread_ref_.store(base::PlatformThreadRef(), std::memory_order_release); #endif @@ -97,7 +97,7 @@ class PA_LOCKABLE Lock { private: SpinningMutex lock_; -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) // Should in theory be protected by |lock_|, but we need to read it to detect // recursive lock acquisition (and thus, the allocator becoming reentrant). std::atomic owning_thread_ref_ = diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_oom.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_oom.cc index 17f1d61bf9..4c2b82ddf5 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_oom.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_oom.cc @@ -4,7 +4,7 @@ #include "partition_alloc/partition_oom.h" -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/oom.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/debug/alias.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_oom.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_oom.h index 0af88dbedc..f37aeacefc 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_oom.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_oom.h @@ -10,7 +10,7 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/component_export.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_page.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_page.cc index 5ce9c652ef..76b37757bb 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_page.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_page.cc @@ -193,11 +193,11 @@ void SlotSpanMetadata::FreeSlowPath(size_t number_of_freed) { return; } -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) const PartitionFreelistDispatcher* freelist_dispatcher = PartitionRoot::FromSlotSpanMetadata(this)->get_freelist_dispatcher(); freelist_dispatcher->CheckFreeList(freelist_head, bucket->slot_size); -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) // If it's the current active slot span, change it. We bounce the slot span // to the empty list as a force towards defragmentation. @@ -234,7 +234,7 @@ void SlotSpanMetadata::Decommit(PartitionRoot* root) { slot_span_start, size_to_decommit, PageAccessibilityDisposition::kAllowKeepForPerf); -#if BUILDFLAG(USE_FREESLOT_BITMAP) +#if PA_BUILDFLAG(USE_FREESLOT_BITMAP) FreeSlotBitmapReset(slot_span_start, slot_span_start + size_to_decommit, bucket->slot_size); #endif @@ -317,37 +317,37 @@ void UnmapNow(uintptr_t reservation_start, size_t reservation_size, pool_handle pool) { PA_DCHECK(reservation_start && reservation_size > 0); -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) // When ENABLE_BACKUP_REF_PTR_SUPPORT is off, BRP pool isn't used. -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) if (pool == kBRPPoolHandle) { // In 32-bit mode, the beginning of a reservation may be excluded from the // BRP pool, so shift the pointer. Other pools don't have this logic. -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) PA_DCHECK(IsManagedByPartitionAllocBRPPool(reservation_start)); #else PA_DCHECK(IsManagedByPartitionAllocBRPPool( reservation_start + AddressPoolManagerBitmap::kBytesPer1BitOfBRPPoolBitmap * AddressPoolManagerBitmap::kGuardOffsetOfBRPPoolBitmap)); -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) } else -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) { const bool received_expected_pool_handle = pool == kRegularPoolHandle -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) || pool == kThreadIsolatedPoolHandle #endif -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) || (pool == kConfigurablePoolHandle && IsConfigurablePoolAvailable()) #endif ; PA_DCHECK(received_expected_pool_handle); // Non-BRP pools don't need adjustment that BRP needs in 32-bit mode. -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) PA_DCHECK(IsManagedByPartitionAllocThreadIsolatedPool(reservation_start) || IsManagedByPartitionAllocRegularPool(reservation_start) || IsManagedByPartitionAllocConfigurablePool(reservation_start)); @@ -356,7 +356,7 @@ void UnmapNow(uintptr_t reservation_start, IsManagedByPartitionAllocConfigurablePool(reservation_start)); #endif } -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) PA_DCHECK((reservation_start & kSuperPageOffsetMask) == 0); uintptr_t reservation_end = reservation_start + reservation_size; @@ -374,7 +374,7 @@ void UnmapNow(uintptr_t reservation_start, *offset_ptr++ = kOffsetTagNotAllocated; } -#if !BUILDFLAG(HAS_64_BIT_POINTERS) +#if !PA_BUILDFLAG(HAS_64_BIT_POINTERS) AddressPoolManager::GetInstance().MarkUnused(pool, reservation_start, reservation_size); #endif diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_page.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_page.h index dce26953bf..43230c3cf7 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_page.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_page.h @@ -7,9 +7,9 @@ #include -#include "build/build_config.h" #include "partition_alloc/address_pool_manager.h" #include "partition_alloc/address_pool_manager_types.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/freeslot_bitmap_constants.h" #include "partition_alloc/partition_address_space.h" #include "partition_alloc/partition_alloc_base/bits.h" @@ -28,17 +28,17 @@ #include "partition_alloc/partition_superpage_extent_entry.h" #include "partition_alloc/reservation_offset_table.h" -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) #include "partition_alloc/starscan/state_bitmap.h" #endif -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) #include "partition_alloc/tagging.h" #endif namespace partition_alloc::internal { -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) using AllocationStateMap = StateBitmap; #endif @@ -335,7 +335,7 @@ static_assert(sizeof(PartitionPageMetadata) == kPageMetadataSize, // Certain functions rely on PartitionPageMetadata being either SlotSpanMetadata // or SubsequentPageMetadata, and therefore freely casting between each other. -// TODO(https://crbug.com/1500662) Stop ignoring the -Winvalid-offsetof warning. +// TODO(crbug.com/40940915) Stop ignoring the -Winvalid-offsetof warning. #if defined(__clang__) #pragma clang diagnostic push #pragma clang diagnostic ignored "-Winvalid-offsetof" @@ -376,7 +376,7 @@ PA_ALWAYS_INLINE PartitionSuperPageExtentEntry* PartitionSuperPageToExtent( PartitionSuperPageToMetadataArea(super_page)); } -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) // Size that should be reserved for state bitmap (if present) inside a super // page. Elements of a super page are partition-page-aligned, hence the returned @@ -408,14 +408,14 @@ PA_ALWAYS_INLINE AllocationStateMap* SuperPageStateBitmap( SuperPageStateBitmapAddr(super_page)); } -#else // BUILDFLAG(USE_STARSCAN) +#else // PA_BUILDFLAG(USE_STARSCAN) PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t ReservedStateBitmapSize() { return 0ull; } -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) PA_ALWAYS_INLINE uintptr_t SuperPagePayloadStartOffset(bool is_managed_by_normal_buckets, @@ -481,7 +481,7 @@ PA_ALWAYS_INLINE PartitionPageMetadata* PartitionPageMetadata::FromAddr( uintptr_t address) { uintptr_t super_page = address & kSuperPageBaseMask; -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) PA_DCHECK(IsReservationStart(super_page)); DCheckIsWithInSuperPagePayload(address); #endif @@ -540,7 +540,7 @@ PA_ALWAYS_INLINE SlotSpanMetadata* SlotSpanMetadata::FromAddr( PA_DCHECK(page_metadata->is_valid); PA_DCHECK(!page_metadata->slot_span_metadata_offset); auto* slot_span = &page_metadata->slot_span_metadata; - // TODO(crbug.com/1257655): See if we can afford to make this a CHECK. + // TODO(crbug.com/40796496): See if we can afford to make this a CHECK. DCheckIsValidSlotSpan(slot_span); // For direct map, if |address| doesn't point within the first partition page, // |slot_span_metadata_offset| will be 0, |page_metadata| won't get shifted, @@ -556,11 +556,11 @@ PA_ALWAYS_INLINE SlotSpanMetadata* SlotSpanMetadata::FromAddr( PA_ALWAYS_INLINE SlotSpanMetadata* SlotSpanMetadata::FromSlotStart( uintptr_t slot_start) { auto* slot_span = FromAddr(slot_start); -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) // Checks that the pointer is a multiple of slot size. uintptr_t slot_span_start = ToSlotSpanStart(slot_span); PA_DCHECK(!((slot_start - slot_span_start) % slot_span->bucket->slot_size)); -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) return slot_span; } @@ -583,13 +583,13 @@ PA_ALWAYS_INLINE SlotSpanMetadata* SlotSpanMetadata::FromObject(void* object) { PA_ALWAYS_INLINE SlotSpanMetadata* SlotSpanMetadata::FromObjectInnerAddr( uintptr_t address) { auto* slot_span = FromAddr(address); -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) // Checks that the address is within the expected object boundaries. uintptr_t slot_span_start = ToSlotSpanStart(slot_span); uintptr_t shift_from_slot_start = (address - slot_span_start) % slot_span->bucket->slot_size; DCheckIsValidShiftFromSlotStart(slot_span, shift_from_slot_start); -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) return slot_span; } @@ -614,7 +614,7 @@ PA_ALWAYS_INLINE size_t SlotSpanMetadata::GetRawSize() const { PA_ALWAYS_INLINE void SlotSpanMetadata::SetFreelistHead( PartitionFreelistEntry* new_head) { -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) // |this| is in the metadata region, hence isn't MTE-tagged. Untag |new_head| // as well. uintptr_t new_head_untagged = UntagPtr(new_head); @@ -682,7 +682,7 @@ PA_ALWAYS_INLINE void SlotSpanMetadata::AppendFreeList( PartitionRoot* root, const PartitionFreelistDispatcher* freelist_dispatcher) PA_EXCLUSIVE_LOCKS_REQUIRED(PartitionRootLock(root)) { -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) DCheckRootLockIsAcquired(root); PA_DCHECK(!(freelist_dispatcher->GetNext(tail, bucket->slot_size))); PA_DCHECK(number_of_freed); @@ -775,7 +775,7 @@ PA_ALWAYS_INLINE void SlotSpanMetadata::Reset() { next_slot_span = nullptr; } -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) // Returns the state bitmap from an address within a normal-bucket super page. // It's the caller's responsibility to ensure that the bitmap exists. PA_ALWAYS_INLINE AllocationStateMap* StateBitmapFromAddr(uintptr_t address) { @@ -783,7 +783,7 @@ PA_ALWAYS_INLINE AllocationStateMap* StateBitmapFromAddr(uintptr_t address) { uintptr_t super_page = address & kSuperPageBaseMask; return SuperPageStateBitmap(super_page); } -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) // Iterates over all slot spans in a super-page. |Callback| must return true if // early return is needed. @@ -791,7 +791,7 @@ template void IterateSlotSpans(uintptr_t super_page, bool with_quarantine, Callback callback) { -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) PA_DCHECK(!(super_page % kSuperPageAlignment)); auto* extent_entry = PartitionSuperPageToExtent(super_page); DCheckRootLockIsAcquired(extent_entry->root); diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h index 1a48c117ae..8a99d537eb 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h @@ -5,13 +5,13 @@ #ifndef PARTITION_ALLOC_PARTITION_PAGE_CONSTANTS_H_ #define PARTITION_ALLOC_PARTITION_PAGE_CONSTANTS_H_ -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_constants.h" namespace partition_alloc::internal { -#if BUILDFLAG(HAS_64_BIT_POINTERS) && BUILDFLAG(IS_APPLE) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) && BUILDFLAG(IS_APPLE) // System page size is not a constant on Apple OSes, but is either 4 or 16kiB // (1 << 12 or 1 << 14), as checked in PartitionRoot::Init(). And // PartitionPageSize() is 4 times the OS page size. @@ -26,7 +26,7 @@ static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 14) / kSmallestBucket; // larger, so it doesn't have as many slots. static constexpr size_t kMaxSlotsPerSlotSpan = PartitionPageSize() / kSmallestBucket; -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) && BUILDFLAG(IS_APPLE) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) && BUILDFLAG(IS_APPLE) } // namespace partition_alloc::internal diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_root.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_root.cc index 95e8c2fbc0..418880c29c 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_root.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_root.cc @@ -6,7 +6,7 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/freeslot_bitmap.h" #include "partition_alloc/in_slot_metadata.h" #include "partition_alloc/oom.h" @@ -34,11 +34,11 @@ #include "partition_alloc/partition_alloc_base/mac/mac_util.h" #endif -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) #include "partition_alloc/starscan/pcscan.h" #endif -#if !BUILDFLAG(HAS_64_BIT_POINTERS) +#if !PA_BUILDFLAG(HAS_64_BIT_POINTERS) #include "partition_alloc/address_pool_manager_bitmap.h" #endif @@ -54,7 +54,7 @@ namespace partition_alloc::internal { -#if BUILDFLAG(RECORD_ALLOC_INFO) +#if PA_BUILDFLAG(RECORD_ALLOC_INFO) // Even if this is not hidden behind a BUILDFLAG, it should not use any memory // when recording is disabled, since it ends up in the .bss section. AllocInfo g_allocs = {}; @@ -63,9 +63,9 @@ void RecordAllocOrFree(uintptr_t addr, size_t size) { g_allocs.allocs[g_allocs.index.fetch_add(1, std::memory_order_relaxed) % kAllocInfoSize] = {addr, size}; } -#endif // BUILDFLAG(RECORD_ALLOC_INFO) +#endif // PA_BUILDFLAG(RECORD_ALLOC_INFO) -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) PtrPosWithinAlloc IsPtrWithinSameAlloc(uintptr_t orig_address, uintptr_t test_address, size_t type_size) { @@ -89,7 +89,7 @@ PtrPosWithinAlloc IsPtrWithinSameAlloc(uintptr_t orig_address, uintptr_t object_end = object_addr + root->GetSlotUsableSize(slot_span); if (test_address < object_addr || object_end < test_address) { return PtrPosWithinAlloc::kFarOOB; -#if BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) +#if PA_BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) } else if (object_end - type_size < test_address) { // Not even a single element of the type referenced by the pointer can fit // between the pointer and the end of the object. @@ -99,7 +99,7 @@ PtrPosWithinAlloc IsPtrWithinSameAlloc(uintptr_t orig_address, return PtrPosWithinAlloc::kInBounds; } } -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) } // namespace partition_alloc::internal @@ -201,7 +201,7 @@ class PartitionRootEnumerator { #endif // PA_USE_PARTITION_ROOT_ENUMERATOR -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) namespace { @@ -329,7 +329,7 @@ void PartitionAllocMallocHookOnAfterForkInChild() { } #endif // BUILDFLAG(IS_APPLE) -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) namespace internal { @@ -351,6 +351,7 @@ MinPurgeableSlotSize() { // // If `accounting_only` is set to true, no action is performed and the function // merely returns the number of bytes in the would-be discarded pages. +PA_NOPROFILE static size_t PartitionPurgeSlotSpan(PartitionRoot* root, internal::SlotSpanMetadata* slot_span, bool accounting_only) @@ -569,7 +570,7 @@ static size_t PartitionPurgeSlotSpan(PartitionRoot* root, num_provisioned_slots - slot_span->num_allocated_slots); } -#if BUILDFLAG(USE_FREESLOT_BITMAP) +#if PA_BUILDFLAG(USE_FREESLOT_BITMAP) FreeSlotBitmapReset(slot_span_start + (slot_size * num_provisioned_slots), end_addr, slot_size); #endif @@ -664,6 +665,7 @@ static size_t PartitionPurgeSlotSpan(PartitionRoot* root, return discardable_bytes; } +PA_NOPROFILE static void PartitionPurgeBucket(PartitionRoot* root, internal::PartitionBucket* bucket) PA_EXCLUSIVE_LOCKS_REQUIRED(internal::PartitionRootLock(root)) { @@ -768,15 +770,15 @@ static void PartitionDumpBucketStats(PartitionBucketMemoryStats* stats_out, } } -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) void DCheckIfManagedByPartitionAllocBRPPool(uintptr_t address) { PA_DCHECK(IsManagedByPartitionAllocBRPPool(address)); } #endif -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) void PartitionAllocThreadIsolationInit(ThreadIsolationOption thread_isolation) { -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) ThreadIsolationSettings::settings.enabled = true; #endif PartitionAddressSpace::InitThreadIsolatedPool(thread_isolation); @@ -784,7 +786,7 @@ void PartitionAllocThreadIsolationInit(ThreadIsolationOption thread_isolation) { // permissions to to globals afterwards. WriteProtectThreadIsolatedGlobals(thread_isolation); } -#endif // BUILDFLAG(ENABLE_THREAD_ISOLATION) +#endif // PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) } // namespace internal @@ -863,7 +865,7 @@ void PartitionRoot::DestructForTesting() { // this function on PartitionRoots without a thread cache. PA_CHECK(!settings.with_thread_cache); auto pool_handle = ChoosePool(); -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) // The pages managed by thread isolated pool will be free-ed at // UninitThreadIsolatedForTesting(). Don't invoke FreePages() for the pages. if (pool_handle == internal::kThreadIsolatedPoolHandle) { @@ -880,7 +882,7 @@ void PartitionRoot::DestructForTesting() { uintptr_t address = SuperPagesBeginFromExtent(curr); size_t size = internal::kSuperPageSize * curr->number_of_consecutive_super_pages; -#if !BUILDFLAG(HAS_64_BIT_POINTERS) +#if !PA_BUILDFLAG(HAS_64_BIT_POINTERS) internal::AddressPoolManager::GetInstance().MarkUnused(pool_handle, address, size); #endif @@ -914,7 +916,8 @@ void PartitionRoot::EnableMac11MallocSizeHackIfNeeded() { } #endif // PA_CONFIG(MAYBE_ENABLE_MAC11_MALLOC_SIZE_HACK) -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) && !BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) && \ + !PA_BUILDFLAG(HAS_64_BIT_POINTERS) namespace { std::atomic g_reserve_brp_guard_region_called; // An address constructed by repeating `kQuarantinedByte` shouldn't never point @@ -949,8 +952,8 @@ void ReserveBackupRefPtrGuardRegionIfNeeded() { } } } // namespace -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) && - // !BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) && + // !PA_BUILDFLAG(HAS_64_BIT_POINTERS) void PartitionRoot::Init(PartitionOptions opts) { { @@ -974,25 +977,26 @@ void PartitionRoot::Init(PartitionOptions opts) { return; } -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) // Reserve address space for PartitionAlloc. internal::PartitionAddressSpace::Init(); #endif -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) && !BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) && \ + !PA_BUILDFLAG(HAS_64_BIT_POINTERS) ReserveBackupRefPtrGuardRegionIfNeeded(); #endif -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) settings.use_cookie = true; #else static_assert(!Settings::use_cookie); -#endif // BUILDFLAG(PA_DCHECK_IS_ON) -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) settings.brp_enabled_ = opts.backup_ref_ptr == PartitionOptions::kEnabled; -#else // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#else // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) PA_CHECK(opts.backup_ref_ptr == PartitionOptions::kDisabled); -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) settings.use_configurable_pool = (opts.use_configurable_pool == PartitionOptions::kAllowed) && IsConfigurablePoolAvailable(); @@ -1003,18 +1007,21 @@ void PartitionRoot::Init(PartitionOptions opts) { settings.scheduler_loop_quarantine = opts.scheduler_loop_quarantine == PartitionOptions::kEnabled; if (settings.scheduler_loop_quarantine) { - scheduler_loop_quarantine_capacity_in_bytes = - opts.scheduler_loop_quarantine_capacity_in_bytes; - scheduler_loop_quarantine_root.SetCapacityInBytes( - opts.scheduler_loop_quarantine_capacity_in_bytes); + internal::LightweightQuarantineBranchConfig global_config = { + .lock_required = true, + .branch_capacity_in_bytes = + opts.scheduler_loop_quarantine_branch_capacity_in_bytes, + }; + scheduler_loop_quarantine_branch_capacity_in_bytes = + opts.scheduler_loop_quarantine_branch_capacity_in_bytes; scheduler_loop_quarantine.emplace( - scheduler_loop_quarantine_root.CreateBranch()); + scheduler_loop_quarantine_root.CreateBranch(global_config)); } else { // Deleting a running quarantine is not supported. PA_CHECK(!scheduler_loop_quarantine.has_value()); } -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) settings.memory_tagging_enabled_ = opts.memory_tagging.enabled == PartitionOptions::kEnabled; // Memory tagging is not supported in the configurable pool because MTE @@ -1027,24 +1034,24 @@ void PartitionRoot::Init(PartitionOptions opts) { settings.memory_tagging_reporting_mode_ = opts.memory_tagging.reporting_mode; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) settings.use_pool_offset_freelists = opts.use_pool_offset_freelists == PartitionOptions::kEnabled; // brp_enabled() is not supported in the configurable pool because // BRP requires objects to be in a different Pool. -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) PA_CHECK(!(settings.use_configurable_pool && brp_enabled())); #endif -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) // BRP and thread isolated mode use different pools, so they can't be // enabled at the same time. PA_CHECK(!opts.thread_isolation.enabled || opts.backup_ref_ptr == PartitionOptions::kDisabled); settings.thread_isolation = opts.thread_isolation; -#endif // BUILDFLAG(ENABLE_THREAD_ISOLATION) +#endif // PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) #if PA_CONFIG(EXTRAS_REQUIRED) settings.extras_size = 0; @@ -1053,7 +1060,7 @@ void PartitionRoot::Init(PartitionOptions opts) { settings.extras_size += internal::kPartitionCookieSizeAdjustment; } -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) if (brp_enabled()) { size_t in_slot_metadata_size = internal::AlignUpInSlotMetadataSizeForApple( @@ -1066,17 +1073,17 @@ void PartitionRoot::Init(PartitionOptions opts) { EnableMac11MallocSizeHackIfNeeded(); #endif } -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) #endif // PA_CONFIG(EXTRAS_REQUIRED) settings.quarantine_mode = -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) (opts.star_scan_quarantine == PartitionOptions::kDisallowed ? QuarantineMode::kAlwaysDisabled : QuarantineMode::kDisabledByDefault); #else QuarantineMode::kAlwaysDisabled; -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) // We mark the sentinel slot span as free to make sure it is skipped by our // logic to find a new active slot span. @@ -1127,11 +1134,11 @@ void PartitionRoot::Init(PartitionOptions opts) { } // Called without the lock, might allocate. -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) PartitionAllocMallocInitOnce(); #endif -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) if (settings.thread_isolation.enabled) { internal::PartitionAllocThreadIsolationInit(settings.thread_isolation); } @@ -1148,10 +1155,10 @@ PartitionRoot::PartitionRoot(PartitionOptions opts) } PartitionRoot::~PartitionRoot() { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) PA_CHECK(!settings.with_thread_cache) << "Must not destroy a partition with a thread cache"; -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) #if PA_CONFIG(USE_PARTITION_ROOT_ENUMERATOR) if (initialized) { @@ -1234,14 +1241,14 @@ bool PartitionRoot::TryReallocInPlaceForDirectMap( size_t available_reservation_size = current_reservation_size - extent->padding_for_alignment - PartitionRoot::GetDirectMapMetadataAndGuardPagesSize(); -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) uintptr_t reservation_start = slot_start & internal::kSuperPageBaseMask; PA_DCHECK(internal::IsReservationStart(reservation_start)); PA_DCHECK(slot_start + available_reservation_size == reservation_start + current_reservation_size - GetDirectMapMetadataAndGuardPagesSize() + internal::PartitionPageSize()); -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) PA_DCHECK(new_slot_size > internal::kMaxMemoryTaggingSize); if (new_slot_size == current_slot_size) { @@ -1266,7 +1273,7 @@ bool PartitionRoot::TryReallocInPlaceForDirectMap( // entries in the reservation offset table (for entire reservation_size // region) have been already initialized. -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) memset(reinterpret_cast(slot_start + current_slot_size), internal::kUninitializedByte, recommit_slot_size_growth); #endif @@ -1322,25 +1329,25 @@ bool PartitionRoot::TryReallocInPlaceForNormalBuckets( // memory as we're already using, so re-use the allocation after updating // statistics (and cookie, if present). if (slot_span->CanStoreRawSize()) { -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) && BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) && PA_BUILDFLAG(PA_DCHECK_IS_ON) internal::InSlotMetadata* old_ref_count = nullptr; if (PA_LIKELY(brp_enabled())) { old_ref_count = InSlotMetadataPointerFromSlotStartAndSize( slot_start, slot_span->bucket->slot_size); } -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) && - // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) && + // PA_BUILDFLAG(PA_DCHECK_IS_ON) size_t new_raw_size = AdjustSizeForExtrasAdd(new_size); slot_span->SetRawSize(new_raw_size); -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) && BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) && PA_BUILDFLAG(PA_DCHECK_IS_ON) if (PA_LIKELY(brp_enabled())) { internal::InSlotMetadata* new_ref_count = InSlotMetadataPointerFromSlotStartAndSize( slot_start, slot_span->bucket->slot_size); PA_DCHECK(new_ref_count == old_ref_count); } -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) && - // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) && + // PA_BUILDFLAG(PA_DCHECK_IS_ON) // Write a new trailing cookie only when it is possible to keep track // raw size (otherwise we wouldn't know where to look for it later). if (settings.use_cookie) { @@ -1365,7 +1372,7 @@ void PartitionRoot::PurgeMemory(int flags) { { ::partition_alloc::internal::ScopedGuard guard{ internal::PartitionRootLock(this)}; -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) // Avoid purging if there is PCScan task currently scheduled. Since pcscan // takes snapshot of all allocated pages, decommitting pages here (even // under the lock) is racy. @@ -1373,7 +1380,7 @@ void PartitionRoot::PurgeMemory(int flags) { if (PCScan::IsInProgress()) { return; } -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) if (flags & PurgeFlags::kDecommitEmptySlotSpans) { DecommitEmptySlotSpans(); @@ -1471,7 +1478,7 @@ void PartitionRoot::DumpStats(const char* partition_name, max_size_of_committed_pages.load(std::memory_order_relaxed); stats.total_allocated_bytes = total_size_of_allocated_bytes; stats.max_allocated_bytes = max_size_of_allocated_bytes; -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) stats.total_brp_quarantined_bytes = total_size_of_brp_quarantined_bytes.load(std::memory_order_relaxed); stats.total_brp_quarantined_count = @@ -1586,7 +1593,7 @@ void PartitionRoot::ResetForTesting(bool allow_leaks) { ::partition_alloc::internal::ScopedGuard guard{ internal::PartitionRootLock(this)}; -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) if (!allow_leaks) { unsigned num_allocated_slots = 0; for (Bucket& bucket : buckets) { @@ -1696,11 +1703,6 @@ ThreadCache* PartitionRoot::MaybeInitThreadCache() { return tcache; } -internal::LightweightQuarantineBranch -PartitionRoot::CreateSchedulerLoopQuarantineBranch(bool lock_required) { - return scheduler_loop_quarantine_root.CreateBranch(lock_required); -} - // static void PartitionRoot::SetStraightenLargerSlotSpanFreeListsMode( StraightenLargerSlotSpanFreeListsMode new_value) { @@ -1717,7 +1719,7 @@ void PartitionRoot::SetSortActiveSlotSpansEnabled(bool new_value) { sort_active_slot_spans_ = new_value; } -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) PA_NOINLINE void PartitionRoot::QuarantineForBrp( const SlotSpanMetadata* slot_span, void* object) { @@ -1729,7 +1731,7 @@ PA_NOINLINE void PartitionRoot::QuarantineForBrp( internal::SecureMemset(object, internal::kQuarantinedByte, usable_size); } } -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) // Explicitly define common template instantiations to reduce compile time. #define EXPORT_TEMPLATE \ @@ -1751,7 +1753,7 @@ EXPORT_TEMPLATE void* PartitionRoot::AlignedAlloc(size_t, size_t); #undef EXPORT_TEMPLATE -// TODO(https://crbug.com/1500662) Stop ignoring the -Winvalid-offsetof warning. +// TODO(crbug.com/40940915) Stop ignoring the -Winvalid-offsetof warning. #if defined(__clang__) #pragma clang diagnostic push #pragma clang diagnostic ignored "-Winvalid-offsetof" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_root.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_root.h index d431da3f24..7941d1c666 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_root.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_root.h @@ -39,9 +39,9 @@ #include #include -#include "build/build_config.h" #include "partition_alloc/address_pool_manager_types.h" #include "partition_alloc/allocation_guard.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/chromecast_buildflags.h" #include "partition_alloc/freeslot_bitmap.h" #include "partition_alloc/in_slot_metadata.h" @@ -78,7 +78,7 @@ #include "partition_alloc/thread_cache.h" #include "partition_alloc/thread_isolation/thread_isolation.h" -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) #include "partition_alloc/starscan/pcscan.h" #endif @@ -96,11 +96,11 @@ struct AllocInfo { } allocs[kAllocInfoSize] = {}; }; -#if BUILDFLAG(RECORD_ALLOC_INFO) +#if PA_BUILDFLAG(RECORD_ALLOC_INFO) extern AllocInfo g_allocs; void RecordAllocOrFree(uintptr_t addr, size_t size); -#endif // BUILDFLAG(RECORD_ALLOC_INFO) +#endif // PA_BUILDFLAG(RECORD_ALLOC_INFO) } // namespace partition_alloc::internal namespace partition_alloc { @@ -108,7 +108,7 @@ namespace partition_alloc { namespace internal { // Avoid including partition_address_space.h from this .h file, by moving the // call to IsManagedByPartitionAllocBRPPool into the .cc file. -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) PA_COMPONENT_EXPORT(PARTITION_ALLOC) void DCheckIfManagedByPartitionAllocBRPPool(uintptr_t address); #else @@ -173,7 +173,7 @@ struct PartitionOptions { AllowToggle use_configurable_pool = kDisallowed; EnableToggle scheduler_loop_quarantine = kDisabled; - size_t scheduler_loop_quarantine_capacity_in_bytes = 0; + size_t scheduler_loop_quarantine_branch_capacity_in_bytes = 0; EnableToggle zapping_by_free_flags = kDisabled; @@ -182,7 +182,7 @@ struct PartitionOptions { TagViolationReportingMode reporting_mode = TagViolationReportingMode::kUndefined; } memory_tagging; -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) ThreadIsolationOption thread_isolation; #endif @@ -210,7 +210,7 @@ struct PA_ALIGNAS(64) PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionRoot { using FreeListEntry = internal::PartitionFreelistEntry; using SuperPageExtentEntry = internal::PartitionSuperPageExtentEntry; using DirectMapExtent = internal::PartitionDirectMapExtent; -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) using PCScan = internal::PCScan; #endif @@ -250,28 +250,28 @@ struct PA_ALIGNAS(64) PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionRoot { bool with_thread_cache = false; -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) bool use_cookie = false; #else static constexpr bool use_cookie = false; -#endif // BUILDFLAG(PA_DCHECK_IS_ON) -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) bool brp_enabled_ = false; #if PA_CONFIG(MAYBE_ENABLE_MAC11_MALLOC_SIZE_HACK) bool mac11_malloc_size_hack_enabled_ = false; size_t mac11_malloc_size_hack_usable_size_ = 0; #endif // PA_CONFIG(MAYBE_ENABLE_MAC11_MALLOC_SIZE_HACK) size_t in_slot_metadata_size = 0; -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) bool use_configurable_pool = false; bool zapping_by_free_flags = false; bool scheduler_loop_quarantine = false; -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) bool memory_tagging_enabled_ = false; TagViolationReportingMode memory_tagging_reporting_mode_ = TagViolationReportingMode::kUndefined; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) ThreadIsolationOption thread_isolation; #endif @@ -326,7 +326,7 @@ struct PA_ALIGNAS(64) PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionRoot { // Atomic, because system calls can be made without the lock held. std::atomic syscall_count{}; std::atomic syscall_total_time_ns{}; -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) std::atomic total_size_of_brp_quarantined_bytes{0}; std::atomic total_count_of_brp_quarantined_slots{0}; std::atomic cumulative_size_of_brp_quarantined_bytes{0}; @@ -370,7 +370,7 @@ struct PA_ALIGNAS(64) PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionRoot { bool quarantine_always_for_testing = false; - size_t scheduler_loop_quarantine_capacity_in_bytes = 0; + size_t scheduler_loop_quarantine_branch_capacity_in_bytes = 0; internal::LightweightQuarantineRoot scheduler_loop_quarantine_root; // NoDestructor because we don't need to dequarantine objects as the root // associated with it is dying anyway. @@ -574,13 +574,13 @@ struct PA_ALIGNAS(64) PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionRoot { PA_ALWAYS_INLINE size_t AllocationCapacityFromRequestedSize(size_t size) const; -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) PA_ALWAYS_INLINE static internal::InSlotMetadata* InSlotMetadataPointerFromSlotStartAndSize(uintptr_t slot_start, size_t slot_size); PA_ALWAYS_INLINE internal::InSlotMetadata* InSlotMetadataPointerFromObjectForTesting(void* object) const; -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) PA_ALWAYS_INLINE bool IsMemoryTaggingEnabled() const; PA_ALWAYS_INLINE TagViolationReportingMode @@ -676,18 +676,18 @@ struct PA_ALIGNAS(64) PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionRoot { } internal::pool_handle ChoosePool() const { -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) if (settings.use_configurable_pool) { PA_DCHECK(IsConfigurablePoolAvailable()); return internal::kConfigurablePoolHandle; } #endif -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) if (settings.thread_isolation.enabled) { return internal::kThreadIsolatedPoolHandle; } #endif -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) if (PA_LIKELY(brp_enabled())) { return internal::kBRPPoolHandle; } else { @@ -695,7 +695,7 @@ struct PA_ALIGNAS(64) PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionRoot { } #else return internal::kRegularPoolHandle; -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) } PA_ALWAYS_INLINE bool IsQuarantineAllowed() const { @@ -710,7 +710,7 @@ struct PA_ALIGNAS(64) PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionRoot { if (PA_UNLIKELY(settings.quarantine_mode != QuarantineMode::kEnabled)) { return false; } -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) if (PA_UNLIKELY(quarantine_always_for_testing)) { return true; } @@ -724,7 +724,7 @@ struct PA_ALIGNAS(64) PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionRoot { return true; #else return true; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) } PA_ALWAYS_INLINE void SetQuarantineAlwaysForTesting(bool value) { @@ -839,9 +839,9 @@ struct PA_ALIGNAS(64) PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionRoot { // TODO(bartekn): Check that the result is indeed a slot start. } -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) bool brp_enabled() const { return settings.brp_enabled_; } -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) PA_ALWAYS_INLINE bool uses_configurable_pool() const { return settings.use_configurable_pool; @@ -896,12 +896,12 @@ struct PA_ALIGNAS(64) PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionRoot { } const internal::PartitionFreelistDispatcher* get_freelist_dispatcher() { -#if BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#if PA_BUILDFLAG(USE_FREELIST_DISPATCHER) if (settings.use_pool_offset_freelists) { return internal::PartitionFreelistDispatcher::Create( internal::PartitionFreelistEncoding::kPoolOffsetFreeList); } -#endif // USE_FREELIST_POOL_OFFSETS +#endif // PA_BUILDFLAG(USE_FREELIST_DISPATCHER) return internal::PartitionFreelistDispatcher::Create( internal::PartitionFreelistEncoding::kEncodedFreeList); } @@ -1027,9 +1027,8 @@ struct PA_ALIGNAS(64) PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionRoot { PA_ALWAYS_INLINE internal::LightweightQuarantineBranch& GetSchedulerLoopQuarantineBranch(); - - internal::LightweightQuarantineBranch CreateSchedulerLoopQuarantineBranch( - bool lock_required); + PA_ALWAYS_INLINE internal::LightweightQuarantineRoot& + GetSchedulerLoopQuarantineRoot(); PA_ALWAYS_INLINE AllocationNotificationData CreateAllocationNotificationData(void* object, @@ -1040,10 +1039,10 @@ struct PA_ALIGNAS(64) PA_COMPONENT_EXPORT(PARTITION_ALLOC) PartitionRoot { PA_ALWAYS_INLINE FreeNotificationData CreateFreeNotificationData(void* address) const; -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) PA_NOINLINE void QuarantineForBrp(const SlotSpanMetadata* slot_span, void* object); -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) #if PA_CONFIG(USE_PARTITION_ROOT_ENUMERATOR) static internal::Lock& GetEnumeratorLock(); @@ -1090,7 +1089,7 @@ class ScopedSyscallTimer { #endif }; -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) struct SlotAddressAndSize { uintptr_t slot_start; @@ -1100,13 +1099,13 @@ struct SlotAddressAndSize { PA_ALWAYS_INLINE SlotAddressAndSize PartitionAllocGetDirectMapSlotStartAndSizeInBRPPool(uintptr_t address) { PA_DCHECK(IsManagedByPartitionAllocBRPPool(address)); -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) // Use this variant of GetDirectMapReservationStart as it has better // performance. uintptr_t offset = OffsetInBRPPool(address); uintptr_t reservation_start = GetDirectMapReservationStart(address, kBRPPoolHandle, offset); -#else // BUILDFLAG(HAS_64_BIT_POINTERS) +#else // PA_BUILDFLAG(HAS_64_BIT_POINTERS) uintptr_t reservation_start = GetDirectMapReservationStart(address); #endif if (!reservation_start) { @@ -1124,7 +1123,7 @@ PartitionAllocGetDirectMapSlotStartAndSizeInBRPPool(uintptr_t address) { PA_DCHECK(!page_metadata->slot_span_metadata_offset); auto* slot_span = &page_metadata->slot_span_metadata; uintptr_t slot_start = SlotSpanMetadata::ToSlotSpanStart(slot_span); -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) auto* direct_map_metadata = PartitionDirectMapMetadata::FromSlotSpanMetadata(slot_span); size_t padding_for_alignment = @@ -1134,7 +1133,7 @@ PartitionAllocGetDirectMapSlotStartAndSizeInBRPPool(uintptr_t address) { PartitionPageSize()); PA_DCHECK(slot_start == reservation_start + PartitionPageSize() + padding_for_alignment); -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) return SlotAddressAndSize{.slot_start = slot_start, .size = slot_span->bucket->slot_size}; } @@ -1158,12 +1157,12 @@ PartitionAllocGetSlotStartAndSizeInBRPPool(uintptr_t address) { } auto* slot_span = SlotSpanMetadata::FromAddr(address); -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) auto* root = PartitionRoot::FromSlotSpanMetadata(slot_span); // Double check that in-slot metadata is indeed present. Currently that's the // case only when BRP is used. PA_DCHECK(root->brp_enabled()); -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) // Get the offset from the beginning of the slot span. uintptr_t slot_span_start = SlotSpanMetadata::ToSlotSpanStart(slot_span); @@ -1183,7 +1182,7 @@ enum class PtrPosWithinAlloc { // When BACKUP_REF_PTR_POISON_OOB_PTR is disabled, end-of-allocation pointers // are also considered in-bounds. kInBounds, -#if BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) +#if PA_BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) kAllocEnd, #endif kFarOOB @@ -1217,7 +1216,7 @@ PA_ALWAYS_INLINE void PartitionAllocFreeForRefCounting(uintptr_t slot_start) { ->IsAlive()); // Iterating over the entire slot can be really expensive. -#if BUILDFLAG(PA_EXPENSIVE_DCHECKS_ARE_ON) +#if PA_BUILDFLAG(PA_EXPENSIVE_DCHECKS_ARE_ON) auto hook = PartitionAllocHooks::GetQuarantineOverrideHook(); // If we have a hook the object segment is not necessarily filled // with |kQuarantinedByte|. @@ -1230,7 +1229,7 @@ PA_ALWAYS_INLINE void PartitionAllocFreeForRefCounting(uintptr_t slot_start) { } DebugMemset(SlotStartAddr2Ptr(slot_start), kFreedByte, slot_span->GetUtilizedSlotSize()); -#endif // BUILDFLAG(PA_EXPENSIVE_DCHECKS_ARE_ON) +#endif // PA_BUILDFLAG(PA_EXPENSIVE_DCHECKS_ARE_ON) root->total_size_of_brp_quarantined_bytes.fetch_sub( slot_span->GetSlotSizeForBookkeeping(), std::memory_order_relaxed); @@ -1239,7 +1238,7 @@ PA_ALWAYS_INLINE void PartitionAllocFreeForRefCounting(uintptr_t slot_start) { root->RawFreeWithThreadCache(slot_start, slot_span); } -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) } // namespace internal @@ -1275,7 +1274,7 @@ PartitionRoot::AllocFromBucket(Bucket* bucket, PA_DCHECK(*usable_size == GetSlotUsableSize(slot_span)); // If these DCHECKs fire, you probably corrupted memory. - // TODO(crbug.com/1257655): See if we can afford to make these CHECKs. + // TODO(crbug.com/40796496): See if we can afford to make these CHECKs. DCheckIsValidSlotSpan(slot_span); // All large allocations must go through the slow path to correctly update @@ -1298,7 +1297,7 @@ PartitionRoot::AllocFromBucket(Bucket* bucket, return 0; } PA_DCHECK(slot_span == SlotSpanMetadata::FromSlotStart(slot_start)); - // TODO(crbug.com/1257655): See if we can afford to make this a CHECK. + // TODO(crbug.com/40796496): See if we can afford to make this a CHECK. DCheckIsValidSlotSpan(slot_span); // For direct mapped allocations, |bucket| is the sentinel. PA_DCHECK((slot_span->bucket == bucket) || @@ -1311,7 +1310,7 @@ PartitionRoot::AllocFromBucket(Bucket* bucket, IncreaseTotalSizeOfAllocatedBytes( slot_start, slot_span->GetSlotSizeForBookkeeping(), raw_size); -#if BUILDFLAG(USE_FREESLOT_BITMAP) +#if PA_BUILDFLAG(USE_FREESLOT_BITMAP) if (!slot_span->bucket->is_direct_mapped()) { internal::FreeSlotBitmapMarkSlotAsUsed(slot_start); } @@ -1328,7 +1327,7 @@ AllocationNotificationData PartitionRoot::CreateAllocationNotificationData( AllocationNotificationData notification_data(object, size, type_name); if (IsMemoryTaggingEnabled()) { -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) notification_data.SetMteReportingMode(memory_tagging_reporting_mode()); #endif } @@ -1347,7 +1346,7 @@ FreeNotificationData PartitionRoot::CreateFreeNotificationData( CreateDefaultFreeNotificationData(address); if (IsMemoryTaggingEnabled()) { -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) notification_data.SetMteReportingMode(memory_tagging_reporting_mode()); #endif } @@ -1378,7 +1377,7 @@ PA_ALWAYS_INLINE bool PartitionRoot::FreeProlog(void* object, // A valid |root| might not be available if this function is called from // |FreeInUnknownRoot| and not deducible if object originates from // an override hook. - // TODO(crbug.com/1137393): See if we can make the root available more + // TODO(crbug.com/40152647): See if we can make the root available more // reliably or even make this function non-static. auto notification_data = root ? root->CreateFreeNotificationData(object) : CreateDefaultFreeNotificationData(object); @@ -1392,20 +1391,20 @@ PA_ALWAYS_INLINE bool PartitionRoot::FreeProlog(void* object, } PA_ALWAYS_INLINE bool PartitionRoot::IsMemoryTaggingEnabled() const { -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) return settings.memory_tagging_enabled_; #else return false; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) } PA_ALWAYS_INLINE TagViolationReportingMode PartitionRoot::memory_tagging_reporting_mode() const { -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) return settings.memory_tagging_reporting_mode_; #else return TagViolationReportingMode::kUndefined; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) } // static @@ -1462,8 +1461,8 @@ PA_ALWAYS_INLINE void PartitionRoot::FreeInline(void* object) { // // On Android Chromecast devices, this is already checked in PartitionFree() // in the shim. -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && \ - (BUILDFLAG(IS_ANDROID) && !BUILDFLAG(PA_IS_CAST_ANDROID)) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && \ + (BUILDFLAG(IS_ANDROID) && !PA_BUILDFLAG(PA_IS_CAST_ANDROID)) uintptr_t object_addr = internal::ObjectPtr2Addr(object); PA_CHECK(IsManagedByPartitionAlloc(object_addr)); #endif @@ -1471,7 +1470,7 @@ PA_ALWAYS_INLINE void PartitionRoot::FreeInline(void* object) { SlotSpanMetadata* slot_span = SlotSpanMetadata::FromObject(object); PA_DCHECK(PartitionRoot::FromSlotSpanMetadata(slot_span) == this); -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) if (PA_LIKELY(IsMemoryTaggingEnabled())) { const size_t slot_size = slot_span->bucket->slot_size; if (PA_LIKELY(slot_size <= internal::kMaxMemoryTaggingSize)) { @@ -1484,11 +1483,11 @@ PA_ALWAYS_INLINE void PartitionRoot::FreeInline(void* object) { object = TaggedSlotStartToObject(retagged_slot_start); } } -#else // BUILDFLAG(HAS_MEMORY_TAGGING) +#else // PA_BUILDFLAG(HAS_MEMORY_TAGGING) // We are going to read from |*slot_span| in all branches, but haven't done it // yet. // - // TODO(crbug.com/1207307): It would be much better to avoid touching + // TODO(crbug.com/40181250): It would be much better to avoid touching // |*slot_span| at all on the fast path, or at least to separate its read-only // parts (i.e. bucket pointer) from the rest. Indeed, every thread cache miss // (or batch fill) will *write* to |slot_span->freelist_head|, leading to @@ -1497,7 +1496,7 @@ PA_ALWAYS_INLINE void PartitionRoot::FreeInline(void* object) { // Don't do it when memory tagging is enabled, as |*slot_span| has already // been touched above. PA_PREFETCH(slot_span); -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) uintptr_t slot_start = ObjectToSlotStart(object); PA_DCHECK(slot_span == SlotSpanMetadata::FromSlotStart(slot_start)); @@ -1509,13 +1508,13 @@ PA_ALWAYS_INLINE void PartitionRoot::FreeInline(void* object) { GetSlotUsableSize(slot_span)); } } - // TODO(https://crbug.com/1497380): Collecting objects for + // TODO(crbug.com/40287058): Collecting objects for // `kSchedulerLoopQuarantineBranch` here means it "delays" other checks (BRP // refcount, cookie, etc.) // For better debuggability, we should do these checks before quarantining. if constexpr (ContainsFlags(flags, FreeFlags::kSchedulerLoopQuarantine)) { if (settings.scheduler_loop_quarantine) { -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) // TODO(keishi): Add PA_LIKELY when brp is fully enabled as |brp_enabled| // will be false only for the aligned partition. if (brp_enabled()) { @@ -1523,14 +1522,14 @@ PA_ALWAYS_INLINE void PartitionRoot::FreeInline(void* object) { slot_start, slot_span->bucket->slot_size); ref_count->PreReleaseFromAllocator(); } -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) GetSchedulerLoopQuarantineBranch().Quarantine(object, slot_span, slot_start); return; } } -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) // TODO(bikineev): Change the condition to PA_LIKELY once PCScan is enabled by // default. if (PA_UNLIKELY(ShouldQuarantine(object))) { @@ -1542,7 +1541,7 @@ PA_ALWAYS_INLINE void PartitionRoot::FreeInline(void* object) { return; } } -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) FreeNoHooksImmediate(object, slot_span, slot_start); } @@ -1586,7 +1585,7 @@ PA_ALWAYS_INLINE void PartitionRoot::FreeNoHooksImmediate( GetSlotUsableSize(slot_span)); } -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) // TODO(bikineev): Change the condition to PA_LIKELY once PCScan is enabled by // default. if (PA_UNLIKELY(IsQuarantineEnabled())) { @@ -1595,9 +1594,9 @@ PA_ALWAYS_INLINE void PartitionRoot::FreeNoHooksImmediate( internal::StateBitmapFromAddr(slot_start)->Free(slot_start); } } -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) if (PA_LIKELY(brp_enabled())) { auto* ref_count = InSlotMetadataPointerFromSlotStartAndSize( slot_start, slot_span->bucket->slot_size); @@ -1620,10 +1619,10 @@ PA_ALWAYS_INLINE void PartitionRoot::FreeNoHooksImmediate( return; } } -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) // memset() can be really expensive. -#if BUILDFLAG(PA_EXPENSIVE_DCHECKS_ARE_ON) +#if PA_BUILDFLAG(PA_EXPENSIVE_DCHECKS_ARE_ON) internal::DebugMemset(internal::SlotStartAddr2Ptr(slot_start), internal::kFreedByte, slot_span->GetUtilizedSlotSize()); #elif PA_CONFIG(ZERO_RANDOMLY_ON_FREE) @@ -1644,7 +1643,7 @@ PA_ALWAYS_INLINE void PartitionRoot::FreeInSlotSpan( SlotSpanMetadata* slot_span) { DecreaseTotalSizeOfAllocatedBytes(slot_start, slot_span->GetSlotSizeForBookkeeping()); -#if BUILDFLAG(USE_FREESLOT_BITMAP) +#if PA_BUILDFLAG(USE_FREESLOT_BITMAP) if (!slot_span->bucket->is_direct_mapped()) { internal::FreeSlotBitmapMarkSlotAsFree(slot_start); } @@ -1663,7 +1662,7 @@ PA_ALWAYS_INLINE void PartitionRoot::RawFree(uintptr_t slot_start) { // MSVC only supports inline assembly on x86. This preprocessor directive // is intended to be a replacement for the same. // -// TODO(crbug.com/1351310): Make sure inlining doesn't degrade this into +// TODO(crbug.com/40234441): Make sure inlining doesn't degrade this into // a no-op or similar. The documentation doesn't say. #pragma optimize("", off) #endif @@ -1810,9 +1809,9 @@ PA_ALWAYS_INLINE void PartitionRoot::IncreaseTotalSizeOfAllocatedBytes( total_size_of_allocated_bytes += len; max_size_of_allocated_bytes = std::max(max_size_of_allocated_bytes, total_size_of_allocated_bytes); -#if BUILDFLAG(RECORD_ALLOC_INFO) +#if PA_BUILDFLAG(RECORD_ALLOC_INFO) partition_alloc::internal::RecordAllocOrFree(addr | 0x01, raw_size); -#endif // BUILDFLAG(RECORD_ALLOC_INFO) +#endif // PA_BUILDFLAG(RECORD_ALLOC_INFO) } PA_ALWAYS_INLINE void PartitionRoot::DecreaseTotalSizeOfAllocatedBytes( @@ -1822,9 +1821,9 @@ PA_ALWAYS_INLINE void PartitionRoot::DecreaseTotalSizeOfAllocatedBytes( // somewhere. PA_DCHECK(total_size_of_allocated_bytes >= len); total_size_of_allocated_bytes -= len; -#if BUILDFLAG(RECORD_ALLOC_INFO) +#if PA_BUILDFLAG(RECORD_ALLOC_INFO) partition_alloc::internal::RecordAllocOrFree(addr | 0x00, len); -#endif // BUILDFLAG(RECORD_ALLOC_INFO) +#endif // PA_BUILDFLAG(RECORD_ALLOC_INFO) } PA_ALWAYS_INLINE void PartitionRoot::IncreaseCommittedPages(size_t len) { @@ -1987,12 +1986,12 @@ PA_ALWAYS_INLINE PageAccessibilityConfiguration PartitionRoot::GetPageAccessibility(bool request_tagging) const { PageAccessibilityConfiguration::Permissions permissions = PageAccessibilityConfiguration::kReadWrite; -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) if (IsMemoryTaggingEnabled() && request_tagging) { permissions = PageAccessibilityConfiguration::kReadWriteTagged; } #endif -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) return PageAccessibilityConfiguration(permissions, settings.thread_isolation); #else return PageAccessibilityConfiguration(permissions); @@ -2002,7 +2001,7 @@ PartitionRoot::GetPageAccessibility(bool request_tagging) const { PA_ALWAYS_INLINE PageAccessibilityConfiguration PartitionRoot::PageAccessibilityWithThreadIsolationIfEnabled( PageAccessibilityConfiguration::Permissions permissions) const { -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) return PageAccessibilityConfiguration(permissions, settings.thread_isolation); #endif return PageAccessibilityConfiguration(permissions); @@ -2018,7 +2017,7 @@ PartitionRoot::AllocationCapacityFromSlotStart(uintptr_t slot_start) const { return AdjustSizeForExtrasSubtract(slot_span->bucket->slot_size); } -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) PA_ALWAYS_INLINE internal::InSlotMetadata* PartitionRoot::InSlotMetadataPointerFromSlotStartAndSize(uintptr_t slot_start, size_t slot_size) { @@ -2032,7 +2031,7 @@ PartitionRoot::InSlotMetadataPointerFromObjectForTesting(void* object) const { return InSlotMetadataPointerFromSlotStartAndSize( slot_start, slot_span->bucket->slot_size); } -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) // static PA_ALWAYS_INLINE uint16_t @@ -2081,7 +2080,7 @@ PA_ALWAYS_INLINE void* PartitionRoot::AllocInternal(size_t requested_size, hooks_enabled = PartitionAllocHooks::AreHooksEnabled(); if (hooks_enabled) { auto additional_flags = AllocFlags::kNone; -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) if (IsMemoryTaggingEnabled()) { additional_flags |= AllocFlags::kMemoryShouldBeTaggedForMte; } @@ -2089,8 +2088,8 @@ PA_ALWAYS_INLINE void* PartitionRoot::AllocInternal(size_t requested_size, // The override hooks will return false if it can't handle the request, // i.e. due to unsupported flags. In this case, we forward the allocation // request to the default mechanisms. - // TODO(crbug.com/1137393): See if we can make the forwarding more verbose - // to ensure that this situation doesn't go unnoticed. + // TODO(crbug.com/40152647): See if we can make the forwarding more + // verbose to ensure that this situation doesn't go unnoticed. if (PartitionAllocHooks::AllocationOverrideHookIfEnabled( &object, flags | additional_flags, requested_size, type_name)) { PartitionAllocHooks::AllocationObserverHookIfEnabled( @@ -2145,7 +2144,7 @@ PA_ALWAYS_INLINE void* PartitionRoot::AllocInternalNoHooks( uintptr_t slot_start = 0; size_t slot_size = 0; -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) const bool is_quarantine_enabled = IsQuarantineEnabled(); // PCScan safepoint. Call before trying to allocate from cache. // TODO(bikineev): Change the condition to PA_LIKELY once PCScan is enabled by @@ -2153,7 +2152,7 @@ PA_ALWAYS_INLINE void* PartitionRoot::AllocInternalNoHooks( if (PA_UNLIKELY(is_quarantine_enabled)) { PCScan::JoinScanIfNeeded(); } -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) auto* thread_cache = GetOrCreateThreadCache(); @@ -2175,7 +2174,7 @@ PA_ALWAYS_INLINE void* PartitionRoot::AllocInternalNoHooks( // Keep it in sync! usable_size = AdjustSizeForExtrasSubtract(slot_size); -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) // Make sure that the allocated pointer comes from the same place it would // for a non-thread cache allocation. SlotSpanMetadata* slot_span = SlotSpanMetadata::FromSlotStart(slot_start); @@ -2223,7 +2222,7 @@ PA_ALWAYS_INLINE void* PartitionRoot::AllocInternalNoHooks( // (f) slot_size // // Notes: - // - Cookie exists only in the BUILDFLAG(PA_DCHECK_IS_ON) case. + // - Cookie exists only in the PA_BUILDFLAG(PA_DCHECK_IS_ON) case. // - Think of raw_size as the minimum size required internally to satisfy // the allocation request (i.e. requested_size + extras) // - At most one "empty" or "unused" space can occur at a time. They occur @@ -2260,14 +2259,14 @@ PA_ALWAYS_INLINE void* PartitionRoot::AllocInternalNoHooks( // PA_LIKELY: operator new() calls malloc(), not calloc(). if constexpr (!zero_fill) { // memset() can be really expensive. -#if BUILDFLAG(PA_EXPENSIVE_DCHECKS_ARE_ON) +#if PA_BUILDFLAG(PA_EXPENSIVE_DCHECKS_ARE_ON) internal::DebugMemset(object, internal::kUninitializedByte, usable_size); #endif } else if (!is_already_zeroed) { memset(object, 0, usable_size); } -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) if (PA_LIKELY(brp_enabled())) { bool needs_mac11_malloc_size_hack = false; #if PA_CONFIG(MAYBE_ENABLE_MAC11_MALLOC_SIZE_HACK) @@ -2288,9 +2287,9 @@ PA_ALWAYS_INLINE void* PartitionRoot::AllocInternalNoHooks( (void)ref_count; #endif } -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) // TODO(bikineev): Change the condition to PA_LIKELY once PCScan is enabled by // default. if (PA_UNLIKELY(is_quarantine_enabled)) { @@ -2299,7 +2298,7 @@ PA_ALWAYS_INLINE void* PartitionRoot::AllocInternalNoHooks( internal::StateBitmapFromAddr(slot_start)->Allocate(slot_start); } } -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) return object; } @@ -2449,7 +2448,7 @@ void* PartitionRoot::ReallocInline(void* ptr, { ::partition_alloc::internal::ScopedGuard guard{ internal::PartitionRootLock(old_root)}; - // TODO(crbug.com/1257655): See if we can afford to make this a CHECK. + // TODO(crbug.com/40796496): See if we can afford to make this a CHECK. DCheckIsValidSlotSpan(slot_span); old_usable_size = old_root->GetSlotUsableSize(slot_span); @@ -2549,6 +2548,11 @@ PartitionRoot::GetSchedulerLoopQuarantineBranch() { } } +internal::LightweightQuarantineRoot& +PartitionRoot::GetSchedulerLoopQuarantineRoot() { + return scheduler_loop_quarantine_root; +} + // Explicitly declare common template instantiations to reduce compile time. #define EXPORT_TEMPLATE \ extern template PA_EXPORT_TEMPLATE_DECLARE( \ @@ -2570,20 +2574,20 @@ EXPORT_TEMPLATE void* PartitionRoot::AlignedAlloc(size_t, size_t); #undef EXPORT_TEMPLATE -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) // Usage in `raw_ptr_backup_ref_impl.cc` is notable enough to merit a // non-internal alias. using ::partition_alloc::internal::PartitionAllocGetSlotStartAndSizeInBRPPool; -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#endif // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) -#if BUILDFLAG(IS_APPLE) && BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if BUILDFLAG(IS_APPLE) && PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) PA_COMPONENT_EXPORT(PARTITION_ALLOC) void PartitionAllocMallocHookOnBeforeForkInParent(); PA_COMPONENT_EXPORT(PARTITION_ALLOC) void PartitionAllocMallocHookOnAfterForkInParent(); PA_COMPONENT_EXPORT(PARTITION_ALLOC) void PartitionAllocMallocHookOnAfterForkInChild(); -#endif // BUILDFLAG(IS_APPLE) && BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // BUILDFLAG(IS_APPLE) && PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) } // namespace partition_alloc diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_stats.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_stats.h index 2cc61f20fd..df967b29ba 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_stats.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_stats.h @@ -77,7 +77,7 @@ struct PartitionMemoryStats { size_t total_active_count; // Total count of active objects in the partition. size_t total_decommittable_bytes; // Total bytes that could be decommitted. size_t total_discardable_bytes; // Total bytes that could be discarded. -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) size_t total_brp_quarantined_bytes; // Total bytes that are quarantined by BRP. size_t total_brp_quarantined_count; // Total number of slots that are diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_tls.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_tls.h index 8fe8a6f9a0..9d2112819e 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_tls.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/partition_tls.h @@ -5,7 +5,7 @@ #ifndef PARTITION_ALLOC_PARTITION_TLS_H_ #define PARTITION_ALLOC_PARTITION_TLS_H_ -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_base/immediate_crash.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/instance_tracer.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/instance_tracer.cc index 9f9c94cce4..fecc2c35a3 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/instance_tracer.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/instance_tracer.cc @@ -16,9 +16,9 @@ namespace base::internal { -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_INSTANCE_TRACER) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_INSTANCE_TRACER) -static_assert(BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT), +static_assert(PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT), "Instance tracing requires BackupRefPtr support."); namespace { diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/instance_tracer.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/instance_tracer.h index cb5615f4ea..93d76bc8b2 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/instance_tracer.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/instance_tracer.h @@ -18,7 +18,7 @@ namespace base::internal { -#if !BUILDFLAG(ENABLE_BACKUP_REF_PTR_INSTANCE_TRACER) +#if !PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_INSTANCE_TRACER) // When the buildflag is disabled, use a minimal no-state implementation so // sizeof(raw_ptr) == sizeof(T*). diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr.h index 5c2932509e..dfb462b77c 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr.h @@ -11,7 +11,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/flags.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/component_export.h" @@ -27,30 +27,30 @@ #include "partition_alloc/partition_alloc_base/win/win_handle_types.h" #endif -#if BUILDFLAG(USE_PARTITION_ALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC) #include "partition_alloc/partition_alloc_base/check.h" // Live implementation of MiraclePtr being built. -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) || \ - BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#if PA_BUILDFLAG(USE_RAW_PTR_BACKUP_REF_IMPL) || \ + PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) #define PA_RAW_PTR_CHECK(condition) PA_BASE_CHECK(condition) #else // No-op implementation of MiraclePtr being built. // Note that `PA_BASE_DCHECK()` evaporates from non-DCHECK builds, // minimizing impact of generated code. #define PA_RAW_PTR_CHECK(condition) PA_BASE_DCHECK(condition) -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) || - // BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) -#else // BUILDFLAG(USE_PARTITION_ALLOC) +#endif // PA_BUILDFLAG(USE_RAW_PTR_BACKUP_REF_IMPL) || + // PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#else // PA_BUILDFLAG(USE_PARTITION_ALLOC) // Without PartitionAlloc, there's no `PA_BASE_D?CHECK()` implementation // available. #define PA_RAW_PTR_CHECK(condition) -#endif // BUILDFLAG(USE_PARTITION_ALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC) -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(USE_RAW_PTR_BACKUP_REF_IMPL) #include "partition_alloc/pointers/raw_ptr_backup_ref_impl.h" -#elif BUILDFLAG(USE_ASAN_UNOWNED_PTR) +#elif PA_BUILDFLAG(USE_RAW_PTR_ASAN_UNOWNED_IMPL) #include "partition_alloc/pointers/raw_ptr_asan_unowned_impl.h" -#elif BUILDFLAG(USE_HOOKABLE_RAW_PTR) +#elif PA_BUILDFLAG(USE_RAW_PTR_HOOKABLE_IMPL) #include "partition_alloc/pointers/raw_ptr_hookable_impl.h" #else #include "partition_alloc/pointers/raw_ptr_noop_impl.h" @@ -107,7 +107,8 @@ enum class RawPtrTraits : unsigned { // instead. kMayDangle = (1 << 0), - // Disables any hooks, when building with BUILDFLAG(USE_HOOKABLE_RAW_PTR). + // Disables any hooks, when building with + // PA_BUILDFLAG(USE_RAW_PTR_HOOKABLE_IMPL). // // Internal use only. kDisableHooks = (1 << 2), @@ -241,7 +242,7 @@ struct IsSupportedType>> { // lead to manipulating random memory when treating it as BackupRefPtr // ref-count. See also https://crbug.com/1262017. // -// TODO(https://crbug.com/1262017): Cover other handle types like HANDLE, +// TODO(crbug.com/40799223): Cover other handle types like HANDLE, // HLOCAL, HINTERNET, or HDEVINFO. Maybe we should avoid using raw_ptr when // T=void (as is the case in these handle types). OTOH, explicit, // non-template-based raw_ptr should be allowed. Maybe this can be solved @@ -259,7 +260,7 @@ struct IsSupportedType>> { #undef PA_WINDOWS_HANDLE_TYPE #endif -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(USE_RAW_PTR_BACKUP_REF_IMPL) template using UnderlyingImplForTraits = internal::RawPtrBackupRefImpl< /*AllowDangling=*/partition_alloc::internal::ContainsFlags( @@ -269,14 +270,14 @@ using UnderlyingImplForTraits = internal::RawPtrBackupRefImpl< Traits, RawPtrTraits::kDisableBRP)>; -#elif BUILDFLAG(USE_ASAN_UNOWNED_PTR) +#elif PA_BUILDFLAG(USE_RAW_PTR_ASAN_UNOWNED_IMPL) template using UnderlyingImplForTraits = internal::RawPtrAsanUnownedImpl< partition_alloc::internal::ContainsFlags(Traits, RawPtrTraits::kAllowPtrArithmetic), partition_alloc::internal::ContainsFlags(Traits, RawPtrTraits::kMayDangle)>; -#elif BUILDFLAG(USE_HOOKABLE_RAW_PTR) +#elif PA_BUILDFLAG(USE_RAW_PTR_HOOKABLE_IMPL) template using UnderlyingImplForTraits = internal::RawPtrHookableImpl< /*EnableHooks=*/!partition_alloc::internal::ContainsFlags( @@ -289,7 +290,7 @@ using UnderlyingImplForTraits = internal::RawPtrNoOpImpl; #endif constexpr bool IsPtrArithmeticAllowed([[maybe_unused]] RawPtrTraits Traits) { -#if BUILDFLAG(ENABLE_POINTER_ARITHMETIC_TRAIT_CHECK) +#if PA_BUILDFLAG(ENABLE_POINTER_ARITHMETIC_TRAIT_CHECK) return partition_alloc::internal::ContainsFlags( Traits, RawPtrTraits::kAllowPtrArithmetic); #else @@ -341,10 +342,10 @@ class PA_TRIVIAL_ABI PA_GSL_POINTER raw_ptr { using element_type = T; using DanglingType = raw_ptr; -#if !BUILDFLAG(USE_PARTITION_ALLOC) +#if !PA_BUILDFLAG(USE_PARTITION_ALLOC) // See comment at top about `PA_RAW_PTR_CHECK()`. static_assert(std::is_same_v); -#endif // !BUILDFLAG(USE_PARTITION_ALLOC) +#endif // !PA_BUILDFLAG(USE_PARTITION_ALLOC) static_assert(partition_alloc::internal::AreValidFlags(Traits), "Unknown raw_ptr trait(s)"); @@ -352,20 +353,21 @@ class PA_TRIVIAL_ABI PA_GSL_POINTER raw_ptr { "raw_ptr doesn't work with this kind of pointee type T"); static constexpr bool kZeroOnConstruct = - Impl::kMustZeroOnConstruct || (BUILDFLAG(RAW_PTR_ZERO_ON_CONSTRUCT) && + Impl::kMustZeroOnConstruct || (PA_BUILDFLAG(RAW_PTR_ZERO_ON_CONSTRUCT) && !partition_alloc::internal::ContainsFlags( Traits, RawPtrTraits::kAllowUninitialized)); static constexpr bool kZeroOnMove = - Impl::kMustZeroOnMove || BUILDFLAG(RAW_PTR_ZERO_ON_MOVE); + Impl::kMustZeroOnMove || PA_BUILDFLAG(RAW_PTR_ZERO_ON_MOVE); static constexpr bool kZeroOnDestruct = - Impl::kMustZeroOnDestruct || BUILDFLAG(RAW_PTR_ZERO_ON_DESTRUCT); + Impl::kMustZeroOnDestruct || PA_BUILDFLAG(RAW_PTR_ZERO_ON_DESTRUCT); // A non-trivial default ctor is required for complex implementations (e.g. // BackupRefPtr), or even for NoOpImpl when zeroing is requested. -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) || \ - BUILDFLAG(USE_ASAN_UNOWNED_PTR) || BUILDFLAG(USE_HOOKABLE_RAW_PTR) || \ - BUILDFLAG(RAW_PTR_ZERO_ON_CONSTRUCT) +#if PA_BUILDFLAG(USE_RAW_PTR_BACKUP_REF_IMPL) || \ + PA_BUILDFLAG(USE_RAW_PTR_ASAN_UNOWNED_IMPL) || \ + PA_BUILDFLAG(USE_RAW_PTR_HOOKABLE_IMPL) || \ + PA_BUILDFLAG(RAW_PTR_ZERO_ON_CONSTRUCT) PA_ALWAYS_INLINE constexpr raw_ptr() noexcept { if constexpr (kZeroOnConstruct) { wrapped_ptr_ = nullptr; @@ -376,16 +378,18 @@ class PA_TRIVIAL_ABI PA_GSL_POINTER raw_ptr { // uninitialized). PA_ALWAYS_INLINE constexpr raw_ptr() noexcept = default; static_assert(!kZeroOnConstruct); -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) || - // BUILDFLAG(USE_ASAN_UNOWNED_PTR) || BUILDFLAG(USE_HOOKABLE_RAW_PTR) || - // BUILDFLAG(RAW_PTR_ZERO_ON_CONSTRUCT) +#endif // PA_BUILDFLAG(USE_RAW_PTR_BACKUP_REF_IMPL) || + // PA_BUILDFLAG(USE_RAW_PTR_ASAN_UNOWNED_IMPL) || + // PA_BUILDFLAG(USE_RAW_PTR_HOOKABLE_IMPL) || + // PA_BUILDFLAG(RAW_PTR_ZERO_ON_CONSTRUCT) // A non-trivial copy ctor and assignment operator are required for complex // implementations (e.g. BackupRefPtr). Unlike the blocks around, we don't need // these for NoOpImpl even when zeroing is requested; better to keep them // trivial. -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) || \ - BUILDFLAG(USE_ASAN_UNOWNED_PTR) || BUILDFLAG(USE_HOOKABLE_RAW_PTR) +#if PA_BUILDFLAG(USE_RAW_PTR_BACKUP_REF_IMPL) || \ + PA_BUILDFLAG(USE_RAW_PTR_ASAN_UNOWNED_IMPL) || \ + PA_BUILDFLAG(USE_RAW_PTR_HOOKABLE_IMPL) PA_ALWAYS_INLINE constexpr raw_ptr(const raw_ptr& p) noexcept : wrapped_ptr_(Impl::Duplicate(p.wrapped_ptr_)) { Impl::Trace(tracer_.owner_id(), p.wrapped_ptr_); @@ -408,15 +412,17 @@ class PA_TRIVIAL_ABI PA_GSL_POINTER raw_ptr { #else PA_ALWAYS_INLINE raw_ptr(const raw_ptr&) noexcept = default; PA_ALWAYS_INLINE raw_ptr& operator=(const raw_ptr&) noexcept = default; -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) || - // BUILDFLAG(USE_ASAN_UNOWNED_PTR) || BUILDFLAG(USE_HOOKABLE_RAW_PTR) +#endif // PA_BUILDFLAG(USE_RAW_PTR_BACKUP_REF_IMPL) || + // PA_BUILDFLAG(USE_RAW_PTR_ASAN_UNOWNED_IMPL) || + // PA_BUILDFLAG(USE_RAW_PTR_HOOKABLE_IMPL) // A non-trivial move ctor and assignment operator are required for complex // implementations (e.g. BackupRefPtr), or even for NoOpImpl when zeroing is // requested. -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) || \ - BUILDFLAG(USE_ASAN_UNOWNED_PTR) || BUILDFLAG(USE_HOOKABLE_RAW_PTR) || \ - BUILDFLAG(RAW_PTR_ZERO_ON_MOVE) +#if PA_BUILDFLAG(USE_RAW_PTR_BACKUP_REF_IMPL) || \ + PA_BUILDFLAG(USE_RAW_PTR_ASAN_UNOWNED_IMPL) || \ + PA_BUILDFLAG(USE_RAW_PTR_HOOKABLE_IMPL) || \ + PA_BUILDFLAG(RAW_PTR_ZERO_ON_MOVE) PA_ALWAYS_INLINE constexpr raw_ptr(raw_ptr&& p) noexcept { wrapped_ptr_ = p.wrapped_ptr_; Impl::Trace(tracer_.owner_id(), wrapped_ptr_); @@ -444,15 +450,17 @@ class PA_TRIVIAL_ABI PA_GSL_POINTER raw_ptr { PA_ALWAYS_INLINE raw_ptr(raw_ptr&&) noexcept = default; PA_ALWAYS_INLINE raw_ptr& operator=(raw_ptr&&) noexcept = default; static_assert(!kZeroOnMove); -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) || - // BUILDFLAG(USE_ASAN_UNOWNED_PTR) || BUILDFLAG(USE_HOOKABLE_RAW_PTR) || - // BUILDFLAG(RAW_PTR_ZERO_ON_MOVE) +#endif // PA_BUILDFLAG(USE_RAW_PTR_BACKUP_REF_IMPL) || + // PA_BUILDFLAG(USE_RAW_PTR_ASAN_UNOWNED_IMPL) || + // PA_BUILDFLAG(USE_RAW_PTR_HOOKABLE_IMPL) || + // PA_BUILDFLAG(RAW_PTR_ZERO_ON_MOVE) // A non-trivial default dtor is required for complex implementations (e.g. // BackupRefPtr), or even for NoOpImpl when zeroing is requested. -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) || \ - BUILDFLAG(USE_ASAN_UNOWNED_PTR) || BUILDFLAG(USE_HOOKABLE_RAW_PTR) || \ - BUILDFLAG(RAW_PTR_ZERO_ON_DESTRUCT) +#if PA_BUILDFLAG(USE_RAW_PTR_BACKUP_REF_IMPL) || \ + PA_BUILDFLAG(USE_RAW_PTR_ASAN_UNOWNED_IMPL) || \ + PA_BUILDFLAG(USE_RAW_PTR_HOOKABLE_IMPL) || \ + PA_BUILDFLAG(RAW_PTR_ZERO_ON_DESTRUCT) PA_ALWAYS_INLINE PA_CONSTEXPR_DTOR ~raw_ptr() noexcept { Impl::ReleaseWrappedPtr(wrapped_ptr_); Impl::Untrace(tracer_.owner_id()); @@ -464,9 +472,10 @@ class PA_TRIVIAL_ABI PA_GSL_POINTER raw_ptr { #else PA_ALWAYS_INLINE ~raw_ptr() noexcept = default; static_assert(!kZeroOnDestruct); -#endif // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) || - // BUILDFLAG(USE_ASAN_UNOWNED_PTR) || BUILDFLAG(USE_HOOKABLE_RAW_PTR) || - // BUILDFLAG(RAW_PTR_ZERO_ON_DESTRUCT) +#endif // PA_BUILDFLAG(USE_RAW_PTR_BACKUP_REF_IMPL) || + // PA_BUILDFLAG(USE_RAW_PTR_ASAN_UNOWNED_IMPL) || + // PA_BUILDFLAG(USE_RAW_PTR_HOOKABLE_IMPL) || + // PA_BUILDFLAG(RAW_PTR_ZERO_ON_DESTRUCT) // Cross-kind copy constructor. // Move is not supported as different traits may use different ref-counts, so @@ -482,7 +491,7 @@ class PA_TRIVIAL_ABI PA_GSL_POINTER raw_ptr { // Limit cross-kind conversions only to cases where `kMayDangle` gets added, // because that's needed for ExtractAsDangling() and Unretained(Ref)Wrapper. // Use a static_assert, instead of disabling via SFINAE, so that the - // compiler catches other conversions. Otherwise the implicit + // compiler catches other conversions. Otherwise the implicits // `raw_ptr -> T* -> raw_ptr<>` route will be taken. static_assert(Traits == (raw_ptr::Traits | RawPtrTraits::kMayDangle)); @@ -576,7 +585,8 @@ class PA_TRIVIAL_ABI PA_GSL_POINTER raw_ptr { // Make sure that pointer isn't assigned to itself (look at raw_ptr address, // not its contained pointer value). The comparison is only needed when they // are the same type, otherwise they can't be the same raw_ptr object. -#if BUILDFLAG(PA_DCHECK_IS_ON) || BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) || \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) if constexpr (std::is_same_v>) { PA_RAW_PTR_CHECK(this != &ptr); } @@ -597,7 +607,8 @@ class PA_TRIVIAL_ABI PA_GSL_POINTER raw_ptr { // Make sure that pointer isn't assigned to itself (look at raw_ptr address, // not its contained pointer value). The comparison is only needed when they // are the same type, otherwise they can't be the same raw_ptr object. -#if BUILDFLAG(PA_DCHECK_IS_ON) || BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) || \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) if constexpr (std::is_same_v>) { PA_RAW_PTR_CHECK(this != &ptr); } @@ -959,7 +970,7 @@ class PA_TRIVIAL_ABI PA_GSL_POINTER raw_ptr { } PA_ALWAYS_INLINE void ReportIfDangling() const noexcept { -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if PA_BUILDFLAG(USE_RAW_PTR_BACKUP_REF_IMPL) Impl::ReportIfDangling(wrapped_ptr_); #endif } diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_asan_unowned_impl.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_asan_unowned_impl.h index 12f5b41fe9..6a772b9d91 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_asan_unowned_impl.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_asan_unowned_impl.h @@ -13,7 +13,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" #include "partition_alloc/partition_alloc_forward.h" -#if !BUILDFLAG(USE_ASAN_UNOWNED_PTR) +#if !PA_BUILDFLAG(USE_RAW_PTR_ASAN_UNOWNED_IMPL) #error "Included under wrong build option" #endif diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_backup_ref_impl.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_backup_ref_impl.cc index c9f2417359..98e047673b 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_backup_ref_impl.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_backup_ref_impl.cc @@ -19,7 +19,8 @@ namespace base::internal { template void RawPtrBackupRefImpl::AcquireInternal( uintptr_t address) { -#if BUILDFLAG(PA_DCHECK_IS_ON) || BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) || \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) PA_BASE_CHECK(UseBrp(address)); #endif auto [slot_start, slot_size] = @@ -38,7 +39,8 @@ void RawPtrBackupRefImpl::AcquireInternal( template void RawPtrBackupRefImpl::ReleaseInternal( uintptr_t address) { -#if BUILDFLAG(PA_DCHECK_IS_ON) || BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) || \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) PA_BASE_CHECK(UseBrp(address)); #endif auto [slot_start, slot_size] = @@ -87,7 +89,7 @@ bool RawPtrBackupRefImpl:: PA_BASE_CHECK(ptr_pos_within_alloc != partition_alloc::internal::PtrPosWithinAlloc::kFarOOB); -#if BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) +#if PA_BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) return ptr_pos_within_alloc == partition_alloc::internal::PtrPosWithinAlloc::kAllocEnd; #else @@ -98,7 +100,8 @@ bool RawPtrBackupRefImpl:: template bool RawPtrBackupRefImpl::IsPointeeAlive( uintptr_t address) { -#if BUILDFLAG(PA_DCHECK_IS_ON) || BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) || \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) PA_BASE_CHECK(UseBrp(address)); #endif auto [slot_start, slot_size] = @@ -119,7 +122,8 @@ template struct RawPtrBackupRefImpl; -#if BUILDFLAG(PA_DCHECK_IS_ON) || BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) || \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) void CheckThatAddressIsntWithinFirstPartitionPage(uintptr_t address) { if (partition_alloc::internal::IsManagedByDirectMap(address)) { uintptr_t reservation_start = @@ -132,7 +136,7 @@ void CheckThatAddressIsntWithinFirstPartitionPage(uintptr_t address) { partition_alloc::PartitionPageSize()); } } -#endif // BUILDFLAG(PA_DCHECK_IS_ON) || - // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) || + // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) } // namespace base::internal diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_backup_ref_impl.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_backup_ref_impl.h index 03fcf3bad3..2c02a78a3a 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_backup_ref_impl.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_backup_ref_impl.h @@ -8,7 +8,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_address_space.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/component_export.h" @@ -20,17 +20,18 @@ #include "partition_alloc/pointers/instance_tracer.h" #include "partition_alloc/tagging.h" -#if !BUILDFLAG(HAS_64_BIT_POINTERS) +#if !PA_BUILDFLAG(HAS_64_BIT_POINTERS) #include "partition_alloc/address_pool_manager_bitmap.h" #endif -#if !BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if !PA_BUILDFLAG(USE_RAW_PTR_BACKUP_REF_IMPL) #error "Included under wrong build option" #endif namespace base::internal { -#if BUILDFLAG(PA_DCHECK_IS_ON) || BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) || \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) PA_COMPONENT_EXPORT(RAW_PTR) void CheckThatAddressIsntWithinFirstPartitionPage(uintptr_t address); #endif @@ -70,11 +71,12 @@ struct RawPtrBackupRefImpl { // address is nullptr. #if PA_HAS_BUILTIN(__builtin_constant_p) if (__builtin_constant_p(address == 0) && (address == 0)) { -#if BUILDFLAG(PA_DCHECK_IS_ON) || BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) || \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) PA_BASE_CHECK( !partition_alloc::IsManagedByPartitionAllocBRPPool(address)); -#endif // BUILDFLAG(PA_DCHECK_IS_ON) || - // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) || + // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) return false; } #endif // PA_HAS_BUILTIN(__builtin_constant_p) @@ -100,7 +102,8 @@ struct RawPtrBackupRefImpl { // IsManagedByPartitionAllocBRPPool returns true for a valid pointer, // it must be at least partition page away from the beginning of a super // page. -#if BUILDFLAG(PA_DCHECK_IS_ON) || BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) || \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) if (use_brp) { CheckThatAddressIsntWithinFirstPartitionPage(address); } @@ -109,7 +112,7 @@ struct RawPtrBackupRefImpl { return use_brp; } -#if BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) +#if PA_BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) // Out-Of-Bounds (OOB) poison bit is set when the pointer has overflowed by // one byte. #if defined(ARCH_CPU_X86_64) @@ -139,12 +142,12 @@ struct RawPtrBackupRefImpl { return reinterpret_cast(reinterpret_cast(ptr) | OOB_POISON_BIT); } -#else // BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) +#else // PA_BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) template PA_ALWAYS_INLINE static T* UnpoisonPtr(T* ptr) { return ptr; } -#endif // BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) +#endif // PA_BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) public: // Wraps a pointer. @@ -155,12 +158,13 @@ struct RawPtrBackupRefImpl { } uintptr_t address = partition_alloc::UntagPtr(UnpoisonPtr(ptr)); if (IsSupportedAndNotNull(address)) { -#if BUILDFLAG(PA_DCHECK_IS_ON) || BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) || \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) PA_BASE_CHECK(ptr != nullptr); #endif AcquireInternal(address); } else { -#if !BUILDFLAG(HAS_64_BIT_POINTERS) +#if !PA_BUILDFLAG(HAS_64_BIT_POINTERS) #if PA_HAS_BUILTIN(__builtin_constant_p) // Similarly to `IsSupportedAndNotNull` above, elide the // `BanSuperPageFromBRPPool` call if the compiler can prove that `address` @@ -175,7 +179,7 @@ struct RawPtrBackupRefImpl { partition_alloc::internal::AddressPoolManagerBitmap:: BanSuperPageFromBRPPool(address); } -#endif // !BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // !PA_BUILDFLAG(HAS_64_BIT_POINTERS) } return ptr; @@ -189,7 +193,8 @@ struct RawPtrBackupRefImpl { } uintptr_t address = partition_alloc::UntagPtr(UnpoisonPtr(wrapped_ptr)); if (IsSupportedAndNotNull(address)) { -#if BUILDFLAG(PA_DCHECK_IS_ON) || BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) || \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) PA_BASE_CHECK(wrapped_ptr != nullptr); #endif ReleaseInternal(address); @@ -212,8 +217,9 @@ struct RawPtrBackupRefImpl { if (partition_alloc::internal::base::is_constant_evaluated()) { return wrapped_ptr; } -#if BUILDFLAG(PA_DCHECK_IS_ON) || BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) -#if BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) || \ + PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) +#if PA_BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) PA_BASE_CHECK(!IsPtrOOB(wrapped_ptr)); #endif uintptr_t address = partition_alloc::UntagPtr(wrapped_ptr); @@ -221,8 +227,8 @@ struct RawPtrBackupRefImpl { PA_BASE_CHECK(wrapped_ptr != nullptr); PA_BASE_CHECK(IsPointeeAlive(address)); // Detects use-after-free. } -#endif // BUILDFLAG(PA_DCHECK_IS_ON) || - // BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) || + // PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SLOW_CHECKS) return wrapped_ptr; } @@ -235,7 +241,7 @@ struct RawPtrBackupRefImpl { return wrapped_ptr; } T* unpoisoned_ptr = UnpoisonPtr(wrapped_ptr); -#if BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) +#if PA_BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) // Some code uses invalid pointer values as indicators, so those values must // be passed through unchanged during extraction. The following check will // pass invalid values through if those values do not fall within the BRP @@ -248,7 +254,7 @@ struct RawPtrBackupRefImpl { // OOB conditions, e.g., in code that extracts an end-of-allocation pointer // for use in a loop termination condition. The poison bit would make that // pointer appear to reference a very high address. -#endif // BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) +#endif // PA_BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) return unpoisoned_ptr; } @@ -312,11 +318,11 @@ struct RawPtrBackupRefImpl { constexpr size_t size = sizeof(T); [[maybe_unused]] const bool is_end = CheckPointerWithinSameAlloc(before_addr, after_addr, size); -#if BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) +#if PA_BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) if (is_end) { new_ptr = PoisonOOBPtr(new_ptr); } -#endif // BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) +#endif // PA_BUILDFLAG(BACKUP_REF_PTR_POISON_OOB_PTR) } else { // Check that the new address didn't migrate into the BRP pool, as it // would result in more pointers pointing to an allocation than its @@ -344,7 +350,7 @@ struct RawPtrBackupRefImpl { // different slot, or else ref-count integrity is at risk. This isn't needed // if the result will be assigned to a new pointer, as it'll do ref-counting // properly. Do it anyway if extra OOB checks are enabled. - if (BUILDFLAG(BACKUP_REF_PTR_EXTRA_OOB_CHECKS) || + if (PA_BUILDFLAG(BACKUP_REF_PTR_EXTRA_OOB_CHECKS) || is_in_pointer_modification) { return VerifyAndPoisonPointerAfterAdvanceOrRetreat( unpoisoned_ptr, unpoisoned_ptr + delta_elems); @@ -370,7 +376,7 @@ struct RawPtrBackupRefImpl { // different slot, or else ref-count integrity is at risk. This isn't needed // if the result will be assigned to a new pointer, as it'll do ref-counting // properly. Do it anyway if extra OOB checks are enabled. - if (BUILDFLAG(BACKUP_REF_PTR_EXTRA_OOB_CHECKS) || + if (PA_BUILDFLAG(BACKUP_REF_PTR_EXTRA_OOB_CHECKS) || is_in_pointer_modification) { return VerifyAndPoisonPointerAfterAdvanceOrRetreat( unpoisoned_ptr, unpoisoned_ptr - delta_elems); @@ -387,7 +393,7 @@ struct RawPtrBackupRefImpl { T* unpoisoned_ptr1 = UnpoisonPtr(wrapped_ptr1); T* unpoisoned_ptr2 = UnpoisonPtr(wrapped_ptr2); -#if BUILDFLAG(ENABLE_POINTER_SUBTRACTION_CHECK) +#if PA_BUILDFLAG(ENABLE_POINTER_SUBTRACTION_CHECK) if (partition_alloc::internal::base::is_constant_evaluated()) { return unpoisoned_ptr1 - unpoisoned_ptr2; } @@ -403,7 +409,7 @@ struct RawPtrBackupRefImpl { } else { PA_BASE_CHECK(!IsSupportedAndNotNull(address2)); } -#endif // BUILDFLAG(ENABLE_POINTER_SUBTRACTION_CHECK) +#endif // PA_BUILDFLAG(ENABLE_POINTER_SUBTRACTION_CHECK) return unpoisoned_ptr1 - unpoisoned_ptr2; } @@ -445,7 +451,7 @@ struct RawPtrBackupRefImpl { } } -#if BUILDFLAG(ENABLE_BACKUP_REF_PTR_INSTANCE_TRACER) +#if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_INSTANCE_TRACER) template static constexpr void Trace(uint64_t owner_id, T* wrapped_ptr) { if (partition_alloc::internal::base::is_constant_evaluated()) { diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_exclusion.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_exclusion.h index 929d4747b1..7734657c11 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_exclusion.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_exclusion.h @@ -7,15 +7,15 @@ // This header will be leakily included even when // `!use_partition_alloc`, which is okay because it's a leaf header. -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" // nogncheck #include "partition_alloc/partition_alloc_buildflags.h" #if PA_HAS_ATTRIBUTE(annotate) -#if defined(OFFICIAL_BUILD) && !BUILDFLAG(FORCE_ENABLE_RAW_PTR_EXCLUSION) +#if defined(OFFICIAL_BUILD) && !PA_BUILDFLAG(FORCE_ENABLE_RAW_PTR_EXCLUSION) // The annotation changed compiler output and increased binary size so disable // for official builds. -// TODO(crbug.com/1320670): Remove when issue is resolved. +// TODO(crbug.com/40836910): Remove when issue is resolved. #define RAW_PTR_EXCLUSION #else // Marks a field as excluded from the `raw_ptr` usage enforcement via diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_hookable_impl.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_hookable_impl.h index 6d38222ac9..e5dc2fc4ab 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_hookable_impl.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr_hookable_impl.h @@ -14,7 +14,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" #include "partition_alloc/partition_alloc_forward.h" -#if !BUILDFLAG(USE_HOOKABLE_RAW_PTR) +#if !PA_BUILDFLAG(USE_RAW_PTR_HOOKABLE_IMPL) #error "Included under wrong build option" #endif diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pool_offset_freelist.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pool_offset_freelist.h index 44695d39c6..36a954e685 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pool_offset_freelist.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/pool_offset_freelist.h @@ -8,15 +8,19 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_address_space.h" #include "partition_alloc/partition_alloc-inl.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" +#include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" +#include "partition_alloc/partition_alloc_buildflags.h" +#include "partition_alloc/partition_alloc_config.h" +#include "partition_alloc/partition_alloc_constants.h" #include "partition_alloc/tagging.h" #if !defined(ARCH_CPU_BIG_ENDIAN) #include "partition_alloc/reverse_bytes.h" -#endif // !defined(ARCH_CPU_BIG_ENDIAN) +#endif namespace partition_alloc::internal { @@ -47,34 +51,44 @@ class EncodedPoolOffset { PA_ALWAYS_INLINE constexpr explicit operator bool() const { return encoded_; } + // Transform() works the same in both directions, so can be used for + // encoding and decoding. + PA_ALWAYS_INLINE static constexpr uintptr_t Transform(uintptr_t offset) { + // We use bswap on little endian as a fast transformation for two reasons: + // 1) The offset is a canonical address, possibly pointing to valid memory, + // whereas, on 64 bit, the swapped offset is very unlikely to be a + // canonical address. Therefore, if an object is freed and its vtable is + // used where the attacker doesn't get the chance to run allocations + // between the free and use, the vtable dereference is likely to fault. + // 2) If the attacker has a linear buffer overflow and elects to try and + // corrupt a freelist pointer, partial pointer overwrite attacks are + // thwarted. + // For big endian, similar guarantees are arrived at with a negation. +#if defined(ARCH_CPU_BIG_ENDIAN) + uintptr_t transformed = ~offset; +#else + uintptr_t transformed = ReverseBytes(offset); +#endif + return transformed; + } + // Determines the containing pool of `ptr` and returns `ptr` // represented as a tagged offset into that pool. PA_ALWAYS_INLINE static uintptr_t Encode(void* ptr) { if (!ptr) { return kEncodeedNullptr; } - uintptr_t addr = reinterpret_cast(ptr); - PoolInfo pool_info = PartitionAddressSpace::GetPoolInfo(addr); + uintptr_t address = reinterpret_cast(ptr); + PoolInfo pool_info = PartitionAddressSpace::GetPoolInfo(address); // Save a MTE tag as well as an offset. - uintptr_t tagged_offset = addr & (kPtrTagMask | ~pool_info.base_mask); - PA_DCHECK(tagged_offset == (pool_info.offset | (addr & kPtrTagMask))); - -#if defined(ARCH_CPU_BIG_ENDIAN) - uintptr_t encoded = ~tagged_offset; -#else - uintptr_t encoded = ReverseBytes(tagged_offset); -#endif - return encoded; + uintptr_t tagged_offset = address & (kPtrTagMask | ~pool_info.base_mask); + PA_DCHECK(tagged_offset == (pool_info.offset | (address & kPtrTagMask))); + return Transform(tagged_offset); } // Given `pool_info`, decodes a `tagged_offset` into a tagged pointer. PA_ALWAYS_INLINE PoolOffsetFreelistEntry* Decode(PoolInfo& pool_info) const { -#if defined(ARCH_CPU_BIG_ENDIAN) - uintptr_t tagged_offset = ~encoded_; -#else - uintptr_t tagged_offset = ReverseBytes(encoded_); -#endif - + uintptr_t tagged_offset = Transform(encoded_); // We assume `tagged_offset` contains a proper MTE tag. return reinterpret_cast(pool_info.base | tagged_offset); @@ -85,16 +99,21 @@ class EncodedPoolOffset { friend PoolOffsetFreelistEntry; }; -// This implementation of PartitionAlloc's freelist uses pool offsets -// rather than naked pointers. This is intended to prevent usage of -// freelist pointers to easily jump around to freed slots. +// Freelist entries are encoded for security reasons. See +// //base/allocator/partition_allocator/PartitionAlloc.md +// and |Transform()| for the rationale and mechanism, respectively. +// +// We'd to especially point out, that as part of encoding, we store the entries +// as pool offsets. In a scenario that an attacker has a write primitive +// anywhere within the pool, they would not be able to corrupt the freelist +// in a way that would allow them to break out of the pool. class PoolOffsetFreelistEntry { constexpr explicit PoolOffsetFreelistEntry(std::nullptr_t) : encoded_next_(nullptr) #if PA_CONFIG(HAS_FREELIST_SHADOW_ENTRY) , shadow_(encoded_next_.Inverted()) -#endif // PA_CONFIG(HAS_FREELIST_SHADOW_ENTRY) +#endif { } explicit PoolOffsetFreelistEntry(PoolOffsetFreelistEntry* next) @@ -102,7 +121,7 @@ class PoolOffsetFreelistEntry { #if PA_CONFIG(HAS_FREELIST_SHADOW_ENTRY) , shadow_(encoded_next_.Inverted()) -#endif // PA_CONFIG(HAS_FREELIST_SHADOW_ENTRY) +#endif { } // For testing only. @@ -111,7 +130,7 @@ class PoolOffsetFreelistEntry { #if PA_CONFIG(HAS_FREELIST_SHADOW_ENTRY) , shadow_(make_shadow_match ? encoded_next_.Inverted() : 12345) -#endif // PA_CONFIG(HAS_FREELIST_SHADOW_ENTRY) +#endif { } @@ -126,7 +145,6 @@ class PoolOffsetFreelistEntry { auto* entry = new (slot_start_tagged) PoolOffsetFreelistEntry(nullptr); return entry; } - PA_ALWAYS_INLINE static PoolOffsetFreelistEntry* EmplaceAndInitNull( uintptr_t slot_start) { return EmplaceAndInitNull(SlotStartAddr2Ptr(slot_start)); @@ -160,7 +178,7 @@ class PoolOffsetFreelistEntry { void CorruptNextForTesting(uintptr_t v) { // We just need a value that can never be a valid pool offset here. - encoded_next_.Override(v); + encoded_next_.Override(EncodedPoolOffset::Transform(v)); } // Puts `slot_size` on the stack before crashing in case of memory @@ -192,7 +210,7 @@ class PoolOffsetFreelistEntry { // SetNext() is either called on the freelist head, when provisioning new // slots, or when GetNext() has been called before, no need to pass the // size. -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) // Regular freelists always point to an entry within the same super page. // // This is most likely a PartitionAlloc bug if this triggers. @@ -201,7 +219,7 @@ class PoolOffsetFreelistEntry { (SlotStartPtr2Addr(entry) & kSuperPageBaseMask))) { FreelistCorruptionDetected(0); } -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) encoded_next_ = EncodedPoolOffset(entry); #if PA_CONFIG(HAS_FREELIST_SHADOW_ENTRY) @@ -236,11 +254,14 @@ class PoolOffsetFreelistEntry { } PoolInfo pool_info = GetPoolInfo(reinterpret_cast(this)); - // We assume `(next_ & pool_info.base_mask) == 0` here. - // This assumption is checked in `IsWellFormed()` later. + // We verify that `(next_ & pool_info.base_mask) == 0` in `IsWellFormed()`, + // which is meant to prevent from breaking out of the pool in face of + // a corruption (see PoolOffsetFreelistEntry class-level comment). auto* ret = encoded_next_.Decode(pool_info); if (PA_UNLIKELY(!IsWellFormed(pool_info, this, ret))) { if constexpr (crash_on_corruption) { + // Put the corrupted data on the stack, it may give us more information + // about what kind of corruption that was. PA_DEBUG_DATA_ON_STACK("first", static_cast(encoded_next_.encoded_)); #if PA_CONFIG(HAS_FREELIST_SHADOW_ENTRY) @@ -250,6 +271,14 @@ class PoolOffsetFreelistEntry { } return nullptr; } + + // In real-world profiles, the load of |encoded_next_| above is responsible + // for a large fraction of the allocation cost. However, we cannot + // anticipate it enough since it is accessed right after we know its + // address. + // + // In the case of repeated allocations, we can prefetch the access that will + // be done at the *next* allocation, which will touch *ret, prefetch it. PA_PREFETCH(ret); return ret; } @@ -262,10 +291,11 @@ class PoolOffsetFreelistEntry { // Don't allow the freelist to be blindly followed to any location. // Checks following constraints: // - `here->shadow_` must match an inversion of `here->next_` (if present). - // - `next` must not have bits in the pool base mask except a MTE tag. - // - `next` cannot point inside the metadata area. - // - `here` and `next` must belong to the same superpage, unless this is in - // the thread cache (they even always belong to the same slot span). + // - `next` mustn't have bits set in the pool base mask, except MTE tag. + // - `next` mustn't point inside the super page metadata area. + // - Unless this is a thread-cache freelist, `here` and `next` must belong + // to the same super page (as a matter of fact, they must belong to the + // same slot span, but that'd be too expensive to check here). // - `next` is marked as free in the free slot bitmap (if present). const uintptr_t here_address = SlotStartPtr2Addr(here); @@ -295,8 +325,8 @@ class PoolOffsetFreelistEntry { const bool same_super_page = (here_address & kSuperPageBaseMask) == (next_address & kSuperPageBaseMask); -#if BUILDFLAG(USE_FREESLOT_BITMAP) - // TODO(crbug.com/1461983): Add support for freeslot bitmaps. +#if PA_BUILDFLAG(USE_FREESLOT_BITMAP) + // TODO(crbug.com/40274683): Add support for freeslot bitmaps. static_assert(false, "USE_FREESLOT_BITMAP not supported"); #else constexpr bool marked_as_free_in_bitmap = true; diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/reservation_offset_table.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/reservation_offset_table.cc index 656f3a183e..0ab06c05c2 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/reservation_offset_table.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/reservation_offset_table.cc @@ -8,11 +8,11 @@ namespace partition_alloc::internal { -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) ReservationOffsetTable ReservationOffsetTable::singleton_; #else ReservationOffsetTable::_ReservationOffsetTable ReservationOffsetTable::reservation_offset_table_; -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) } // namespace partition_alloc::internal diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/reservation_offset_table.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/reservation_offset_table.h index 992baf8aad..1e534ecffd 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/reservation_offset_table.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/reservation_offset_table.h @@ -10,8 +10,8 @@ #include #include -#include "build/build_config.h" #include "partition_alloc/address_pool_manager.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_address_space.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/component_export.h" @@ -67,7 +67,7 @@ static constexpr uint16_t kOffsetTagNormalBuckets = class PA_COMPONENT_EXPORT(PARTITION_ALLOC) PA_THREAD_ISOLATED_ALIGN ReservationOffsetTable { public: -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) // There is one reservation offset table per Pool in 64-bit mode. static constexpr size_t kReservationOffsetTableCoverage = kPoolMaxSize; static constexpr size_t kReservationOffsetTableLength = @@ -78,7 +78,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) static constexpr uint64_t kGiB = 1024 * 1024 * 1024ull; static constexpr size_t kReservationOffsetTableLength = 4 * kGiB / kSuperPageSize; -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) static_assert(kReservationOffsetTableLength < kOffsetTagNormalBuckets, "Offsets should be smaller than kOffsetTagNormalBuckets."); @@ -96,7 +96,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) } } }; -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) // If thread isolation support is enabled, we need to write-protect the tables // of the thread isolated pool. For this, we need to pad the tables so that // the thread isolated ones start on a page boundary. @@ -115,10 +115,10 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) #else // A single table for the entire 32-bit address space. static PA_CONSTINIT struct _ReservationOffsetTable reservation_offset_table_; -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) }; -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) PA_ALWAYS_INLINE uint16_t* GetReservationOffsetTable(pool_handle handle) { PA_DCHECK(kNullPoolHandle < handle && handle <= kNumPools); return ReservationOffsetTable::singleton_.tables[handle - 1].offsets; @@ -148,7 +148,7 @@ PA_ALWAYS_INLINE uint16_t* ReservationOffsetPointer(pool_handle pool, ReservationOffsetTable::kReservationOffsetTableLength); return GetReservationOffsetTable(pool) + table_index; } -#else // BUILDFLAG(HAS_64_BIT_POINTERS) +#else // PA_BUILDFLAG(HAS_64_BIT_POINTERS) PA_ALWAYS_INLINE uint16_t* GetReservationOffsetTable(uintptr_t address) { return ReservationOffsetTable::reservation_offset_table_.offsets; } @@ -158,10 +158,10 @@ PA_ALWAYS_INLINE const uint16_t* GetReservationOffsetTableEnd( return ReservationOffsetTable::reservation_offset_table_.offsets + ReservationOffsetTable::kReservationOffsetTableLength; } -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) PA_ALWAYS_INLINE uint16_t* ReservationOffsetPointer(uintptr_t address) { -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) // In 64-bit mode, find the owning Pool and compute the offset from its base. PartitionAddressSpace::PoolInfo info = GetPoolInfo(address); return ReservationOffsetPointer(info.handle, info.offset); @@ -182,37 +182,37 @@ PA_ALWAYS_INLINE uintptr_t ComputeReservationStart(uintptr_t address, // If the given address doesn't point to direct-map allocated memory, // returns 0. PA_ALWAYS_INLINE uintptr_t GetDirectMapReservationStart(uintptr_t address) { -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) bool is_in_brp_pool = IsManagedByPartitionAllocBRPPool(address); bool is_in_regular_pool = IsManagedByPartitionAllocRegularPool(address); bool is_in_configurable_pool = IsManagedByPartitionAllocConfigurablePool(address); -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) bool is_in_thread_isolated_pool = IsManagedByPartitionAllocThreadIsolatedPool(address); #endif // When ENABLE_BACKUP_REF_PTR_SUPPORT is off, BRP pool isn't used. -#if !BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) +#if !PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) PA_DCHECK(!is_in_brp_pool); #endif -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) uint16_t* offset_ptr = ReservationOffsetPointer(address); PA_DCHECK(*offset_ptr != kOffsetTagNotAllocated); if (*offset_ptr == kOffsetTagNormalBuckets) { return 0; } uintptr_t reservation_start = ComputeReservationStart(address, offset_ptr); -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) // MSVC workaround: the preprocessor seems to choke on an `#if` embedded // inside another macro (PA_DCHECK). -#if !BUILDFLAG(HAS_64_BIT_POINTERS) +#if !PA_BUILDFLAG(HAS_64_BIT_POINTERS) constexpr size_t kBRPOffset = AddressPoolManagerBitmap::kBytesPer1BitOfBRPPoolBitmap * AddressPoolManagerBitmap::kGuardOffsetOfBRPPoolBitmap; #else constexpr size_t kBRPOffset = 0ull; -#endif // !BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // !PA_BUILDFLAG(HAS_64_BIT_POINTERS) // Make sure the reservation start is in the same pool as |address|. // In the 32-bit mode, the beginning of a reservation may be excluded // from the BRP pool, so shift the pointer. The other pools don't have @@ -223,17 +223,17 @@ PA_ALWAYS_INLINE uintptr_t GetDirectMapReservationStart(uintptr_t address) { IsManagedByPartitionAllocRegularPool(reservation_start)); PA_DCHECK(is_in_configurable_pool == IsManagedByPartitionAllocConfigurablePool(reservation_start)); -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) PA_DCHECK(is_in_thread_isolated_pool == IsManagedByPartitionAllocThreadIsolatedPool(reservation_start)); #endif PA_DCHECK(*ReservationOffsetPointer(reservation_start) == 0); -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) return reservation_start; } -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) // If the given address doesn't point to direct-map allocated memory, // returns 0. // This variant has better performance than the regular one on 64-bit builds if @@ -254,7 +254,7 @@ GetDirectMapReservationStart(uintptr_t address, PA_DCHECK(*ReservationOffsetPointer(reservation_start) == 0); return reservation_start; } -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) // Returns true if |address| is the beginning of the first super page of a // reservation, i.e. either a normal bucket super page, or the first super page diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/reverse_bytes.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/reverse_bytes.h index e8d7f42887..d9db43e197 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/reverse_bytes.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/reverse_bytes.h @@ -12,7 +12,7 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_config.h" namespace partition_alloc::internal { diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_dispatch.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_dispatch.h index eacaf3e043..bbd42211d1 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_dispatch.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_dispatch.h @@ -7,6 +7,8 @@ #include +#include "partition_alloc/partition_alloc_check.h" + namespace allocator_shim { struct AllocatorDispatch { @@ -71,26 +73,26 @@ struct AllocatorDispatch { void* address, void* context); - AllocFn* const alloc_function; - AllocUncheckedFn* const alloc_unchecked_function; - AllocZeroInitializedFn* const alloc_zero_initialized_function; - AllocAlignedFn* const alloc_aligned_function; - ReallocFn* const realloc_function; - FreeFn* const free_function; - GetSizeEstimateFn* const get_size_estimate_function; - GoodSizeFn* const good_size_function; + AllocFn* alloc_function; + AllocUncheckedFn* alloc_unchecked_function; + AllocZeroInitializedFn* alloc_zero_initialized_function; + AllocAlignedFn* alloc_aligned_function; + ReallocFn* realloc_function; + FreeFn* free_function; + GetSizeEstimateFn* get_size_estimate_function; + GoodSizeFn* good_size_function; // claimed_address, batch_malloc, batch_free, free_definite_size and // try_free_default are specific to the OSX and iOS allocators. - ClaimedAddressFn* const claimed_address_function; - BatchMallocFn* const batch_malloc_function; - BatchFreeFn* const batch_free_function; - FreeDefiniteSizeFn* const free_definite_size_function; - TryFreeDefaultFn* const try_free_default_function; + ClaimedAddressFn* claimed_address_function; + BatchMallocFn* batch_malloc_function; + BatchFreeFn* batch_free_function; + FreeDefiniteSizeFn* free_definite_size_function; + TryFreeDefaultFn* try_free_default_function; // _aligned_malloc, _aligned_realloc, and _aligned_free are specific to the // Windows allocator. - AlignedMallocFn* const aligned_malloc_function; - AlignedReallocFn* const aligned_realloc_function; - AlignedFreeFn* const aligned_free_function; + AlignedMallocFn* aligned_malloc_function; + AlignedReallocFn* aligned_realloc_function; + AlignedFreeFn* aligned_free_function; const AllocatorDispatch* next; @@ -98,6 +100,65 @@ struct AllocatorDispatch { // allocator_shim_default_dispatch_to_*.cc files, depending on the build // configuration. static const AllocatorDispatch default_dispatch; + + // Optimizes this AllocatorDispatch in order to avoid function-call + // trampolines, i.e. just calling `next->alloc_function`, etc. + // + // Given the two tables (`this` and `next`) as follows in pseudo code: + // this = {this_alloc, nullptr} + // next = {next_alloc, next_free} + // this optimization produces the following table: + // this = {this_alloc, next_free} + // which is more efficient than having {this_alloc, this_free} where + // this_free is a function just calls next_free. + // + // Note that it's hard for toolchains to apply TCO (tail-call optimization) + // because the allocator shim chain is built runtime. + // + // Note that this optimization works well because there is no case to remove + // a shim in the middle of the allocator shim chain nor to reorder the shims + // in the chain. `RemoveAllocatorDispatchForTesting` is the only case that + // removes a shim, and it removes a shim from the chain head. + // + // As of 2024 Apr, on the mac-m1_mini_2020-perf bot, this optimization + // improves Speedometer3 score by 0.1+% per a trampoline shim. + // + // Args: + // this = The AllocatorDispatch to be optimized. + // original_table = A copy of the original state of `this`. This is + // necessary because of a race failure in `InsertAllocatorDispatch`. + // next_table = A table that this->next will point to. + void OptimizeAllocatorDispatchTable(const AllocatorDispatch* original_table, + const AllocatorDispatch* next_table) { + // `original_table` must be a copy of `this`, not `this` itself. + PA_DCHECK(this != original_table); + +#define COPY_IF_NULLPTR(FUNC) \ + do { \ + if (!original_table->FUNC) { \ + FUNC = next_table->FUNC; \ + } \ + } while (false) + + COPY_IF_NULLPTR(alloc_function); + COPY_IF_NULLPTR(alloc_unchecked_function); + COPY_IF_NULLPTR(alloc_zero_initialized_function); + COPY_IF_NULLPTR(alloc_aligned_function); + COPY_IF_NULLPTR(realloc_function); + COPY_IF_NULLPTR(free_function); + COPY_IF_NULLPTR(get_size_estimate_function); + COPY_IF_NULLPTR(good_size_function); + COPY_IF_NULLPTR(claimed_address_function); + COPY_IF_NULLPTR(batch_malloc_function); + COPY_IF_NULLPTR(batch_free_function); + COPY_IF_NULLPTR(free_definite_size_function); + COPY_IF_NULLPTR(try_free_default_function); + COPY_IF_NULLPTR(aligned_malloc_function); + COPY_IF_NULLPTR(aligned_realloc_function); + COPY_IF_NULLPTR(aligned_free_function); + +#undef COPY_IF_NULLPTR + } }; } // namespace allocator_shim diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_interception_apple.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_interception_apple.h index 3a91ab6045..e0d4876b43 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_interception_apple.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_interception_apple.h @@ -7,7 +7,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #include #include "partition_alloc/partition_alloc_base/component_export.h" @@ -66,6 +66,6 @@ void ReplaceZoneFunctions(ChromeMallocZone* zone, } // namespace allocator_shim -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #endif // PARTITION_ALLOC_SHIM_ALLOCATOR_INTERCEPTION_APPLE_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_interception_apple.mm b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_interception_apple.mm index 591bbef2f3..73634f973f 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_interception_apple.mm +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_interception_apple.mm @@ -19,7 +19,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #include #import #include @@ -31,7 +31,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/oom.h" #include "partition_alloc/partition_alloc_base/apple/mach_logging.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" @@ -135,7 +135,7 @@ bool DeprotectMallocZone(ChromeMallocZone* default_zone, MallocZoneFunctions g_old_zone; MallocZoneFunctions g_old_purgeable_zone; -#if !BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if !PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) void* oom_killer_malloc(struct _malloc_zone_t* zone, size_t size) { void* result = g_old_zone.malloc(zone, size); @@ -189,7 +189,7 @@ void* oom_killer_memalign(struct _malloc_zone_t* zone, return result; } -#endif // !BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // !PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) void* oom_killer_malloc_purgeable(struct _malloc_zone_t* zone, size_t size) { void* result = g_old_purgeable_zone.malloc(zone, size); @@ -428,7 +428,7 @@ void InterceptAllocationsMac() { #if !defined(ADDRESS_SANITIZER) // Don't do anything special on OOM for the malloc zones replaced by // AddressSanitizer, as modifying or protecting them may not work correctly. -#if !BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if !PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) // The malloc zone backed by PartitionAlloc crashes by default, so there is // no need to install the OOM killer. ChromeMallocZone* default_zone = @@ -446,7 +446,7 @@ void InterceptAllocationsMac() { ReplaceZoneFunctions(default_zone, &new_functions); g_replaced_default_zone = true; } -#endif // !BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // !PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) ChromeMallocZone* purgeable_zone = reinterpret_cast(malloc_default_purgeable_zone()); @@ -630,4 +630,4 @@ void ReplaceZoneFunctions(ChromeMallocZone* zone, } // namespace allocator_shim -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim.cc index 808a0c5154..eb7251e5e2 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim.cc @@ -4,12 +4,12 @@ #include "partition_alloc/shim/allocator_shim.h" -#include "build/build_config.h" -#include "partition_alloc/partition_alloc_buildflags.h" - #include -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#include "partition_alloc/build_config.h" +#include "partition_alloc/partition_alloc_buildflags.h" + +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) #include "partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.h" #endif @@ -48,7 +48,7 @@ // quite likely to keep working in the future. For instance, LLVM for LSAN uses // this mechanism. -#if defined(LIBC_GLIBC) && BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if defined(LIBC_GLIBC) && PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) #include "partition_alloc/shim/allocator_shim_override_glibc_weak_symbols.h" #endif diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim.h index 6c6c892704..9091dd9920 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim.h @@ -10,14 +10,14 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ALLOCATOR_SHIM) -#include "build/build_config.h" +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_base/types/strong_alias.h" #include "partition_alloc/shim/allocator_dispatch.h" #include "partition_alloc/tagging.h" -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && PA_BUILDFLAG(USE_STARSCAN) #include "partition_alloc/starscan/pcscan.h" #endif @@ -80,6 +80,9 @@ void InsertAllocatorDispatch(AllocatorDispatch* dispatch); PA_COMPONENT_EXPORT(ALLOCATOR_SHIM) void RemoveAllocatorDispatchForTesting(AllocatorDispatch* dispatch); +PA_COMPONENT_EXPORT(ALLOCATOR_SHIM) +const AllocatorDispatch* GetAllocatorDispatchChainHeadForTesting(); + #if BUILDFLAG(IS_APPLE) // The fallback function to be called when try_free_default_function receives a // pointer which doesn't belong to the allocator. @@ -88,16 +91,16 @@ void TryFreeDefaultFallbackToFindZoneAndFree(void* ptr); #endif // BUILDFLAG(IS_APPLE) #if BUILDFLAG(IS_APPLE) -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) PA_COMPONENT_EXPORT(ALLOCATOR_SHIM) void InitializeDefaultAllocatorPartitionRoot(); bool IsDefaultAllocatorPartitionRootInitialized(); -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) // On macOS, the allocator shim needs to be turned on during runtime. PA_COMPONENT_EXPORT(ALLOCATOR_SHIM) void InitializeAllocatorShim(); #endif // BUILDFLAG(IS_APPLE) -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) PA_COMPONENT_EXPORT(ALLOCATOR_SHIM) void EnablePartitionAllocMemoryReclaimer(); using EnableBrp = @@ -125,7 +128,7 @@ void ConfigurePartitions( partition_alloc::TagViolationReportingMode memory_tagging_reporting_mode, BucketDistribution distribution, SchedulerLoopQuarantine scheduler_loop_quarantine, - size_t scheduler_loop_quarantine_capacity_in_bytes, + size_t scheduler_loop_quarantine_branch_capacity_in_bytes, ZappingByFreeFlags zapping_by_free_flags, UsePoolOffsetFreelists use_pool_offset_freelists); @@ -134,14 +137,14 @@ PA_COMPONENT_EXPORT(ALLOCATOR_SHIM) uint32_t GetMainPartitionRootExtrasSize(); PA_COMPONENT_EXPORT(ALLOCATOR_SHIM) void AdjustDefaultAllocatorForForeground(); PA_COMPONENT_EXPORT(ALLOCATOR_SHIM) void AdjustDefaultAllocatorForBackground(); -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) PA_COMPONENT_EXPORT(ALLOCATOR_SHIM) void EnablePCScan(partition_alloc::internal::PCScan::InitConfig); #endif -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) } // namespace allocator_shim -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #endif // PARTITION_ALLOC_SHIM_ALLOCATOR_SHIM_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_android.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_android.cc index 65c00de4cb..7c8f014be6 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_android.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_android.cc @@ -6,10 +6,10 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) #include "partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.h" #endif diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_apple.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_apple.cc index de49a5d459..bb7abe9d7f 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_apple.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_apple.cc @@ -7,13 +7,13 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/apple/mach_logging.h" #include "partition_alloc/partition_alloc_buildflags.h" #include "partition_alloc/partition_alloc_check.h" #include "partition_alloc/shim/allocator_interception_apple.h" -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) #include "partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.h" #endif @@ -59,7 +59,7 @@ void TryFreeDefaultFallbackToFindZoneAndFree(void* ptr) { #include "partition_alloc/shim/shim_alloc_functions.h" -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) // Cpp symbols (new / delete) should always be routed through the shim layer // except on Windows and macOS (except for PartitionAlloc-Everywhere) where the // malloc intercept is deep enough that it also catches the cpp calls. @@ -72,16 +72,16 @@ void TryFreeDefaultFallbackToFindZoneAndFree(void* ptr) { #include "partition_alloc/shim/allocator_shim_override_cpp_symbols.h" #endif -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) #include "partition_alloc/shim/allocator_shim_override_apple_default_zone.h" -#else // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#else // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) #include "partition_alloc/shim/allocator_shim_override_apple_symbols.h" -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) namespace allocator_shim { void InitializeAllocatorShim() { -#if !BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if !PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) // Prepares the default dispatch. After the intercepted malloc calls have // traversed the shim this will route them to the default malloc zone. InitializeDefaultDispatchToMacAllocator(); @@ -91,7 +91,7 @@ void InitializeAllocatorShim() { // This replaces the default malloc zone, causing calls to malloc & friends // from the codebase to be routed to ShimMalloc() above. ReplaceFunctionsForStoredZones(&functions); -#endif // !BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // !PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) } } // namespace allocator_shim diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_linker_wrapped_symbols.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_linker_wrapped_symbols.cc index d0d0567894..5b523a1dd3 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_linker_wrapped_symbols.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_linker_wrapped_symbols.cc @@ -4,7 +4,7 @@ #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/shim/allocator_shim.h" // This translation unit defines a default dispatch for the allocator shim which diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.cc index 356570c554..4ae8c61e89 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.cc @@ -11,8 +11,8 @@ #include #include -#include "build/build_config.h" #include "partition_alloc/allocation_guard.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/chromecast_buildflags.h" #include "partition_alloc/memory_reclaimer.h" #include "partition_alloc/partition_alloc.h" @@ -302,11 +302,11 @@ void* PartitionRealloc(const AllocatorDispatch*, size, ""); } -#if BUILDFLAG(PA_IS_CAST_ANDROID) +#if PA_BUILDFLAG(PA_IS_CAST_ANDROID) extern "C" { void __real_free(void*); } // extern "C" -#endif // BUILDFLAG(PA_IS_CAST_ANDROID) +#endif // PA_BUILDFLAG(PA_IS_CAST_ANDROID) void PartitionFree(const AllocatorDispatch*, void* object, void* context) { partition_alloc::ScopedDisallowAllocations guard{}; @@ -326,7 +326,7 @@ void PartitionFree(const AllocatorDispatch*, void* object, void* context) { // malloc() pointer can be passed to PartitionAlloc's free(). If we don't own // the pointer, pass it along. This should not have a runtime cost vs regular // Android, since on Android we have a PA_CHECK() rather than the branch here. -#if BUILDFLAG(PA_IS_CAST_ANDROID) +#if PA_BUILDFLAG(PA_IS_CAST_ANDROID) if (PA_UNLIKELY(!partition_alloc::IsManagedByPartitionAlloc( reinterpret_cast(object)) && object)) { @@ -335,7 +335,7 @@ void PartitionFree(const AllocatorDispatch*, void* object, void* context) { // here. return __real_free(object); } -#endif // BUILDFLAG(PA_IS_CAST_ANDROID) +#endif // PA_BUILDFLAG(PA_IS_CAST_ANDROID) partition_alloc::PartitionRoot::FreeInlineInUnknownRoot< partition_alloc::FreeFlags::kNoHooks>(object); @@ -467,7 +467,7 @@ partition_alloc::PartitionRoot* PartitionAllocMalloc::OriginalAllocator() { } // namespace allocator_shim::internal -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) namespace allocator_shim { @@ -492,7 +492,7 @@ void ConfigurePartitions( partition_alloc::TagViolationReportingMode memory_tagging_reporting_mode, BucketDistribution distribution, SchedulerLoopQuarantine scheduler_loop_quarantine, - size_t scheduler_loop_quarantine_capacity_in_bytes, + size_t scheduler_loop_quarantine_branch_capacity_in_bytes, ZappingByFreeFlags zapping_by_free_flags, UsePoolOffsetFreelists use_pool_offset_freelists @@ -528,8 +528,8 @@ void ConfigurePartitions( scheduler_loop_quarantine ? partition_alloc::PartitionOptions::kEnabled : partition_alloc::PartitionOptions::kDisabled; - opts.scheduler_loop_quarantine_capacity_in_bytes = - scheduler_loop_quarantine_capacity_in_bytes; + opts.scheduler_loop_quarantine_branch_capacity_in_bytes = + scheduler_loop_quarantine_branch_capacity_in_bytes; opts.memory_tagging = { .enabled = enable_memory_tagging ? partition_alloc::PartitionOptions::kEnabled @@ -574,7 +574,7 @@ uint32_t GetMainPartitionRootExtrasSize() { #endif // PA_CONFIG(EXTRAS_REQUIRED) } -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) void EnablePCScan(partition_alloc::internal::PCScan::InitConfig config) { partition_alloc::internal::PCScan::Initialize(config); @@ -588,7 +588,7 @@ void EnablePCScan(partition_alloc::internal::PCScan::InitConfig config) { allocator_shim::NonScannableAllocator::Instance().NotifyPCScanEnabled(); allocator_shim::NonQuarantinableAllocator::Instance().NotifyPCScanEnabled(); } -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) void AdjustDefaultAllocatorForForeground() { Allocator()->AdjustForForeground(); @@ -722,4 +722,4 @@ void InitializeDefaultAllocatorPartitionRoot() { #endif // BUILDFLAG(IS_APPLE) -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.h index f65db8205d..e6e287eb40 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.h @@ -7,7 +7,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #include "partition_alloc/partition_alloc.h" #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/shim/allocator_shim.h" @@ -78,7 +78,7 @@ size_t PartitionGetSizeEstimate(const AllocatorDispatch*, } // namespace internal -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) // Provide a ConfigurePartitions() helper, to mimic what Chromium uses. This way // we're making it more resilient to ConfigurePartitions() interface changes, so // that we don't have to modify multiple callers. This is particularly important @@ -104,10 +104,10 @@ PA_ALWAYS_INLINE void ConfigurePartitionsForTesting() { scheduler_loop_quarantine_capacity_in_bytes, zapping_by_free_flags, use_pool_offset_freelists); } -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) } // namespace allocator_shim -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #endif // PARTITION_ALLOC_SHIM_ALLOCATOR_SHIM_DEFAULT_DISPATCH_TO_PARTITION_ALLOC_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_dispatch_to_noop_on_free.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_dispatch_to_noop_on_free.cc index 2f3cd35bf3..3069ed9f35 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_dispatch_to_noop_on_free.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_dispatch_to_noop_on_free.cc @@ -12,66 +12,9 @@ namespace allocator_shim { namespace { -void* AllocFn(const AllocatorDispatch* self, size_t size, void* context) { - return self->next->alloc_function(self->next, size, context); -} - -void* AllocUncheckedFn(const AllocatorDispatch* self, - size_t size, - void* context) { - return self->next->alloc_unchecked_function(self->next, size, context); -} - -void* AllocZeroInitializedFn(const AllocatorDispatch* self, - size_t n, - size_t size, - void* context) { - return self->next->alloc_zero_initialized_function(self->next, n, size, - context); -} - -void* AllocAlignedFn(const AllocatorDispatch* self, - size_t alignment, - size_t size, - void* context) { - return self->next->alloc_aligned_function(self->next, alignment, size, - context); -} - -void* ReallocFn(const AllocatorDispatch* self, - void* address, - size_t size, - void* context) { - return self->next->realloc_function(self->next, address, size, context); -} void FreeFn(const AllocatorDispatch* self, void* address, void* context) {} -size_t GetSizeEstimateFn(const AllocatorDispatch* self, - void* address, - void* context) { - return self->next->get_size_estimate_function(self->next, address, context); -} - -size_t GoodSizeFn(const AllocatorDispatch* self, size_t size, void* context) { - return self->next->good_size_function(self->next, size, context); -} - -bool ClaimedAddressFn(const AllocatorDispatch* self, - void* address, - void* context) { - return self->next->claimed_address_function(self->next, address, context); -} - -unsigned BatchMallocFn(const AllocatorDispatch* self, - size_t size, - void** results, - unsigned num_requested, - void* context) { - return self->next->batch_malloc_function(self->next, size, results, - num_requested, context); -} - void BatchFreeFn(const AllocatorDispatch* self, void** to_be_freed, unsigned num_to_be_freed, @@ -86,46 +29,30 @@ void TryFreeDefaultFn(const AllocatorDispatch* self, void* address, void* context) {} -static void* AlignedMallocFn(const AllocatorDispatch* self, - size_t size, - size_t alignment, - void* context) { - return self->next->aligned_malloc_function(self->next, size, alignment, - context); -} - -static void* AlignedReallocFn(const AllocatorDispatch* self, - void* address, - size_t size, - size_t alignment, - void* context) { - return self->next->aligned_realloc_function(self->next, address, size, - alignment, context); -} - static void AlignedFreeFn(const AllocatorDispatch* self, void* address, void* context) {} AllocatorDispatch allocator_dispatch = { - &AllocFn, - &AllocUncheckedFn, - &AllocZeroInitializedFn, - &AllocAlignedFn, - &ReallocFn, - &FreeFn, - &GetSizeEstimateFn, - &GoodSizeFn, - &ClaimedAddressFn, - &BatchMallocFn, - &BatchFreeFn, - &FreeDefiniteSizeFn, - &TryFreeDefaultFn, - &AlignedMallocFn, - &AlignedReallocFn, - &AlignedFreeFn, - nullptr /* next */ + nullptr, // alloc_function + nullptr, // alloc_unchecked_function + nullptr, // alloc_zero_initialized_function + nullptr, // alloc_aligned_function + nullptr, // realloc_function + FreeFn, // free_function + nullptr, // get_size_estimate_function + nullptr, // good_size_function + nullptr, // claimed_address_function + nullptr, // batch_malloc_function + BatchFreeFn, // batch_free_function + FreeDefiniteSizeFn, // free_definite_size_function + TryFreeDefaultFn, // try_free_default_function + nullptr, // aligned_malloc_function + nullptr, // aligned_realloc_function + AlignedFreeFn, // aligned_free_function + nullptr // next }; + } // namespace void InsertNoOpOnFreeAllocatorShimOnShutDown() { diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_functions.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_functions.h index 16c356a669..9edb276a48 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_functions.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_functions.h @@ -13,7 +13,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_check.h" #include "partition_alloc/shim/allocator_dispatch.h" @@ -73,9 +73,12 @@ void UncheckedFree(void* ptr) { void InsertAllocatorDispatch(AllocatorDispatch* dispatch) { // Loop in case of (an unlikely) race on setting the list head. - size_t kMaxRetries = 7; + constexpr size_t kMaxRetries = 7; + const AllocatorDispatch original_dispatch = *dispatch; for (size_t i = 0; i < kMaxRetries; ++i) { const AllocatorDispatch* chain_head = internal::GetChainHead(); + + dispatch->OptimizeAllocatorDispatchTable(&original_dispatch, chain_head); dispatch->next = chain_head; // This function guarantees to be thread-safe w.r.t. concurrent @@ -99,10 +102,16 @@ void InsertAllocatorDispatch(AllocatorDispatch* dispatch) { } void RemoveAllocatorDispatchForTesting(AllocatorDispatch* dispatch) { + // See `AllocatorDispatch::OptimizeAllocatorDispatchTable`. Only the chain + // head can be removed. Otherwise, the optimization gets broken. PA_DCHECK(internal::GetChainHead() == dispatch); internal::g_chain_head.store(dispatch->next, std::memory_order_relaxed); } +const AllocatorDispatch* GetAllocatorDispatchChainHeadForTesting() { + return internal::GetChainHead(); +} + } // namespace allocator_shim #endif // PARTITION_ALLOC_SHIM_ALLOCATOR_SHIM_FUNCTIONS_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_internals.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_internals.h index 15253db7d8..da50232bb4 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_internals.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_internals.h @@ -5,7 +5,7 @@ #ifndef PARTITION_ALLOC_SHIM_ALLOCATOR_SHIM_INTERNALS_H_ #define PARTITION_ALLOC_SHIM_ALLOCATOR_SHIM_INTERNALS_H_ -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #if defined(__GNUC__) diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_apple_default_zone.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_apple_default_zone.h index 8b0f9c9a59..19de53cfa4 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_apple_default_zone.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_apple_default_zone.h @@ -9,7 +9,7 @@ #ifndef PARTITION_ALLOC_SHIM_ALLOCATOR_SHIM_OVERRIDE_APPLE_DEFAULT_ZONE_H_ #define PARTITION_ALLOC_SHIM_ALLOCATOR_SHIM_OVERRIDE_APPLE_DEFAULT_ZONE_H_ -#if !BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if !PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) #error This header must be included iff PartitionAlloc-Everywhere is enabled. #endif diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_apple_symbols.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_apple_symbols.h index b130eb5253..0ee2bd5984 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_apple_symbols.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_apple_symbols.h @@ -11,7 +11,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #include "partition_alloc/shim/malloc_zone_functions_apple.h" #include "partition_alloc/third_party/apple_apsl/malloc.h" @@ -72,6 +72,6 @@ MallocZoneFunctions MallocZoneFunctionsToReplaceDefault() { } // namespace allocator_shim -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #endif // PARTITION_ALLOC_SHIM_ALLOCATOR_SHIM_OVERRIDE_APPLE_SYMBOLS_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_cpp_symbols.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_cpp_symbols.h index bdcddad2da..d25a4dcf80 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_cpp_symbols.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_cpp_symbols.h @@ -11,14 +11,14 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) // Preempt the default new/delete C++ symbols so they call the shim entry // points. This file is strongly inspired by tcmalloc's // libc_override_redefine.h. #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/shim/allocator_shim_internals.h" @@ -35,7 +35,7 @@ #endif SHIM_CPP_SYMBOLS_EXPORT void* operator new(size_t size) { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) return malloc(size); #else return ShimCppNew(size); @@ -43,7 +43,7 @@ SHIM_CPP_SYMBOLS_EXPORT void* operator new(size_t size) { } SHIM_CPP_SYMBOLS_EXPORT void operator delete(void* p) __THROW { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) free(p); #else ShimCppDelete(p); @@ -51,7 +51,7 @@ SHIM_CPP_SYMBOLS_EXPORT void operator delete(void* p) __THROW { } SHIM_CPP_SYMBOLS_EXPORT void* operator new[](size_t size) { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) return malloc(size); #else return ShimCppNew(size); @@ -59,7 +59,7 @@ SHIM_CPP_SYMBOLS_EXPORT void* operator new[](size_t size) { } SHIM_CPP_SYMBOLS_EXPORT void operator delete[](void* p) __THROW { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) free(p); #else ShimCppDelete(p); @@ -68,7 +68,7 @@ SHIM_CPP_SYMBOLS_EXPORT void operator delete[](void* p) __THROW { SHIM_CPP_SYMBOLS_EXPORT void* operator new(size_t size, const std::nothrow_t&) __THROW { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) return malloc(size); #else return ShimCppNewNoThrow(size); @@ -77,7 +77,7 @@ SHIM_CPP_SYMBOLS_EXPORT void* operator new(size_t size, SHIM_CPP_SYMBOLS_EXPORT void* operator new[](size_t size, const std::nothrow_t&) __THROW { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) return malloc(size); #else return ShimCppNewNoThrow(size); @@ -86,7 +86,7 @@ SHIM_CPP_SYMBOLS_EXPORT void* operator new[](size_t size, SHIM_CPP_SYMBOLS_EXPORT void operator delete(void* p, const std::nothrow_t&) __THROW { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) free(p); #else ShimCppDelete(p); @@ -95,7 +95,7 @@ SHIM_CPP_SYMBOLS_EXPORT void operator delete(void* p, SHIM_CPP_SYMBOLS_EXPORT void operator delete[](void* p, const std::nothrow_t&) __THROW { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) free(p); #else ShimCppDelete(p); @@ -103,7 +103,7 @@ SHIM_CPP_SYMBOLS_EXPORT void operator delete[](void* p, } SHIM_CPP_SYMBOLS_EXPORT void operator delete(void* p, size_t) __THROW { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) free(p); #else ShimCppDelete(p); @@ -111,7 +111,7 @@ SHIM_CPP_SYMBOLS_EXPORT void operator delete(void* p, size_t) __THROW { } SHIM_CPP_SYMBOLS_EXPORT void operator delete[](void* p, size_t) __THROW { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) free(p); #else ShimCppDelete(p); @@ -120,7 +120,7 @@ SHIM_CPP_SYMBOLS_EXPORT void operator delete[](void* p, size_t) __THROW { SHIM_CPP_SYMBOLS_EXPORT void* operator new(std::size_t size, std::align_val_t alignment) { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) return aligned_alloc(static_cast(alignment), size); #else return ShimCppAlignedNew(size, static_cast(alignment)); @@ -130,7 +130,7 @@ SHIM_CPP_SYMBOLS_EXPORT void* operator new(std::size_t size, SHIM_CPP_SYMBOLS_EXPORT void* operator new(std::size_t size, std::align_val_t alignment, const std::nothrow_t&) __THROW { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) return aligned_alloc(static_cast(alignment), size); #else return ShimCppAlignedNew(size, static_cast(alignment)); @@ -139,7 +139,7 @@ SHIM_CPP_SYMBOLS_EXPORT void* operator new(std::size_t size, SHIM_CPP_SYMBOLS_EXPORT void operator delete(void* p, std::align_val_t) __THROW { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) free(p); #else ShimCppDelete(p); @@ -149,7 +149,7 @@ SHIM_CPP_SYMBOLS_EXPORT void operator delete(void* p, SHIM_CPP_SYMBOLS_EXPORT void operator delete(void* p, std::size_t size, std::align_val_t) __THROW { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) free(p); #else ShimCppDelete(p); @@ -159,7 +159,7 @@ SHIM_CPP_SYMBOLS_EXPORT void operator delete(void* p, SHIM_CPP_SYMBOLS_EXPORT void operator delete(void* p, std::align_val_t, const std::nothrow_t&) __THROW { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) free(p); #else ShimCppDelete(p); @@ -168,7 +168,7 @@ SHIM_CPP_SYMBOLS_EXPORT void operator delete(void* p, SHIM_CPP_SYMBOLS_EXPORT void* operator new[](std::size_t size, std::align_val_t alignment) { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) return aligned_alloc(static_cast(alignment), size); #else return ShimCppAlignedNew(size, static_cast(alignment)); @@ -178,7 +178,7 @@ SHIM_CPP_SYMBOLS_EXPORT void* operator new[](std::size_t size, SHIM_CPP_SYMBOLS_EXPORT void* operator new[](std::size_t size, std::align_val_t alignment, const std::nothrow_t&) __THROW { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) return aligned_alloc(static_cast(alignment), size); #else return ShimCppAlignedNew(size, static_cast(alignment)); @@ -187,7 +187,7 @@ SHIM_CPP_SYMBOLS_EXPORT void* operator new[](std::size_t size, SHIM_CPP_SYMBOLS_EXPORT void operator delete[](void* p, std::align_val_t) __THROW { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) free(p); #else ShimCppDelete(p); @@ -197,7 +197,7 @@ SHIM_CPP_SYMBOLS_EXPORT void operator delete[](void* p, SHIM_CPP_SYMBOLS_EXPORT void operator delete[](void* p, std::size_t size, std::align_val_t) __THROW { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) free(p); #else ShimCppDelete(p); @@ -207,13 +207,13 @@ SHIM_CPP_SYMBOLS_EXPORT void operator delete[](void* p, SHIM_CPP_SYMBOLS_EXPORT void operator delete[](void* p, std::align_val_t, const std::nothrow_t&) __THROW { -#if BUILDFLAG(FORWARD_THROUGH_MALLOC) +#if PA_BUILDFLAG(FORWARD_THROUGH_MALLOC) free(p); #else ShimCppDelete(p); #endif } -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #endif // PARTITION_ALLOC_SHIM_ALLOCATOR_SHIM_OVERRIDE_CPP_SYMBOLS_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_glibc_weak_symbols.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_glibc_weak_symbols.h index 1089c17732..a060117695 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_glibc_weak_symbols.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_glibc_weak_symbols.h @@ -22,7 +22,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #include // for __GLIBC__ #include #include @@ -123,6 +123,6 @@ SHIM_ALWAYS_EXPORT int __posix_memalign(void** r, size_t a, size_t s) { shim by setting use_allocator_shim=false in GN args. #endif -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #endif // PARTITION_ALLOC_SHIM_ALLOCATOR_SHIM_OVERRIDE_GLIBC_WEAK_SYMBOLS_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_libc_symbols.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_libc_symbols.h index cb53b5eedc..27ef243115 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_libc_symbols.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_libc_symbols.h @@ -14,8 +14,8 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ALLOCATOR_SHIM) -#include "build/build_config.h" +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) +#include "partition_alloc/build_config.h" #if BUILDFLAG(IS_APPLE) #include @@ -98,6 +98,6 @@ SHIM_ALWAYS_EXPORT size_t malloc_usable_size(void* address) __THROW { } // extern "C" -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #endif // PARTITION_ALLOC_SHIM_ALLOCATOR_SHIM_OVERRIDE_LIBC_SYMBOLS_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_linker_wrapped_symbols.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_linker_wrapped_symbols.h index 0d4ecd2ce8..3157d53bfd 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_linker_wrapped_symbols.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_linker_wrapped_symbols.h @@ -17,7 +17,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #include #include @@ -178,6 +178,6 @@ SHIM_ALWAYS_EXPORT int __wrap_asprintf(char** strp, const char* fmt, ...) { } // extern "C" -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #endif // PARTITION_ALLOC_SHIM_ALLOCATOR_SHIM_OVERRIDE_LINKER_WRAPPED_SYMBOLS_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_ucrt_symbols_win.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_ucrt_symbols_win.h index 782a6f7593..e46d9af1ab 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_ucrt_symbols_win.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_override_ucrt_symbols_win.h @@ -14,7 +14,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_check.h" #include "partition_alloc/shim/allocator_shim_internals.h" @@ -261,6 +261,6 @@ errno_t _wdupenv_s(wchar_t** buffer, #endif } // extern "C" -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #endif // PARTITION_ALLOC_SHIM_ALLOCATOR_SHIM_OVERRIDE_UCRT_SYMBOLS_WIN_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_win_component.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_win_component.cc index dde88fd1c6..4acaa17995 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_win_component.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_win_component.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_buildflags.h" #include "partition_alloc/shim/allocator_dispatch.h" #include "partition_alloc/shim/winheap_stubs_win.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_win_static.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_win_static.cc index fdaa278bd8..b62a860846 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_win_static.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_win_static.cc @@ -2,14 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/numerics/checked_math.h" #include "partition_alloc/partition_alloc_buildflags.h" #include "partition_alloc/shim/allocator_shim.h" #include "partition_alloc/shim/checked_multiply_win.h" -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) #include "partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.h" #endif diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/malloc_zone_functions_apple.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/malloc_zone_functions_apple.h index 7d32024165..6180662591 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/malloc_zone_functions_apple.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/malloc_zone_functions_apple.h @@ -7,7 +7,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #include #include @@ -114,6 +114,6 @@ inline MallocZoneFunctions& GetFunctionsForZone(void* zone) { } // namespace allocator_shim -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #endif // PARTITION_ALLOC_SHIM_MALLOC_ZONE_FUNCTIONS_APPLE_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/nonscannable_allocator.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/nonscannable_allocator.cc index 86bc0ae11e..a2b96a4370 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/nonscannable_allocator.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/nonscannable_allocator.cc @@ -6,18 +6,18 @@ #include "partition_alloc/partition_root.h" -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) #include "partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.h" -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) #include "partition_alloc/internal_allocator.h" #include "partition_alloc/starscan/pcscan.h" #endif -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) namespace allocator_shim::internal { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) template NonScannableAllocatorImpl::NonScannableAllocatorImpl() = default; template @@ -35,14 +35,14 @@ NonScannableAllocatorImpl::Instance() { template void* NonScannableAllocatorImpl::Alloc(size_t size) { -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) // TODO(bikineev): Change to LIKELY once PCScan is enabled by default. if (PA_UNLIKELY(pcscan_enabled_.load(std::memory_order_acquire))) { PA_DCHECK(allocator_.get()); return allocator_->root() ->AllocInline(size); } -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) // Otherwise, dispatch to default partition. return allocator_shim::internal::PartitionAllocMalloc::Allocator() ->AllocInline(size); @@ -50,19 +50,19 @@ void* NonScannableAllocatorImpl::Alloc(size_t size) { template void NonScannableAllocatorImpl::Free(void* ptr) { -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) if (PA_UNLIKELY(pcscan_enabled_.load(std::memory_order_acquire))) { allocator_->root()->FreeInline(ptr); return; } -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) partition_alloc::PartitionRoot::FreeInlineInUnknownRoot< partition_alloc::FreeFlags::kNoHooks>(ptr); } template void NonScannableAllocatorImpl::NotifyPCScanEnabled() { -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) partition_alloc::PartitionOptions opts; opts.star_scan_quarantine = quarantinable ? partition_alloc::PartitionOptions::kAllowed @@ -75,7 +75,7 @@ void NonScannableAllocatorImpl::NotifyPCScanEnabled() { allocator_->root()); } pcscan_enabled_.store(true, std::memory_order_release); -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) } template class PA_EXPORT_TEMPLATE_DEFINE(PA_COMPONENT_EXPORT(ALLOCATOR_SHIM)) @@ -83,6 +83,6 @@ template class PA_EXPORT_TEMPLATE_DEFINE(PA_COMPONENT_EXPORT(ALLOCATOR_SHIM)) template class PA_EXPORT_TEMPLATE_DEFINE(PA_COMPONENT_EXPORT(ALLOCATOR_SHIM)) NonScannableAllocatorImpl; -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) } // namespace allocator_shim::internal diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/nonscannable_allocator.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/nonscannable_allocator.h index bb210e318e..b976a7f34e 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/nonscannable_allocator.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/nonscannable_allocator.h @@ -14,17 +14,17 @@ #include "partition_alloc/partition_alloc_base/no_destructor.h" #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) #include "partition_alloc/partition_alloc.h" -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) #include "partition_alloc/internal_allocator_forward.h" #endif -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) namespace allocator_shim { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) namespace internal { // Represents allocator that contains memory for data-like objects (that don't @@ -46,14 +46,14 @@ class NonScannableAllocatorImpl final { // Returns PartitionRoot corresponding to the allocator, or nullptr if the // allocator is not enabled. partition_alloc::PartitionRoot* root() { -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) if (!allocator_.get()) { return nullptr; } return allocator_->root(); #else return nullptr; -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) } void NotifyPCScanEnabled(); @@ -65,12 +65,12 @@ class NonScannableAllocatorImpl final { NonScannableAllocatorImpl(); ~NonScannableAllocatorImpl(); -#if BUILDFLAG(USE_STARSCAN) +#if PA_BUILDFLAG(USE_STARSCAN) std::unique_ptr allocator_; std::atomic_bool pcscan_enabled_{false}; -#endif // BUILDFLAG(USE_STARSCAN) +#endif // PA_BUILDFLAG(USE_STARSCAN) }; extern template class PA_EXPORT_TEMPLATE_DECLARE( @@ -83,7 +83,7 @@ extern template class PA_EXPORT_TEMPLATE_DECLARE( using NonScannableAllocator = internal::NonScannableAllocatorImpl; using NonQuarantinableAllocator = internal::NonScannableAllocatorImpl; -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) } // namespace allocator_shim diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/shim_alloc_functions.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/shim_alloc_functions.h index 13a7a8bef1..2e6994d8d3 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/shim_alloc_functions.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/shim_alloc_functions.h @@ -12,7 +12,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/bits.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/memory/page_size.h" @@ -56,7 +56,7 @@ PA_ALWAYS_INLINE void* ShimCppNew(size_t size) { void* ptr; do { void* context = nullptr; -#if BUILDFLAG(IS_APPLE) && !BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if BUILDFLAG(IS_APPLE) && !PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) context = malloc_default_zone(); #endif ptr = chain_head->alloc_function(chain_head, size, context); @@ -66,7 +66,7 @@ PA_ALWAYS_INLINE void* ShimCppNew(size_t size) { PA_ALWAYS_INLINE void* ShimCppNewNoThrow(size_t size) { void* context = nullptr; -#if BUILDFLAG(IS_APPLE) && !BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if BUILDFLAG(IS_APPLE) && !PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) context = malloc_default_zone(); #endif const allocator_shim::AllocatorDispatch* const chain_head = @@ -80,7 +80,7 @@ PA_ALWAYS_INLINE void* ShimCppAlignedNew(size_t size, size_t alignment) { void* ptr; do { void* context = nullptr; -#if BUILDFLAG(IS_APPLE) && !BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if BUILDFLAG(IS_APPLE) && !PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) context = malloc_default_zone(); #endif ptr = chain_head->alloc_aligned_function(chain_head, alignment, size, @@ -91,7 +91,7 @@ PA_ALWAYS_INLINE void* ShimCppAlignedNew(size_t size, size_t alignment) { PA_ALWAYS_INLINE void ShimCppDelete(void* address) { void* context = nullptr; -#if BUILDFLAG(IS_APPLE) && !BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if BUILDFLAG(IS_APPLE) && !PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) context = malloc_default_zone(); #endif const allocator_shim::AllocatorDispatch* const chain_head = diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/winheap_stubs_win.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/winheap_stubs_win.cc index 3318cf98af..931ec65f6d 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/winheap_stubs_win.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/winheap_stubs_win.cc @@ -104,12 +104,12 @@ struct AlignedPrefix { static_assert( kMaxWindowsAllocation < std::numeric_limits::max(), "original_allocation_offset must be able to fit into an unsigned int"); -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) // Magic value used to check that _aligned_free() and _aligned_realloc() are // only ever called on an aligned allocated chunk. static constexpr unsigned int kMagic = 0x12003400; unsigned int magic; -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) }; // Compute how large an allocation we need to fit an allocation with the given @@ -134,18 +134,18 @@ void* AlignAllocation(void* ptr, size_t alignment) { prefix->original_allocation_offset = partition_alloc::internal::base::checked_cast( address - reinterpret_cast(ptr)); -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) prefix->magic = AlignedPrefix::kMagic; -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) return reinterpret_cast(address); } // Return the original allocation from an aligned allocation. void* UnalignAllocation(void* ptr) { AlignedPrefix* prefix = reinterpret_cast(ptr) - 1; -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) PA_DCHECK(prefix->magic == AlignedPrefix::kMagic); -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) void* unaligned = static_cast(ptr) - prefix->original_allocation_offset; PA_CHECK(unaligned < ptr); diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/winheap_stubs_win.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/winheap_stubs_win.h index 65e17666df..be8fd29c4f 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/winheap_stubs_win.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/shim/winheap_stubs_win.h @@ -13,7 +13,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #include "partition_alloc/partition_alloc_base/component_export.h" namespace allocator_shim { @@ -47,6 +47,6 @@ PA_COMPONENT_EXPORT(ALLOCATOR_SHIM) void WinHeapAlignedFree(void* ptr); } // namespace allocator_shim -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #endif // PARTITION_ALLOC_SHIM_WINHEAP_STUBS_WIN_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc index 29aacf3134..56b289ec0b 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc @@ -4,7 +4,7 @@ #include "partition_alloc/spinning_mutex.h" -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_check.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.h index 12a5a9c2bc..b550fb4da0 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.h @@ -8,7 +8,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_base/thread_annotations.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc index ac79887af4..1f3ce3f9af 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc @@ -7,7 +7,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_buildflags.h" #include "partition_alloc/partition_alloc_check.h" @@ -136,12 +136,12 @@ namespace { } // namespace void Stack::IteratePointers(StackVisitor* visitor) const { -#if BUILDFLAG(STACK_SCAN_SUPPORTED) +#if PA_BUILDFLAG(STACK_SCAN_SUPPORTED) PAPushAllRegistersAndIterateStack(this, visitor, &IteratePointersImpl); // No need to deal with callee-saved registers as they will be kept alive by // the regular conservative stack iteration. IterateSafeStackIfNecessary(visitor); -#endif // BUILDFLAG(STACK_SCAN_SUPPORTED) +#endif // PA_BUILDFLAG(STACK_SCAN_SUPPORTED) } StackTopRegistry::StackTopRegistry() = default; diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/pcscan_internal.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/pcscan_internal.cc index b365a4d8d0..a7edebb06e 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/pcscan_internal.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/pcscan_internal.cc @@ -17,9 +17,9 @@ #include #include -#include "build/build_config.h" #include "partition_alloc/address_pool_manager.h" #include "partition_alloc/allocation_guard.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/internal_allocator.h" #include "partition_alloc/page_allocator.h" #include "partition_alloc/page_allocator_constants.h" @@ -52,7 +52,7 @@ #include "partition_alloc/tagging.h" #include "partition_alloc/thread_cache.h" -#if !BUILDFLAG(HAS_64_BIT_POINTERS) +#if !PA_BUILDFLAG(HAS_64_BIT_POINTERS) #include "partition_alloc/address_pool_manager_bitmap.h" #endif @@ -621,7 +621,7 @@ PA_SCAN_INLINE AllocationStateMap* PCScanTask::TryFindScannerBitmapForPointer( PA_SCAN_DCHECK(IsManagedByPartitionAllocRegularPool(maybe_ptr)); // First, check if |maybe_ptr| points to a valid super page or a quarantined // card. -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) #if PA_CONFIG(STARSCAN_USE_CARD_TABLE) // Check if |maybe_ptr| points to a quarantined card. if (PA_LIKELY( @@ -642,11 +642,11 @@ PA_SCAN_INLINE AllocationStateMap* PCScanTask::TryFindScannerBitmapForPointer( return nullptr; } #endif // PA_CONFIG(STARSCAN_USE_CARD_TABLE) -#else // BUILDFLAG(HAS_64_BIT_POINTERS) +#else // PA_BUILDFLAG(HAS_64_BIT_POINTERS) if (PA_LIKELY(!IsManagedByPartitionAllocRegularPool(maybe_ptr))) { return nullptr; } -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) // We are certain here that |maybe_ptr| points to an allocated super-page. return StateBitmapFromAddr(maybe_ptr); @@ -785,14 +785,14 @@ class PCScanScanLoop final : public ScanLoop { size_t quarantine_size() const { return quarantine_size_; } private: -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) PA_ALWAYS_INLINE static uintptr_t RegularPoolBase() { return PartitionAddressSpace::RegularPoolBase(); } PA_ALWAYS_INLINE static uintptr_t RegularPoolMask() { return PartitionAddressSpace::RegularPoolBaseMask(); } -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) PA_SCAN_INLINE void CheckPointer(uintptr_t maybe_ptr_maybe_tagged) { // |maybe_ptr| may have an MTE tag, so remove it first. @@ -1296,7 +1296,7 @@ PCScanInternal::~PCScanInternal() = default; void PCScanInternal::Initialize(PCScan::InitConfig config) { PA_DCHECK(!is_initialized_); -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) // Make sure that pools are initialized. PartitionAddressSpace::Init(); #endif diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/pcscan_scheduling.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/pcscan_scheduling.cc index 1cbc71eed1..0ed3106735 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/pcscan_scheduling.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/pcscan_scheduling.cc @@ -209,7 +209,7 @@ bool MUAwareTaskBasedBackend::NeedsToImmediatelyScan() { base::TimeDelta MUAwareTaskBasedBackend::UpdateDelayedSchedule() { ScopedGuard guard(scheduler_lock_); - // TODO(1197479): Adjust schedule to current heap sizing. + // TODO(crbug.com/40176938): Adjust schedule to current heap sizing. const auto delay = earliest_next_scan_time_ - base::TimeTicks::Now(); PA_PCSCAN_VLOG(3) << "Schedule is off by " << delay.InMillisecondsF() << "ms"; return delay >= base::TimeDelta() ? delay : base::TimeDelta(); diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/scan_loop.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/scan_loop.h index b2facc00ca..c3a6252f77 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/scan_loop.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/scan_loop.h @@ -8,7 +8,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_buildflags.h" #include "partition_alloc/partition_alloc_check.h" @@ -97,12 +97,12 @@ template void ScanLoop::RunUnvectorized(uintptr_t begin, uintptr_t end) { PA_SCAN_DCHECK(!(begin % sizeof(uintptr_t))); PA_SCAN_DCHECK(!(end % sizeof(uintptr_t))); -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) // If the read value is a pointer into the PA region, it's likely // MTE-tagged. Piggyback on |mask| to untag, for efficiency. const uintptr_t mask = Derived::RegularPoolMask() & kPtrUntagMask; const uintptr_t base = Derived::RegularPoolBase(); -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) for (; begin < end; begin += sizeof(uintptr_t)) { // Read the region word-by-word. Everything that we read is a potential // pointer to or inside an object on heap. Such an object should be @@ -110,7 +110,7 @@ void ScanLoop::RunUnvectorized(uintptr_t begin, uintptr_t end) { // // Keep it MTE-untagged. See DisableMTEScope for details. const uintptr_t maybe_ptr = *reinterpret_cast(begin); -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) if (PA_LIKELY((maybe_ptr & mask) != base)) { continue; } @@ -118,7 +118,7 @@ void ScanLoop::RunUnvectorized(uintptr_t begin, uintptr_t end) { if (!maybe_ptr) { continue; } -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) derived().CheckPointer(maybe_ptr); } } diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/write_protector.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/write_protector.cc index a41e1f87fa..27391301fe 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/write_protector.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/write_protector.cc @@ -7,8 +7,8 @@ #include #include -#include "build/build_config.h" #include "partition_alloc/address_pool_manager.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_address_space.h" #include "partition_alloc/partition_alloc_base/logging.h" #include "partition_alloc/partition_alloc_base/posix/eintr_wrapper.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/write_protector.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/write_protector.h index 76d08f2c6f..30fc61db3d 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/write_protector.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/starscan/write_protector.h @@ -9,7 +9,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/internal_allocator_forward.h" #include "partition_alloc/starscan/pcscan.h" #include "partition_alloc/starscan/raceful_worklist.h" diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/tagging.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/tagging.cc index 07a6ad5007..2cfcab4903 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/tagging.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/tagging.cc @@ -4,14 +4,17 @@ #include "partition_alloc/tagging.h" -#include "build/build_config.h" +#include + +#include "partition_alloc/aarch64_support.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/cpu.h" #include "partition_alloc/partition_alloc_buildflags.h" #include "partition_alloc/partition_alloc_check.h" #include "partition_alloc/partition_alloc_config.h" -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) #include #include #include @@ -45,44 +48,60 @@ #if BUILDFLAG(IS_ANDROID) #include "partition_alloc/partition_alloc_base/files/file_path.h" #include "partition_alloc/partition_alloc_base/native_library.h" -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) #include #endif // BUILDFLAGS(HAS_MEMORY_TAGGING) #endif // BUILDFLAG(IS_ANDROID) namespace partition_alloc { +void ChangeMemoryTaggingModeForCurrentThreadNoOp(TagViolationReportingMode m) {} -#if BUILDFLAG(HAS_MEMORY_TAGGING) -namespace { -void ChangeMemoryTaggingModeInternal(unsigned prctl_mask) { - if (internal::base::CPU::GetInstanceNoAllocation().has_mte()) { - int status = prctl(PR_SET_TAGGED_ADDR_CTRL, prctl_mask, 0, 0, 0); +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) +using ChangeMemoryTaggingModeForCurrentThreadInternalFn = + void(TagViolationReportingMode); + +void ChangeMemoryTaggingModeForCurrentThreadForMte( + TagViolationReportingMode m) { + const auto change_memory_tagging_mode = [](unsigned long prctl_mask) { + const int status = prctl(PR_SET_TAGGED_ADDR_CTRL, prctl_mask, 0, 0, 0); PA_CHECK(status == 0); - } -} -} // namespace -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) + }; -void ChangeMemoryTaggingModeForCurrentThread(TagViolationReportingMode m) { -#if BUILDFLAG(HAS_MEMORY_TAGGING) if (m == TagViolationReportingMode::kSynchronous) { - ChangeMemoryTaggingModeInternal(PR_TAGGED_ADDR_ENABLE | PR_MTE_TCF_SYNC | - (0xfffe << PR_MTE_TAG_SHIFT)); + change_memory_tagging_mode(PR_TAGGED_ADDR_ENABLE | PR_MTE_TCF_SYNC | + (0xfffe << PR_MTE_TAG_SHIFT)); } else if (m == TagViolationReportingMode::kAsynchronous) { - ChangeMemoryTaggingModeInternal(PR_TAGGED_ADDR_ENABLE | PR_MTE_TCF_ASYNC | - (0xfffe << PR_MTE_TAG_SHIFT)); + change_memory_tagging_mode(PR_TAGGED_ADDR_ENABLE | PR_MTE_TCF_ASYNC | + (0xfffe << PR_MTE_TAG_SHIFT)); } else { - ChangeMemoryTaggingModeInternal(PR_TAGGED_ADDR_ENABLE | PR_MTE_TCF_NONE); + change_memory_tagging_mode(PR_TAGGED_ADDR_ENABLE | PR_MTE_TCF_NONE); } -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) } +extern "C" ChangeMemoryTaggingModeForCurrentThreadInternalFn* +ResolveChangeMemoryTaggingModeForCurrentThread(uint64_t hwcap, + struct __ifunc_arg_t* hw) { + return internal::IsMteEnabled(hwcap, hw) + ? &ChangeMemoryTaggingModeForCurrentThreadForMte + : &ChangeMemoryTaggingModeForCurrentThreadNoOp; +} +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) + +void ChangeMemoryTaggingModeForCurrentThread(TagViolationReportingMode m) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) + __attribute__((ifunc("ResolveChangeMemoryTaggingModeForCurrentThread"))); +#else +{ + ChangeMemoryTaggingModeForCurrentThreadNoOp(m); +} +#endif + namespace internal { #if BUILDFLAG(IS_ANDROID) bool ChangeMemoryTaggingModeForAllThreadsPerProcess( TagViolationReportingMode m) { -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) // In order to support Android NDK API level below 26, we need to call // mallopt via dynamic linker. // int mallopt(int param, int value); @@ -115,7 +134,7 @@ bool ChangeMemoryTaggingModeForAllThreadsPerProcess( return status != 0; #else return false; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) } #endif // BUILDFLAG(IS_ANDROID) @@ -128,7 +147,7 @@ namespace { return ret; } -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) void* TagRegionRandomlyForMTE(void* ptr, size_t sz, uint64_t mask) { // Randomly tag a region (MTE-enabled systems only). The first 16-byte // granule is randomly tagged, all other granules in the region are @@ -185,37 +204,38 @@ void* TagRegionRandomlyNoOp(void* ptr, size_t sz, uint64_t mask) { void* RemaskVoidPtrNoOp(void* ptr) { return ptr; } -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) } // namespace -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) using RemaskPtrInternalFn = void*(void* ptr); using TagMemoryRangeIncrementInternalFn = void*(void* ptr, size_t size); - using TagMemoryRangeRandomlyInternalFn = void*(void* ptr, size_t size, uint64_t mask); -extern "C" TagMemoryRangeIncrementInternalFn( - *ResolveTagMemoryRangeIncrement(uint64_t hwcap, struct __ifunc_arg_t* hw)) { - if ((hwcap & _IFUNC_ARG_HWCAP) && (hw->_hwcap2 & HWCAP2_MTE)) { +extern "C" TagMemoryRangeIncrementInternalFn* ResolveTagMemoryRangeIncrement( + uint64_t hwcap, + struct __ifunc_arg_t* hw) { + if (IsMteEnabled(hwcap, hw)) { return TagRegionIncrementForMTE; } return TagRegionIncrementNoOp; } -extern "C" TagMemoryRangeRandomlyInternalFn( - *ResolveTagMemoryRandomly(uint64_t hwcap, struct __ifunc_arg_t* hw)) { - if ((hwcap & _IFUNC_ARG_HWCAP) && (hw->_hwcap2 & HWCAP2_MTE)) { +extern "C" TagMemoryRangeRandomlyInternalFn* ResolveTagMemoryRandomly( + uint64_t hwcap, + struct __ifunc_arg_t* hw) { + if (IsMteEnabled(hwcap, hw)) { return TagRegionRandomlyForMTE; } return TagRegionRandomlyNoOp; } -extern "C" RemaskPtrInternalFn( - *ResolveRemaskPointer(uint64_t hwcap, struct __ifunc_arg_t* hw)) { - if ((hwcap & _IFUNC_ARG_HWCAP) && (hw->_hwcap2 & HWCAP2_MTE)) { +extern "C" RemaskPtrInternalFn* ResolveRemaskPointer(uint64_t hwcap, + struct __ifunc_arg_t* hw) { + if (IsMteEnabled(hwcap, hw)) { return RemaskVoidPtrForMTE; } return RemaskVoidPtrNoOp; @@ -227,15 +247,18 @@ void* TagMemoryRangeRandomlyInternal(void* ptr, size_t size, uint64_t mask) __attribute__((ifunc("ResolveTagMemoryRandomly"))); void* RemaskPointerInternal(void* ptr) __attribute__((ifunc("ResolveRemaskPointer"))); -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) -TagViolationReportingMode GetMemoryTaggingModeForCurrentThread() { -#if BUILDFLAG(HAS_MEMORY_TAGGING) - base::CPU cpu; - if (!cpu.has_mte()) { - return TagViolationReportingMode::kUndefined; - } - int status = prctl(PR_GET_TAGGED_ADDR_CTRL, 0, 0, 0, 0); +TagViolationReportingMode GetMemoryTaggingModeForCurrentThreadNoMte() { + return TagViolationReportingMode::kUndefined; +} + +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) +using GetMemoryTaggingModeForCurrentThreadInternalFn = + TagViolationReportingMode(); + +TagViolationReportingMode GetMemoryTaggingModeForCurrentThreadMte() { + const int status = prctl(PR_GET_TAGGED_ADDR_CTRL, 0, 0, 0, 0); PA_CHECK(status >= 0); // Check for Asynchronous first because ASYNC on Android sets both // PR_MTE_TCF_ASYNC and PR_MTE_TCF_SYNC bits. @@ -246,14 +269,28 @@ TagViolationReportingMode GetMemoryTaggingModeForCurrentThread() { return TagViolationReportingMode::kSynchronous; } return TagViolationReportingMode::kDisabled; -#else - return TagViolationReportingMode::kUndefined; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) } +extern "C" GetMemoryTaggingModeForCurrentThreadInternalFn* +ResolveGetMemoryTaggingModeForCurrentThread(uint64_t hwcap, + struct __ifunc_arg_t* hw) { + return IsMteEnabled(hwcap, hw) ? &GetMemoryTaggingModeForCurrentThreadMte + : &GetMemoryTaggingModeForCurrentThreadNoMte; +} +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) + +TagViolationReportingMode GetMemoryTaggingModeForCurrentThread() +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) + __attribute__((ifunc("ResolveGetMemoryTaggingModeForCurrentThread"))); +#else +{ + return GetMemoryTaggingModeForCurrentThreadNoMte(); +} +#endif + } // namespace internal -#if BUILDFLAG(HAS_MEMORY_TAGGING) && BUILDFLAG(IS_ANDROID) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) && BUILDFLAG(IS_ANDROID) bool PermissiveMte::enabled_ = false; // static @@ -277,6 +314,6 @@ bool PermissiveMte::HandleCrash(int signo, } return false; } -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) && BUILDFLAG(IS_ANDROID) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) && BUILDFLAG(IS_ANDROID) } // namespace partition_alloc diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/tagging.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/tagging.h index ec4e288755..de2fc78b30 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/tagging.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/tagging.h @@ -11,13 +11,13 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_buildflags.h" #include "partition_alloc/partition_alloc_config.h" -#if BUILDFLAG(HAS_MEMORY_TAGGING) && BUILDFLAG(IS_ANDROID) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) && BUILDFLAG(IS_ANDROID) #include #endif @@ -43,11 +43,11 @@ void ChangeMemoryTaggingModeForCurrentThread(TagViolationReportingMode); namespace internal { constexpr uint64_t kMemTagGranuleSize = 16u; -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) constexpr uint64_t kPtrTagMask = 0xff00000000000000uLL; #else constexpr uint64_t kPtrTagMask = 0; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) constexpr uint64_t kPtrUntagMask = ~kPtrTagMask; #if BUILDFLAG(IS_ANDROID) @@ -66,24 +66,24 @@ TagViolationReportingMode GetMemoryTaggingModeForCurrentThread(); // These forward-defined functions do not really exist in tagging.cc, they're // resolved by the dynamic linker to MTE-capable versions on the right hardware. -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) PA_COMPONENT_EXPORT(PARTITION_ALLOC) void* TagMemoryRangeIncrementInternal(void* ptr, size_t size); PA_COMPONENT_EXPORT(PARTITION_ALLOC) void* TagMemoryRangeRandomlyInternal(void* ptr, size_t size, uint64_t mask); PA_COMPONENT_EXPORT(PARTITION_ALLOC) void* RemaskPointerInternal(void* ptr); -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) // Increments the tag of the memory range ptr. Useful for provable revocations // (e.g. free). Returns the pointer with the new tag. Ensures that the entire // range is set to the same tag. PA_ALWAYS_INLINE void* TagMemoryRangeIncrement(void* ptr, size_t size) { -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) return TagMemoryRangeIncrementInternal(ptr, size); #else return ptr; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) } PA_ALWAYS_INLINE void* TagMemoryRangeIncrement(uintptr_t address, size_t size) { @@ -97,22 +97,22 @@ PA_ALWAYS_INLINE void* TagMemoryRangeRandomly(uintptr_t address, size_t size, uint64_t mask = 0u) { void* ptr = reinterpret_cast(address); -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) return reinterpret_cast( TagMemoryRangeRandomlyInternal(ptr, size, mask)); #else return ptr; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) } // Gets a version of ptr that's safe to dereference. template PA_ALWAYS_INLINE T* TagPtr(T* ptr) { -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) return reinterpret_cast(RemaskPointerInternal(ptr)); #else return ptr; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) } // Gets a version of |address| that's safe to dereference, and casts to a @@ -123,11 +123,11 @@ PA_ALWAYS_INLINE void* TagAddr(uintptr_t address) { // Strips the tag bits off |address|. PA_ALWAYS_INLINE uintptr_t UntagAddr(uintptr_t address) { -#if BUILDFLAG(HAS_MEMORY_TAGGING) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) return address & internal::kPtrUntagMask; #else return address; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) } } // namespace internal @@ -138,7 +138,7 @@ PA_ALWAYS_INLINE uintptr_t UntagPtr(T* ptr) { return internal::UntagAddr(reinterpret_cast(ptr)); } -#if BUILDFLAG(HAS_MEMORY_TAGGING) && BUILDFLAG(IS_ANDROID) +#if PA_BUILDFLAG(HAS_MEMORY_TAGGING) && BUILDFLAG(IS_ANDROID) class PA_COMPONENT_EXPORT(PARTITION_ALLOC) PermissiveMte { public: static void SetEnabled(bool enabled); @@ -147,7 +147,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) PermissiveMte { private: static bool enabled_; }; -#endif // BUILDFLAG(HAS_MEMORY_TAGGING) +#endif // PA_BUILDFLAG(HAS_MEMORY_TAGGING) } // namespace partition_alloc diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_cache.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_cache.cc index fd2ef22332..cd16aace4b 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_cache.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_cache.cc @@ -10,7 +10,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/internal_allocator.h" #include "partition_alloc/partition_alloc-inl.h" #include "partition_alloc/partition_alloc_base/component_export.h" @@ -33,7 +33,7 @@ ThreadCacheRegistry g_instance; namespace tools { uintptr_t kThreadCacheNeedleArray[kThreadCacheNeedleArraySize] = { kNeedle1, reinterpret_cast(&g_instance), -#if BUILDFLAG(RECORD_ALLOC_INFO) +#if PA_BUILDFLAG(RECORD_ALLOC_INFO) reinterpret_cast(&internal::g_allocs), #else 0, @@ -179,7 +179,7 @@ void ThreadCacheRegistry::ForcePurgeAllThreadAfterForkUnsafe() { internal::ScopedGuard scoped_locker(GetLock()); ThreadCache* tcache = list_head_; while (tcache) { -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) // Before fork(), locks are acquired in the parent process. This means that // a concurrent allocation in the parent which must be filled by the central // allocator (i.e. the thread cache bucket is empty) will block inside the @@ -519,8 +519,14 @@ ThreadCache::ThreadCache(PartitionRoot* root) // When enabled, initialize scheduler loop quarantine branch. // This branch is only used within this thread, so not `lock_required`. if (root_->settings.scheduler_loop_quarantine) { + internal::LightweightQuarantineBranchConfig per_thread_config = { + .lock_required = false, + .branch_capacity_in_bytes = + root_->scheduler_loop_quarantine_branch_capacity_in_bytes, + }; scheduler_loop_quarantine_branch_.emplace( - root_->CreateSchedulerLoopQuarantineBranch(false)); + root_->GetSchedulerLoopQuarantineRoot().CreateBranch( + per_thread_config)); } } @@ -698,17 +704,17 @@ void ThreadCache::ClearBucketHelper(Bucket& bucket, size_t limit) { auto* head = bucket.freelist_head; size_t items = 1; // Cannot free the freelist head. while (items < limit) { -#if BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#if PA_BUILDFLAG(USE_FREELIST_DISPATCHER) head = freelist_dispatcher->GetNextForThreadCacheBool( head, crash_on_corruption, bucket.slot_size); #else head = freelist_dispatcher->GetNextForThreadCache( head, bucket.slot_size); -#endif // USE_FREELIST_POOL_OFFSETS +#endif // PA_BUILDFLAG(USE_FREELIST_DISPATCHER) items++; } -#if BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#if PA_BUILDFLAG(USE_FREELIST_DISPATCHER) FreeAfter( freelist_dispatcher->GetNextForThreadCacheBool( head, crash_on_corruption, bucket.slot_size), @@ -718,7 +724,7 @@ void ThreadCache::ClearBucketHelper(Bucket& bucket, size_t limit) { freelist_dispatcher->GetNextForThreadCache( head, bucket.slot_size), bucket.slot_size); -#endif // USE_FREELIST_POOL_OFFSETS +#endif // PA_BUILDFLAG(USE_FREELIST_DISPATCHER) freelist_dispatcher->SetNext(head, nullptr); } bucket.count = limit; @@ -741,13 +747,13 @@ void ThreadCache::FreeAfter(internal::PartitionFreelistEntry* head, uintptr_t slot_start = internal::SlotStartPtr2Addr(head); const internal::PartitionFreelistDispatcher* freelist_dispatcher = root_->get_freelist_dispatcher(); -#if BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#if PA_BUILDFLAG(USE_FREELIST_DISPATCHER) head = freelist_dispatcher->GetNextForThreadCacheBool( head, crash_on_corruption, slot_size); #else head = freelist_dispatcher->GetNextForThreadCache( head, slot_size); -#endif // USE_FREELIST_POOL_OFFSETS +#endif // PA_BUILDFLAG(USE_FREELIST_DISPATCHER) root_->RawFreeLocked(slot_start); } } diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_cache.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_cache.h index ba4a84ba2f..19baa13a92 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_cache.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_cache.h @@ -11,7 +11,7 @@ #include #include -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/lightweight_quarantine.h" #include "partition_alloc/partition_alloc-inl.h" #include "partition_alloc/partition_alloc_base/compiler_specific.h" @@ -28,7 +28,7 @@ #include "partition_alloc/partition_stats.h" #include "partition_alloc/partition_tls.h" -#if defined(ARCH_CPU_X86_64) && BUILDFLAG(HAS_64_BIT_POINTERS) +#if defined(ARCH_CPU_X86_64) && PA_BUILDFLAG(HAS_64_BIT_POINTERS) #include #endif @@ -44,13 +44,13 @@ namespace tools { // // These two values were chosen randomly, and in particular neither is a valid // pointer on most 64 bit architectures. -#if BUILDFLAG(HAS_64_BIT_POINTERS) +#if PA_BUILDFLAG(HAS_64_BIT_POINTERS) constexpr uintptr_t kNeedle1 = 0xe69e32f3ad9ea63; constexpr uintptr_t kNeedle2 = 0x9615ee1c5eb14caf; #else constexpr uintptr_t kNeedle1 = 0xe69e32f3; constexpr uintptr_t kNeedle2 = 0x9615ee1c; -#endif // BUILDFLAG(HAS_64_BIT_POINTERS) +#endif // PA_BUILDFLAG(HAS_64_BIT_POINTERS) // This array contains, in order: // - kNeedle1 @@ -200,7 +200,7 @@ constexpr ThreadCacheRegistry::ThreadCacheRegistry() = default; } while (0) #endif // PA_CONFIG(THREAD_CACHE_ENABLE_STATISTICS) -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) namespace internal { @@ -224,13 +224,13 @@ class ReentrancyGuard { x \ } -#else // BUILDFLAG(PA_DCHECK_IS_ON) +#else // PA_BUILDFLAG(PA_DCHECK_IS_ON) #define PA_REENTRANCY_GUARD(x) \ do { \ } while (0) -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) // Per-thread cache. *Not* threadsafe, must only be accessed from a single // thread. @@ -469,7 +469,7 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) ThreadCache { PartitionRoot* const root_; const internal::base::PlatformThreadId thread_id_; -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) bool is_in_thread_cache_ = false; #endif @@ -559,7 +559,7 @@ PA_ALWAYS_INLINE uintptr_t ThreadCache::GetFromCache(size_t bucket_index, internal::PartitionFreelistEntry* entry = bucket.freelist_head; // TODO(lizeb): Consider removing once crbug.com/1382658 is fixed. #if BUILDFLAG(IS_CHROMEOS) && defined(ARCH_CPU_X86_64) && \ - BUILDFLAG(HAS_64_BIT_POINTERS) + PA_BUILDFLAG(HAS_64_BIT_POINTERS) // x86_64 architecture now supports 57 bits of address space, as of Ice Lake // for Intel. However Chrome OS systems do not ship with kernel support for // it, but with 48 bits, so all canonical addresses have the upper 16 bits @@ -568,7 +568,7 @@ PA_ALWAYS_INLINE uintptr_t ThreadCache::GetFromCache(size_t bucket_index, constexpr uintptr_t kCanonicalPointerMask = (1ULL << 48) - 1; PA_CHECK(!(reinterpret_cast(entry) & ~kCanonicalPointerMask)); #endif // BUILDFLAG(IS_CHROMEOS) && defined(ARCH_CPU_X86_64) && - // BUILDFLAG(HAS_64_BIT_POINTERS) + // PA_BUILDFLAG(HAS_64_BIT_POINTERS) // Passes the bucket size to |GetNext()|, so that in case of freelist // corruption, we know the bucket size that lead to the crash, helping to @@ -576,13 +576,13 @@ PA_ALWAYS_INLINE uintptr_t ThreadCache::GetFromCache(size_t bucket_index, // does not introduce another cache miss. const internal::PartitionFreelistDispatcher* freelist_dispatcher = get_freelist_dispatcher_from_root(); -#if BUILDFLAG(USE_FREELIST_POOL_OFFSETS) +#if PA_BUILDFLAG(USE_FREELIST_DISPATCHER) internal::PartitionFreelistEntry* next = freelist_dispatcher->GetNextForThreadCacheTrue(entry, bucket.slot_size); #else internal::PartitionFreelistEntry* next = freelist_dispatcher->GetNextForThreadCache(entry, bucket.slot_size); -#endif // USE_FREELIST_POOL_OFFSETS +#endif // PA_BUILDFLAG(USE_FREELIST_DISPATCHER) PA_DCHECK(entry != next); bucket.count--; @@ -599,7 +599,7 @@ PA_ALWAYS_INLINE uintptr_t ThreadCache::GetFromCache(size_t bucket_index, PA_ALWAYS_INLINE void ThreadCache::PutInBucket(Bucket& bucket, uintptr_t slot_start) { #if PA_CONFIG(HAS_FREELIST_SHADOW_ENTRY) && defined(ARCH_CPU_X86_64) && \ - BUILDFLAG(HAS_64_BIT_POINTERS) + PA_BUILDFLAG(HAS_64_BIT_POINTERS) // We see freelist corruption crashes happening in the wild. These are likely // due to out-of-bounds accesses in the previous slot, or to a Use-After-Free // somewhere in the code. @@ -633,7 +633,7 @@ PA_ALWAYS_INLINE void ThreadCache::PutInBucket(Bucket& bucket, void* slot_start_tagged = std::assume_aligned( internal::SlotStartAddr2Ptr(slot_start)); #else - // TODO(crbug.com/1429450): std::assume_aligned introuces an additional + // TODO(crbug.com/40262684): std::assume_aligned introuces an additional // dependency: _libcpp_verbose_abort(const char*, ...). It will cause // "undefined symbol" error when linking allocator_shim.dll. void* slot_start_tagged = internal::SlotStartAddr2Ptr(slot_start); @@ -646,7 +646,7 @@ PA_ALWAYS_INLINE void ThreadCache::PutInBucket(Bucket& bucket, address_aligned += 4; } #endif // PA_CONFIG(HAS_FREELIST_SHADOW_ENTRY) && defined(ARCH_CPU_X86_64) && - // BUILDFLAG(HAS_64_BIT_POINTERS) + // PA_BUILDFLAG(HAS_64_BIT_POINTERS) auto* entry = get_freelist_dispatcher_from_root()->EmplaceAndInitForThreadCache( diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/alignment.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/alignment.h index aa7f23eb53..947226161a 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/alignment.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/alignment.h @@ -7,7 +7,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) #include "partition_alloc/page_allocator_constants.h" @@ -32,13 +32,13 @@ #define PA_THREAD_ISOLATED_ARRAY_PAD_SZ(Type, count) \ PA_THREAD_ISOLATED_ARRAY_PAD_SZ_WITH_OFFSET(Type, count, 0) -#else // BUILDFLAG(ENABLE_THREAD_ISOLATION) +#else // PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) #define PA_THREAD_ISOLATED_ALIGN #define PA_THREAD_ISOLATED_FILL_PAGE_SZ(size) 0 #define PA_THREAD_ISOLATED_ARRAY_PAD_SZ(Type, size) 0 #define PA_THREAD_ISOLATED_ARRAY_PAD_SZ_WITH_OFFSET(Type, size, offset) 0 -#endif // BUILDFLAG(ENABLE_THREAD_ISOLATION) +#endif // PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) #endif // PARTITION_ALLOC_THREAD_ISOLATION_ALIGNMENT_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc index f8b1f7988d..bba9d1af47 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc @@ -4,7 +4,7 @@ #include "partition_alloc/thread_isolation/pkey.h" -#if BUILDFLAG(ENABLE_PKEYS) +#if PA_BUILDFLAG(ENABLE_PKEYS) #include #include @@ -61,7 +61,7 @@ void Wrpkru(uint32_t pkru) { asm volatile(".byte 0x0f,0x01,0xef\n" : : "a"(pkru), "c"(0), "d"(0)); } -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) LiftPkeyRestrictionsScope::LiftPkeyRestrictionsScope() : saved_pkey_value_(kDefaultPkeyValue) { @@ -83,8 +83,8 @@ LiftPkeyRestrictionsScope::~LiftPkeyRestrictionsScope() { } } -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) } // namespace partition_alloc::internal -#endif // BUILDFLAG(ENABLE_PKEYS) +#endif // PA_BUILDFLAG(ENABLE_PKEYS) diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.h index 8edb4ed7c3..b4a759596d 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.h @@ -7,7 +7,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(ENABLE_PKEYS) +#if PA_BUILDFLAG(ENABLE_PKEYS) #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" @@ -39,7 +39,7 @@ uint32_t Rdpkru(); // Write the pkru register (the current pkey state). void Wrpkru(uint32_t pkru); -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) class PA_COMPONENT_EXPORT(PARTITION_ALLOC) LiftPkeyRestrictionsScope { public: @@ -53,10 +53,10 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) LiftPkeyRestrictionsScope { uint32_t saved_pkey_value_; }; -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) } // namespace partition_alloc::internal -#endif // BUILDFLAG(ENABLE_PKEYS) +#endif // PA_BUILDFLAG(ENABLE_PKEYS) #endif // PARTITION_ALLOC_THREAD_ISOLATION_PKEY_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/thread_isolation.cc b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/thread_isolation.cc index 6b8326588d..09bb583020 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/thread_isolation.cc +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/thread_isolation.cc @@ -4,7 +4,7 @@ #include "partition_alloc/thread_isolation/thread_isolation.h" -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) #include "partition_alloc/address_pool_manager.h" #include "partition_alloc/page_allocator.h" @@ -12,13 +12,13 @@ #include "partition_alloc/partition_alloc_constants.h" #include "partition_alloc/reservation_offset_table.h" -#if BUILDFLAG(ENABLE_PKEYS) +#if PA_BUILDFLAG(ENABLE_PKEYS) #include "partition_alloc/thread_isolation/pkey.h" #endif namespace partition_alloc::internal { -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) ThreadIsolationSettings ThreadIsolationSettings::settings; #endif @@ -37,7 +37,7 @@ void WriteProtectThreadIsolatedMemory(ThreadIsolationOption thread_isolation, : PageAccessibilityConfiguration::Permissions::kReadWrite)); return; } -#if BUILDFLAG(ENABLE_PKEYS) +#if PA_BUILDFLAG(ENABLE_PKEYS) partition_alloc::internal::TagMemoryWithPkey( thread_isolation.enabled ? thread_isolation.pkey : kDefaultPkey, address, size); @@ -59,7 +59,7 @@ int MprotectWithThreadIsolation(void* addr, size_t len, int prot, ThreadIsolationOption thread_isolation) { -#if BUILDFLAG(ENABLE_PKEYS) +#if PA_BUILDFLAG(ENABLE_PKEYS) return PkeyMprotect(addr, len, prot, thread_isolation.pkey); #endif } @@ -80,7 +80,7 @@ void WriteProtectThreadIsolatedGlobals(ThreadIsolationOption thread_isolation) { thread_isolation, pkey_reservation_offset_table, ReservationOffsetTable::kReservationOffsetTableLength); -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) WriteProtectThreadIsolatedVariable(thread_isolation, ThreadIsolationSettings::settings); #endif @@ -92,4 +92,4 @@ void UnprotectThreadIsolatedGlobals() { } // namespace partition_alloc::internal -#endif // BUILDFLAG(ENABLE_THREAD_ISOLATION) +#endif // PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/thread_isolation.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/thread_isolation.h index 58f7da43a0..de2cb23d1e 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/thread_isolation.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/thread_isolation/thread_isolation.h @@ -7,7 +7,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(ENABLE_THREAD_ISOLATION) +#if PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) #include #include @@ -15,11 +15,11 @@ #include "partition_alloc/partition_alloc_base/component_export.h" #include "partition_alloc/partition_alloc_base/debug/debugging_buildflags.h" -#if BUILDFLAG(ENABLE_PKEYS) +#if PA_BUILDFLAG(ENABLE_PKEYS) #include "partition_alloc/thread_isolation/pkey.h" #endif -#if !BUILDFLAG(HAS_64_BIT_POINTERS) +#if !PA_BUILDFLAG(HAS_64_BIT_POINTERS) #error "thread isolation support requires 64 bit pointers" #endif @@ -29,21 +29,21 @@ struct ThreadIsolationOption { constexpr ThreadIsolationOption() = default; explicit ThreadIsolationOption(bool enabled) : enabled(enabled) {} -#if BUILDFLAG(ENABLE_PKEYS) +#if PA_BUILDFLAG(ENABLE_PKEYS) explicit ThreadIsolationOption(int pkey) : pkey(pkey) { enabled = pkey != internal::kInvalidPkey; } int pkey = -1; -#endif // BUILDFLAG(ENABLE_PKEYS) +#endif // PA_BUILDFLAG(ENABLE_PKEYS) bool enabled = false; bool operator==(const ThreadIsolationOption& other) const { -#if BUILDFLAG(ENABLE_PKEYS) +#if PA_BUILDFLAG(ENABLE_PKEYS) if (pkey != other.pkey) { return false; } -#endif // BUILDFLAG(ENABLE_PKEYS) +#endif // PA_BUILDFLAG(ENABLE_PKEYS) return enabled == other.enabled; } }; @@ -52,19 +52,19 @@ struct ThreadIsolationOption { namespace partition_alloc::internal { -#if BUILDFLAG(PA_DCHECK_IS_ON) +#if PA_BUILDFLAG(PA_DCHECK_IS_ON) struct PA_THREAD_ISOLATED_ALIGN ThreadIsolationSettings { bool enabled = false; static ThreadIsolationSettings settings PA_CONSTINIT; }; -#if BUILDFLAG(ENABLE_PKEYS) +#if PA_BUILDFLAG(ENABLE_PKEYS) using LiftThreadIsolationScope = LiftPkeyRestrictionsScope; -#endif // BUILDFLAG(ENABLE_PKEYS) -#endif // BUILDFLAG(PA_DCHECK_IS_ON) +#endif // PA_BUILDFLAG(ENABLE_PKEYS) +#endif // PA_BUILDFLAG(PA_DCHECK_IS_ON) void WriteProtectThreadIsolatedGlobals(ThreadIsolationOption thread_isolation); void UnprotectThreadIsolatedGlobals(); @@ -76,6 +76,6 @@ void UnprotectThreadIsolatedGlobals(); } // namespace partition_alloc::internal -#endif // BUILDFLAG(ENABLE_THREAD_ISOLATION) +#endif // PA_BUILDFLAG(ENABLE_THREAD_ISOLATION) #endif // PARTITION_ALLOC_THREAD_ISOLATION_THREAD_ISOLATION_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/use_death_tests.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/use_death_tests.h new file mode 100644 index 0000000000..d79bb24d22 --- /dev/null +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/use_death_tests.h @@ -0,0 +1,30 @@ +// Copyright 2024 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef PARTITION_ALLOC_USE_DEATH_TESTS_H_ +#define PARTITION_ALLOC_USE_DEATH_TESTS_H_ + +// Test-only header. This must be separated from the main body of +// `partition_alloc_config.h` because the preprocessor evaluates it too +// early leaving `GTEST_HAS_DEATH_TEST` undefined. This makes the +// corresponding `PA_CONFIG()` yield the wrong result. + +#include "partition_alloc/build_config.h" + +// An informal CQ survey +// (https://chromium-review.googlesource.com/c/chromium/src/+/5493422/1?tab=checks) +// tells us that iOS doesn't define `GTEST_HAS_DEATH_TEST`. +// +// In addition, Android is generally thought not to support death tests. +// See also: +// * crbug.com/40483507 +// * crbug.com/40785222 +// * crbug.com/41372437 +#if defined(GTEST_HAS_DEATH_TEST) +#define PA_USE_DEATH_TESTS() (!BUILDFLAG(IS_ANDROID)) +#else +#define PA_USE_DEATH_TESTS() 0 +#endif + +#endif // PARTITION_ALLOC_USE_DEATH_TESTS_H_ diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/write_buildflag_header.py b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/write_buildflag_header.py new file mode 100755 index 0000000000..e6adb7793c --- /dev/null +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/write_buildflag_header.py @@ -0,0 +1,107 @@ +#!/usr/bin/env python3 +# Copyright 2024 The Chromium Authors +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# This was copied from chromium's and adapted to partition_alloc. + +# This writes headers for build flags. See buildflag_header.gni for usage of +# this system as a whole. +# +# The parameters are passed in a response file so we don't have to worry +# about command line lengths. The name of the response file is passed on the +# command line. +# +# The format of the response file is: +# [--flags ] +import optparse +import os +import re +import shlex +import sys + +class Options: + def __init__(self, output, rulename, header_guard, flags): + self.output = output + self.rulename = rulename + self.header_guard = header_guard + self.flags = flags + + +def GetOptions(): + parser = optparse.OptionParser() + parser.add_option('--output', help="Output header name inside --gen-dir.") + parser.add_option('--rulename', + help="Helpful name of build rule for including in the " + + "comment at the top of the file.") + parser.add_option('--gen-dir', + help="Path to root of generated file directory tree.") + parser.add_option('--definitions', + help="Name of the response file containing the flags.") + cmdline_options, cmdline_flags = parser.parse_args() + + # Compute a valid C++ header guard by replacing non valid chars with '_', + # upper-casing everything and prepending '_' if first symbol is digit. + header_guard = cmdline_options.output.upper() + if header_guard[0].isdigit(): + header_guard = '_' + header_guard + header_guard = re.sub(r'[^\w]', '_', header_guard) + header_guard += '_' + + # The actual output file is inside the gen dir. + output = os.path.join(cmdline_options.gen_dir, cmdline_options.output) + + # Definition file in GYP is newline separated, in GN they are shell formatted. + # shlex can parse both of these. + with open(cmdline_options.definitions, 'r') as def_file: + defs = shlex.split(def_file.read()) + flags_index = defs.index('--flags') + + # Everything after --flags are flags. true/false are remapped to 1/0, + # everything else is passed through. + flags = [] + for flag in defs[flags_index + 1 :]: + equals_index = flag.index('=') + key = flag[:equals_index] + value = flag[equals_index + 1:] + + # Canonicalize and validate the value. + if value == 'true': + value = '1' + elif value == 'false': + value = '0' + flags.append((key, str(value))) + + return Options(output=output, + rulename=cmdline_options.rulename, + header_guard=header_guard, + flags=flags) + + +def WriteHeader(options): + with open(options.output, 'w') as output_file: + output_file.write("// Generated by partition_alloc/write_buildflag_header.py\n") + if options.rulename: + output_file.write('// From "' + options.rulename + '"\n') + + output_file.write('\n#ifndef %s\n' % options.header_guard) + output_file.write('#define %s\n\n' % options.header_guard) + output_file.write('#include "partition_alloc/buildflag.h" // IWYU pragma: export\n\n') + # TODO(https://crbug.com/41481467) Remove dependency on chromium: + output_file.write('#include "build/buildflag.h" // IWYU pragma: export\n\n') + + for pair in options.flags: + output_file.write('#define PA_BUILDFLAG_INTERNAL_%s() (%s)\n' % pair) + # TODO(https://crbug.com/41481467) Remove dependency on chromium: + output_file.write('#define BUILDFLAG_INTERNAL_%s() (%s)\n' % pair) + + output_file.write('\n#endif // %s\n' % options.header_guard) + + +def main(): + options = GetOptions() + WriteHeader(options) + return 0; + +if __name__ == '__main__': + sys.exit(main()) diff --git a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/yield_processor.h b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/yield_processor.h index a4a62b7bb8..75b0bbbe26 100644 --- a/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/yield_processor.h +++ b/naiveproxy/src/base/allocator/partition_allocator/src/partition_alloc/yield_processor.h @@ -5,7 +5,7 @@ #ifndef PARTITION_ALLOC_YIELD_PROCESSOR_H_ #define PARTITION_ALLOC_YIELD_PROCESSOR_H_ -#include "build/build_config.h" +#include "partition_alloc/build_config.h" #include "partition_alloc/partition_alloc_config.h" // The PA_YIELD_PROCESSOR macro wraps an architecture specific-instruction that diff --git a/naiveproxy/src/base/android/OWNERS b/naiveproxy/src/base/android/OWNERS index 2c3be16f15..49a5377895 100644 --- a/naiveproxy/src/base/android/OWNERS +++ b/naiveproxy/src/base/android/OWNERS @@ -6,5 +6,8 @@ pasko@chromium.org torne@chromium.org yfriedman@chromium.org +# For build-related changes. +wnwen@chromium.org + per-file *.aidl=set noparent per-file *.aidl=file://ipc/SECURITY_OWNERS diff --git a/naiveproxy/src/base/android/android_hardware_buffer_compat.cc b/naiveproxy/src/base/android/android_hardware_buffer_compat.cc index eeb87c10b6..59d848d01d 100644 --- a/naiveproxy/src/base/android/android_hardware_buffer_compat.cc +++ b/naiveproxy/src/base/android/android_hardware_buffer_compat.cc @@ -14,7 +14,7 @@ namespace base { AndroidHardwareBufferCompat::AndroidHardwareBufferCompat() { DCHECK(IsSupportAvailable()); - // TODO(https://crbug.com/1382595): If the Chromium build requires + // TODO(crbug.com/40877384): If the Chromium build requires // __ANDROID_API__ >= 26 at some point in the future, we could directly use // the global functions instead of dynamic loading. However, since this would // be incompatible with pre-Oreo devices, this is unlikely to happen in the diff --git a/naiveproxy/src/base/android/build_info.cc b/naiveproxy/src/base/android/build_info.cc index 1ed5a34022..13ea94b431 100644 --- a/naiveproxy/src/base/android/build_info.cc +++ b/naiveproxy/src/base/android/build_info.cc @@ -45,7 +45,7 @@ struct BuildInfoSingletonTraits { static void Delete(BuildInfo* x) { // We're leaking this type, see kRegisterAtExit. - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } static const bool kRegisterAtExit = false; @@ -86,7 +86,8 @@ BuildInfo::BuildInfo(const std::vector& params) targets_at_least_u_(GetIntParam(params, 28)), codename_(StrDupParam(params, 29)), vulkan_deqp_level_(GetIntParam(params, 30)), - is_foldable_(GetIntParam(params, 31)) {} + is_foldable_(GetIntParam(params, 31)), + soc_manufacturer_(StrDupParam(params, 32)) {} // static BuildInfo* BuildInfo::GetInstance() { diff --git a/naiveproxy/src/base/android/build_info.h b/naiveproxy/src/base/android/build_info.h index 353006e5f8..9e861f0ce5 100644 --- a/naiveproxy/src/base/android/build_info.h +++ b/naiveproxy/src/base/android/build_info.h @@ -165,6 +165,9 @@ class BASE_EXPORT BuildInfo { // Available only on Android T+. int32_t vulkan_deqp_level() const { return vulkan_deqp_level_; } + // Available only on android S+. For S-, this method returns empty string. + const char* soc_manufacturer() const { return soc_manufacturer_; } + private: friend struct BuildInfoSingletonTraits; @@ -207,6 +210,7 @@ class BASE_EXPORT BuildInfo { const char* const codename_; const int32_t vulkan_deqp_level_; const bool is_foldable_; + const char* const soc_manufacturer_; }; } // namespace base::android diff --git a/naiveproxy/src/base/android/build_info_stub.cc b/naiveproxy/src/base/android/build_info_stub.cc index 7eaec05498..d46dfbd060 100644 --- a/naiveproxy/src/base/android/build_info_stub.cc +++ b/naiveproxy/src/base/android/build_info_stub.cc @@ -64,7 +64,8 @@ BuildInfo::BuildInfo(const std::vector& params) targets_at_least_u_(false), codename_(""), vulkan_deqp_level_(0), - is_foldable_(false) {} + is_foldable_(false), + soc_manufacturer_("") {} // static BuildInfo* BuildInfo::GetInstance() { diff --git a/naiveproxy/src/base/android/bundle_utils.cc b/naiveproxy/src/base/android/bundle_utils.cc index 9a376a4bc9..9b47e6f40f 100644 --- a/naiveproxy/src/base/android/bundle_utils.cc +++ b/naiveproxy/src/base/android/bundle_utils.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/android/bundle_utils.h" #include @@ -48,7 +53,7 @@ std::string BundleUtils::ResolveLibraryPath(const std::string& library_name, ScopedJavaLocalRef java_path = Java_BundleUtils_getNativeLibraryPath( env, ConvertUTF8ToJavaString(env, library_name), ConvertUTF8ToJavaString(env, split_name)); - // TODO(https://crbug.com/1019853): Remove this tolerance. + // TODO(crbug.com/40656179): Remove this tolerance. if (!java_path) { return std::string(); } @@ -64,7 +69,7 @@ bool BundleUtils::IsBundle() { void* BundleUtils::DlOpenModuleLibraryPartition(const std::string& library_name, const std::string& partition, const std::string& split_name) { - // TODO(https://crbug.com/1019853): Remove this tolerance. + // TODO(crbug.com/40656179): Remove this tolerance. std::string library_path = ResolveLibraryPath(library_name, split_name); if (library_path.empty()) { return nullptr; @@ -95,7 +100,7 @@ void* BundleUtils::DlOpenModuleLibraryPartition(const std::string& library_name, } } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return nullptr; } diff --git a/naiveproxy/src/base/android/jank_metric_uma_recorder.cc b/naiveproxy/src/base/android/jank_metric_uma_recorder.cc index 091f05d17a..2fe9978409 100644 --- a/naiveproxy/src/base/android/jank_metric_uma_recorder.cc +++ b/naiveproxy/src/base/android/jank_metric_uma_recorder.cc @@ -224,7 +224,7 @@ const char* GetAndroidFrameTimelineJankHistogramName(JankScenario scenario) { // per frame metrics for |WEBVIEW_SCROLLING| scenario. return HISTOGRAM_NAME(WebviewScrolling); default: - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return ""; } #undef HISTOGRAM_NAME @@ -260,7 +260,7 @@ const char* GetAndroidFrameTimelineDurationHistogramName( // per frame metrics for |WEBVIEW_SCROLLING| scenario. return HISTOGRAM_NAME(WebviewScrolling); default: - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return ""; } #undef HISTOGRAM_NAME diff --git a/naiveproxy/src/base/android/jni_android.cc b/naiveproxy/src/base/android/jni_android.cc index a4610ee281..47d0167c09 100644 --- a/naiveproxy/src/base/android/jni_android.cc +++ b/naiveproxy/src/base/android/jni_android.cc @@ -33,7 +33,7 @@ namespace { // uncaught Java exception (historical behavior). If enabled, we give the Java // uncaught exception handler a chance to handle the exception first, so that // the crash is (hopefully) seen as a Java crash, not a native crash. -// TODO(https://crbug.com/1426888): remove this switch once we are confident the +// TODO(crbug.com/40261529): remove this switch once we are confident the // new behavior is fine. BASE_FEATURE(kHandleExceptionsInJava, "HandleJniExceptionsInJava", diff --git a/naiveproxy/src/base/android/jni_array.cc b/naiveproxy/src/base/android/jni_array.cc index f680e24a4f..42fed824b3 100644 --- a/naiveproxy/src/base/android/jni_array.cc +++ b/naiveproxy/src/base/android/jni_array.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/android/jni_array.h" #include "base/android/jni_android.h" diff --git a/naiveproxy/src/base/android/jni_conversions.cc b/naiveproxy/src/base/android/jni_conversions.cc index ab613e61da..7cd26b312a 100644 --- a/naiveproxy/src/base/android/jni_conversions.cc +++ b/naiveproxy/src/base/android/jni_conversions.cc @@ -14,85 +14,84 @@ namespace jni_zero { template <> -BASE_EXPORT std::string FromJniType( +BASE_EXPORT std::string FromJniType( JNIEnv* env, - const JavaRef& input) { - return base::android::ConvertJavaStringToUTF8(env, input); + const JavaRef& input) { + return base::android::ConvertJavaStringToUTF8( + env, static_cast(input.obj())); } template <> -BASE_EXPORT ScopedJavaLocalRef ToJniType( +BASE_EXPORT ScopedJavaLocalRef ToJniType( JNIEnv* env, const std::string& input) { return base::android::ConvertUTF8ToJavaString(env, input); } +// Enables vector to avoid copies. template <> -BASE_EXPORT ScopedJavaLocalRef ToJniType( +BASE_EXPORT ScopedJavaLocalRef ToJniType( + JNIEnv* env, + const std::string* const& input) { + if (!input) { + return nullptr; + } + return base::android::ConvertUTF8ToJavaString(env, *input); +} + +template <> +BASE_EXPORT ScopedJavaLocalRef ToJniType( JNIEnv* env, const char* const& input) { return base::android::ConvertUTF8ToJavaString(env, input); } template <> -BASE_EXPORT std::u16string FromJniType( +BASE_EXPORT std::u16string FromJniType( JNIEnv* env, - const JavaRef& input) { - return base::android::ConvertJavaStringToUTF16(env, input); + const JavaRef& input) { + return base::android::ConvertJavaStringToUTF16( + env, static_cast(input.obj())); } template <> -BASE_EXPORT ScopedJavaLocalRef ToJniType( +BASE_EXPORT ScopedJavaLocalRef ToJniType( JNIEnv* env, const std::u16string& input) { return base::android::ConvertUTF16ToJavaString(env, input); } +// Enables vector to avoid copies. template <> -BASE_EXPORT ScopedJavaLocalRef ToJniType( +BASE_EXPORT ScopedJavaLocalRef ToJniType( + JNIEnv* env, + const std::u16string* const& input) { + if (!input) { + return nullptr; + } + return base::android::ConvertUTF16ToJavaString(env, *input); +} + +template <> +BASE_EXPORT ScopedJavaLocalRef ToJniType( JNIEnv* env, const std::u16string_view& input) { return base::android::ConvertUTF16ToJavaString(env, input); } template <> -BASE_EXPORT base::FilePath FromJniType( +BASE_EXPORT base::FilePath FromJniType( JNIEnv* env, - const JavaRef& input) { - return base::FilePath(base::android::ConvertJavaStringToUTF8(env, input)); + const JavaRef& input) { + return base::FilePath(base::android::ConvertJavaStringToUTF8( + env, static_cast(input.obj()))); } template <> -BASE_EXPORT ScopedJavaLocalRef ToJniType( +BASE_EXPORT ScopedJavaLocalRef ToJniType( JNIEnv* env, const base::FilePath& input) { return base::android::ConvertUTF8ToJavaString(env, input.value()); } -// Specialized conversions for std::optional> since jstring -// is a nullable type but std::basic_string is not. -template <> -BASE_EXPORT std::optional -FromJniType, jstring>( - JNIEnv* env, - const JavaRef& j_string) { - if (!j_string) { - return std::nullopt; - } - return std::optional( - FromJniType(env, j_string)); -} - -template <> -BASE_EXPORT std::optional -FromJniType, jstring>( - JNIEnv* env, - const JavaRef& j_string) { - if (!j_string) { - return std::nullopt; - } - return std::optional( - FromJniType(env, j_string)); -} - } // namespace jni_zero diff --git a/naiveproxy/src/base/android/jni_registrar.cc b/naiveproxy/src/base/android/jni_registrar.cc index 3615d4a47f..9172a93055 100644 --- a/naiveproxy/src/base/android/jni_registrar.cc +++ b/naiveproxy/src/base/android/jni_registrar.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/android/jni_registrar.h" #include "base/android/jni_android.h" diff --git a/naiveproxy/src/base/android/library_loader/library_prefetcher.cc b/naiveproxy/src/base/android/library_loader/library_prefetcher.cc index c720333ab5..b0fc3fd66f 100644 --- a/naiveproxy/src/base/android/library_loader/library_prefetcher.cc +++ b/naiveproxy/src/base/android/library_loader/library_prefetcher.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/android/library_loader/library_prefetcher.h" #include diff --git a/naiveproxy/src/base/android/linker/linker_jni.cc b/naiveproxy/src/base/android/linker/linker_jni.cc index aa96bc1771..b53da73afb 100644 --- a/naiveproxy/src/base/android/linker/linker_jni.cc +++ b/naiveproxy/src/base/android/linker/linker_jni.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/android/linker/linker_jni.h" #include diff --git a/naiveproxy/src/base/android/memory_pressure_listener_android.cc b/naiveproxy/src/base/android/memory_pressure_listener_android.cc index c1e9cf5c5f..04b8fe36f1 100644 --- a/naiveproxy/src/base/android/memory_pressure_listener_android.cc +++ b/naiveproxy/src/base/android/memory_pressure_listener_android.cc @@ -23,6 +23,12 @@ static void JNI_MemoryPressureListener_OnPreFreeze(JNIEnv* env) { base::android::PreFreezeBackgroundMemoryTrimmer::OnPreFreeze(); } +static jboolean JNI_MemoryPressureListener_IsTrimMemoryBackgroundCritical( + JNIEnv* env) { + return base::android::PreFreezeBackgroundMemoryTrimmer:: + IsTrimMemoryBackgroundCritical(); +} + namespace base::android { void MemoryPressureListenerAndroid::Initialize(JNIEnv* env) { diff --git a/naiveproxy/src/base/android/orderfile/orderfile_instrumentation.cc b/naiveproxy/src/base/android/orderfile/orderfile_instrumentation.cc index a86e3572b3..d5cf80f808 100644 --- a/naiveproxy/src/base/android/orderfile/orderfile_instrumentation.cc +++ b/naiveproxy/src/base/android/orderfile/orderfile_instrumentation.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and use spans. +#pragma allow_unsafe_buffers +#endif + #include "base/android/orderfile/orderfile_instrumentation.h" #include diff --git a/naiveproxy/src/base/android/pmf_utils.cc b/naiveproxy/src/base/android/pmf_utils.cc index b8cbd4a5a3..8bcf121140 100644 --- a/naiveproxy/src/base/android/pmf_utils.cc +++ b/naiveproxy/src/base/android/pmf_utils.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/android/pmf_utils.h" #include diff --git a/naiveproxy/src/base/android/pre_freeze_background_memory_trimmer.cc b/naiveproxy/src/base/android/pre_freeze_background_memory_trimmer.cc index df86e13157..6f09ffc583 100644 --- a/naiveproxy/src/base/android/pre_freeze_background_memory_trimmer.cc +++ b/naiveproxy/src/base/android/pre_freeze_background_memory_trimmer.cc @@ -9,6 +9,7 @@ #include "base/android/build_info.h" #include "base/android/pmf_utils.h" +#include "base/cancelable_callback.h" #include "base/check.h" #include "base/command_line.h" #include "base/feature_list.h" @@ -28,10 +29,6 @@ namespace { // to finish running BEFORE collecting metrics. const base::TimeDelta kDelayForMetrics = base::Seconds(2); -std::optional GetPrivateMemoryFootprint() { - return PmfUtils::GetPrivateMemoryFootprintForCurrentProcess(); -} - uint64_t BytesToMiB(uint64_t v) { return v / 1024 / 1024; } @@ -42,19 +39,29 @@ const char* GetProcessType() { base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("type"); const char* process_type = type == "" ? "Browser" : type == "renderer" ? "Renderer" - : type == "gpu-process" ? "Gpu" + : type == "gpu-process" ? "GPU" : type == "utility" ? "Utility" : "Unknown"; return process_type; } -std::string GetMetricName(const char* suffix) { +std::string GetMetricName(const std::string& name, const char* suffix) { CHECK(base::CommandLine::InitializedForCurrentProcess()); const char* process_type = GetProcessType(); - return StrCat( - {"Memory.PreFreeze2.", process_type, ".PrivateMemoryFootprint.", suffix}); + return StrCat({"Memory.PreFreeze2.", process_type, ".", name, ".", suffix}); } +class PrivateMemoryFootprintMetric + : public PreFreezeBackgroundMemoryTrimmer::PreFreezeMetric { + public: + PrivateMemoryFootprintMetric() + : PreFreezeBackgroundMemoryTrimmer::PreFreezeMetric( + "PrivateMemoryFootprint") {} + std::optional Measure() const override { + return PmfUtils::GetPrivateMemoryFootprintForCurrentProcess(); + } +}; + void MaybeRecordMetric(const std::string metric_name, std::optional value_bytes) { // Skip recording the metric if we failed to get the PMF. @@ -65,31 +72,32 @@ void MaybeRecordMetric(const std::string metric_name, static_cast(BytesToMiB(value_bytes.value()))); } -std::optional PmfDiff(std::optional pmf_before, - std::optional pmf_after) { - if (!pmf_before.has_value() || !pmf_before.has_value()) { +std::optional Diff(std::optional before, + std::optional after) { + if (!before.has_value() || !before.has_value()) { return std::nullopt; } - const uint64_t pmf_before_value = pmf_before.value(); - const uint64_t pmf_after_value = pmf_after.value(); + const uint64_t before_value = before.value(); + const uint64_t after_value = after.value(); - return pmf_after_value < pmf_before_value ? pmf_before_value - pmf_after_value - : 0; + return after_value < before_value ? before_value - after_value : 0; } -void RecordMetrics(std::optional pmf_before) { +void RecordMetrics( + const PreFreezeBackgroundMemoryTrimmer::PreFreezeMetric* metric, + std::optional value_before) { CHECK(base::CommandLine::InitializedForCurrentProcess()); - std::string before_name = GetMetricName("Before"); - std::string after_name = GetMetricName("After"); - std::string diff_name = GetMetricName("Diff"); + std::string before_name = GetMetricName(metric->name(), "Before"); + std::string after_name = GetMetricName(metric->name(), "After"); + std::string diff_name = GetMetricName(metric->name(), "Diff"); - std::optional pmf_after = GetPrivateMemoryFootprint(); + std::optional value_after = metric->Measure(); - MaybeRecordMetric(before_name, pmf_before); - MaybeRecordMetric(after_name, pmf_after); - MaybeRecordMetric(diff_name, PmfDiff(pmf_before, pmf_after)); + MaybeRecordMetric(before_name, value_before); + MaybeRecordMetric(after_name, value_after); + MaybeRecordMetric(diff_name, Diff(value_before, value_after)); } } // namespace @@ -98,6 +106,10 @@ BASE_FEATURE(kOnPreFreezeMemoryTrim, "OnPreFreezeMemoryTrim", FEATURE_DISABLED_BY_DEFAULT); +BASE_FEATURE(kIsTrimMemoryBackgroundCritical, + "IsTrimMemoryBackgroundCritical", + FEATURE_DISABLED_BY_DEFAULT); + PreFreezeBackgroundMemoryTrimmer::PreFreezeBackgroundMemoryTrimmer() : supports_modern_trim_(BuildInfo::GetInstance()->sdk_int() >= SDK_VERSION_U) {} @@ -109,7 +121,7 @@ PreFreezeBackgroundMemoryTrimmer& PreFreezeBackgroundMemoryTrimmer::Instance() { } void PreFreezeBackgroundMemoryTrimmer::PostMetricsTask( - std::optional pmf_before) { + const PreFreezeMetric* metric) { // PreFreeze is only for Android U and greater, so no need to record metrics // for older versions. if (!SupportsModernTrim()) { @@ -131,9 +143,13 @@ void PreFreezeBackgroundMemoryTrimmer::PostMetricsTask( // number of subtle effects may influence the real delay of those tasks. The // USER_BLOCKING will allow to estimate the number of better-survived tasks // more precisely. + // + // base::Unretained(metric) is safe here because we never unregister |metric|. base::ThreadPool::PostDelayedTask( FROM_HERE, {base::TaskPriority::USER_BLOCKING, MayBlock()}, - base::BindOnce(&RecordMetrics, pmf_before), kDelayForMetrics); + base::BindOnce(&RecordMetrics, base::Unretained(metric), + metric->Measure()), + kDelayForMetrics); } // static @@ -162,10 +178,8 @@ void PreFreezeBackgroundMemoryTrimmer::PostDelayedBackgroundTaskInternal( base::TimeDelta delay) { DCHECK(SupportsModernTrim()); - { - base::AutoLock locker(lock_); - did_register_task_ = true; - } + SetDidRegisterTaskInternal(); + if (!base::FeatureList::IsEnabled(kOnPreFreezeMemoryTrim)) { task_runner->PostDelayedTask( from_here, @@ -215,6 +229,21 @@ PreFreezeBackgroundMemoryTrimmer::PostDelayedBackgroundTaskModernHelper( return ptr; } +void PreFreezeBackgroundMemoryTrimmer::RegisterMemoryMetric( + std::unique_ptr metric) { + base::AutoLock locker(Instance().lock_); + Instance().metrics_.push_back(std::move(metric)); +} + +void PreFreezeBackgroundMemoryTrimmer::PostMetricsTasksIfModern() { + if (!SupportsModernTrim()) { + return; + } + for (const auto& callback : metrics_) { + PostMetricsTask(callback.get()); + } +} + // static void PreFreezeBackgroundMemoryTrimmer::OnPreFreeze() { Instance().OnPreFreezeInternal(); @@ -222,9 +251,7 @@ void PreFreezeBackgroundMemoryTrimmer::OnPreFreeze() { void PreFreezeBackgroundMemoryTrimmer::OnPreFreezeInternal() { base::AutoLock locker(lock_); - if (did_register_task_) { - PostMetricsTask(GetPrivateMemoryFootprint()); - } + PostMetricsTasksIfModern(); if (!ShouldUseModernTrim()) { return; @@ -274,7 +301,10 @@ void PreFreezeBackgroundMemoryTrimmer::SetDidRegisterTask() { void PreFreezeBackgroundMemoryTrimmer::SetDidRegisterTaskInternal() { base::AutoLock locker(lock_); - did_register_task_ = true; + if (!did_register_task_) { + did_register_task_ = true; + metrics_.push_back(std::make_unique()); + } } // static @@ -288,6 +318,12 @@ bool PreFreezeBackgroundMemoryTrimmer::ShouldUseModernTrim() { base::FeatureList::IsEnabled(kOnPreFreezeMemoryTrim); } +// static +bool PreFreezeBackgroundMemoryTrimmer::IsTrimMemoryBackgroundCritical() { + return SupportsModernTrim() && + base::FeatureList::IsEnabled(kIsTrimMemoryBackgroundCritical); +} + // static void PreFreezeBackgroundMemoryTrimmer::SetSupportsModernTrimForTesting( bool is_supported) { @@ -295,21 +331,28 @@ void PreFreezeBackgroundMemoryTrimmer::SetSupportsModernTrimForTesting( } // static -void PreFreezeBackgroundMemoryTrimmer::SetDidRegisterTasksForTesting( - bool did_register_task) { +void PreFreezeBackgroundMemoryTrimmer::ClearMetricsForTesting() { base::AutoLock locker(Instance().lock_); - Instance().did_register_task_ = did_register_task; + Instance().metrics_.clear(); + Instance().did_register_task_ = false; } -size_t PreFreezeBackgroundMemoryTrimmer:: - GetNumberOfPendingBackgroundTasksForTesting() { +bool PreFreezeBackgroundMemoryTrimmer::DidRegisterTasksForTesting() const { + base::AutoLock locker(lock_); + return metrics_.size() != 0; +} + +size_t +PreFreezeBackgroundMemoryTrimmer::GetNumberOfPendingBackgroundTasksForTesting() + const { base::AutoLock locker(lock_); return background_tasks_.size(); } -bool PreFreezeBackgroundMemoryTrimmer::DidRegisterTasksForTesting() { +size_t PreFreezeBackgroundMemoryTrimmer::GetNumberOfKnownMetricsForTesting() + const { base::AutoLock locker(lock_); - return did_register_task_; + return metrics_.size(); } // static @@ -382,4 +425,10 @@ void PreFreezeBackgroundMemoryTrimmer::BackgroundTask::Start( delay); } +PreFreezeBackgroundMemoryTrimmer::PreFreezeMetric::PreFreezeMetric( + const std::string& name) + : name_(name) {} + +PreFreezeBackgroundMemoryTrimmer::PreFreezeMetric::~PreFreezeMetric() = default; + } // namespace base::android diff --git a/naiveproxy/src/base/android/pre_freeze_background_memory_trimmer.h b/naiveproxy/src/base/android/pre_freeze_background_memory_trimmer.h index 1cc9e6dc3e..9bd5e477f0 100644 --- a/naiveproxy/src/base/android/pre_freeze_background_memory_trimmer.h +++ b/naiveproxy/src/base/android/pre_freeze_background_memory_trimmer.h @@ -7,8 +7,8 @@ #include -#include "base/cancelable_callback.h" #include "base/feature_list.h" +#include "base/functional/callback.h" #include "base/memory/post_delayed_memory_reduction_task.h" #include "base/no_destructor.h" #include "base/task/delayed_task_handle.h" @@ -59,10 +59,47 @@ class BASE_EXPORT PreFreezeBackgroundMemoryTrimmer { OnceCallback task, base::TimeDelta delay) LOCKS_EXCLUDED(lock_); + class PreFreezeMetric { + public: + explicit PreFreezeMetric(const std::string& name); + virtual ~PreFreezeMetric(); + virtual std::optional Measure() const = 0; + const std::string& name() const { return name_; } + + private: + const std::string name_; + }; + + // Registers a new metric to record before and after PreFreeze. Callers are + // responsible for making sure that the same metric is not registered + // multiple times. + // + // |metric->Measure()| should return an amount of memory in bytes, or nullopt + // if unable to record the metric for any reason. + // + // Each time |OnPreFreeze| is run, |metric->Measure()| will be called twice: + // - Once directly before any tasks are run; and + // - Once two seconds after the first time it was called. + // + // As an example, calling |RegisterMemoryMetric( + // PrivateMemoryFootprintMetric, "PrivateMemoryFootprint")| in the Browser + // process would cause the following metrics to be recorded 2 seconds after + // the next time |OnPreFreeze| is run: + // - "Memory.PreFreeze2.Browser.PrivateMemoryFootprint.Before" + // - "Memory.PreFreeze2.Browser.PrivateMemoryFootprint.After" + // - "Memory.PreFreeze2.Browser.PrivateMemoryFootprint.Diff" + // + // See "Memory.PreFreeze2.{process_type}.{name}.{suffix}" for details on the + // exact metrics. + static void RegisterMemoryMetric( + std::unique_ptr metric); + static void SetSupportsModernTrimForTesting(bool is_supported); - static void SetDidRegisterTasksForTesting(bool did_register_tasks); - size_t GetNumberOfPendingBackgroundTasksForTesting() LOCKS_EXCLUDED(lock_); - bool DidRegisterTasksForTesting(); + static void ClearMetricsForTesting(); + size_t GetNumberOfPendingBackgroundTasksForTesting() const + LOCKS_EXCLUDED(lock_); + size_t GetNumberOfKnownMetricsForTesting() const LOCKS_EXCLUDED(lock_); + bool DidRegisterTasksForTesting() const; static void OnPreFreezeForTesting() LOCKS_EXCLUDED(lock_) { OnPreFreeze(); } @@ -72,6 +109,7 @@ class BASE_EXPORT PreFreezeBackgroundMemoryTrimmer { static bool SupportsModernTrim(); static bool ShouldUseModernTrim(); + static bool IsTrimMemoryBackgroundCritical(); private: friend class base::NoDestructor; @@ -144,13 +182,14 @@ class BASE_EXPORT PreFreezeBackgroundMemoryTrimmer { void OnPreFreezeInternal() LOCKS_EXCLUDED(lock_); - void PostMetricsTask(std::optional pmf_before); + void PostMetricsTasksIfModern() EXCLUSIVE_LOCKS_REQUIRED(lock_); + void PostMetricsTask(const PreFreezeMetric* metric); mutable base::Lock lock_; std::deque> background_tasks_ GUARDED_BY(lock_); - // Keeps track of whether any tasks have been registered so far (set to true - // once the first task is registered). + std::vector> metrics_ + GUARDED_BY(lock_); bool did_register_task_ GUARDED_BY(lock_) = false; bool supports_modern_trim_; }; diff --git a/naiveproxy/src/base/android/proguard/chromium_apk.flags b/naiveproxy/src/base/android/proguard/chromium_apk.flags index 981acaedd2..fb46265a47 100644 --- a/naiveproxy/src/base/android/proguard/chromium_apk.flags +++ b/naiveproxy/src/base/android/proguard/chromium_apk.flags @@ -2,7 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -# Contains flags that we'd like all Chromium .apks to use. +# Contains //base flags that we'd like all Chromium .apks to use. Note that +# these rules will not be applied to Chromium code that ships in third-party +# APKs, e.g. Cronet. # Keep line number information, useful for stack traces. -keepattributes SourceFile,LineNumberTable @@ -66,3 +68,8 @@ # traces in contexts where it's not trivial to deobfuscate them - for example # when reported to app developers who are using WebView. -keepnames class ** extends java.lang.Throwable {} + +# Should be removed once we use Android V SDK. b/336753747 +-keep class !cr_allowunused,androidx.privacysandbox.ads.adservices.internal.ContinuationOutcomeReceiver { + ; +} diff --git a/naiveproxy/src/base/android/proguard/chromium_code.flags b/naiveproxy/src/base/android/proguard/shared_with_cronet.flags similarity index 58% rename from naiveproxy/src/base/android/proguard/chromium_code.flags rename to naiveproxy/src/base/android/proguard/shared_with_cronet.flags index e417fbaaa5..9f2707917e 100644 --- a/naiveproxy/src/base/android/proguard/chromium_code.flags +++ b/naiveproxy/src/base/android/proguard/shared_with_cronet.flags @@ -2,18 +2,17 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -# Contains flags that can be safely shared with Cronet, and thus would be -# appropriate for third-party apps to include. +# Contains flags that we want to apply not only to Chromium APKs, but also to +# third-party apps that bundle the Cronet library. -# Allow unused native methods to be removed, but prevent renaming on those that are kept. --keepclasseswithmembernames,includedescriptorclasses,allowaccessmodification class !cr_allowunused,** { - native ; -} +# WARNING: rules in this file are applied to entire third-party APKs, not just +# Chromium code. They MUST be scoped appropriately to avoid side effects on app +# code that we do not own. -# Use assumevalues block instead of assumenosideeffects block because Google3 proguard cannot parse -# assumenosideeffects blocks which overwrite return value. -# chromium_code.flags rather than remove_logging.flags so that it's included -# in cronet. +# Use assumevalues block instead of assumenosideeffects block because Google3 +# proguard cannot parse assumenosideeffects blocks which overwrite return +# value. Keep this in shared_with_cronet.flags rather than remove_logging.flags +# so that it's included in cronet. -assumevalues class org.chromium.base.Log { static boolean isDebug() return false; } @@ -36,18 +35,7 @@ public static **[] values(); } -# -identifiernamestring doesn't keep the module impl around, we have to -# explicitly keep it. --if @org.chromium.components.module_installer.builder.ModuleInterface interface * --keep,allowobfuscation,allowaccessmodification class !cr_allowunused,** extends <1> { - (); -} - # Required to remove fields until b/274802355 is resolved. -assumevalues class !cr_allowunused,** { final org.chromium.base.ThreadUtils$ThreadChecker * return _NONNULL_; } - -# TODO(agrieve): Remove once we start to use Android U SDK. --dontwarn android.window.BackEvent --dontwarn android.window.OnBackAnimationCallback diff --git a/naiveproxy/src/base/android/task_scheduler/task_runner_android.cc b/naiveproxy/src/base/android/task_scheduler/task_runner_android.cc index a8f9fd5d1c..0d2e4293bb 100644 --- a/naiveproxy/src/base/android/task_scheduler/task_runner_android.cc +++ b/naiveproxy/src/base/android/task_scheduler/task_runner_android.cc @@ -82,8 +82,8 @@ void TaskRunnerAndroid::PostDelayedTask( } bool TaskRunnerAndroid::BelongsToCurrentThread(JNIEnv* env) { - // TODO(crbug.com/1026641): Move BelongsToCurrentThread from TaskRunnerImpl to - // SequencedTaskRunnerImpl on the Java side too. + // TODO(crbug.com/40108370): Move BelongsToCurrentThread from TaskRunnerImpl + // to SequencedTaskRunnerImpl on the Java side too. if (type_ == TaskRunnerType::BASE) return false; return static_cast(task_runner_.get()) diff --git a/naiveproxy/src/base/android/token_android.cc b/naiveproxy/src/base/android/token_android.cc index 5c854e09dd..808c1bc8e4 100644 --- a/naiveproxy/src/base/android/token_android.cc +++ b/naiveproxy/src/base/android/token_android.cc @@ -4,17 +4,51 @@ #include "base/android/token_android.h" -#include "base/numerics/safe_conversions.h" #include "build/robolectric_buildflags.h" #if BUILDFLAG(IS_ROBOLECTRIC) -#include "base/base_robolectric_jni/Token_jni.h" // nogncheck +#include "base/base_robolectric_jni/TokenBase_jni.h" // nogncheck +#include "base/base_robolectric_jni/Token_jni.h" // nogncheck #else +#include "base/base_jni/TokenBase_jni.h" #include "base/base_jni/Token_jni.h" #endif -namespace base { -namespace android { +namespace jni_zero { +template <> +BASE_EXPORT base::Token FromJniType( + JNIEnv* env, + const JavaRef& j_object) { + return base::android::TokenAndroid::FromJavaToken(env, j_object); +} +template <> +BASE_EXPORT std::optional FromJniType>( + JNIEnv* env, + const JavaRef& j_object) { + if (!j_object) { + return std::nullopt; + } + return base::android::TokenAndroid::FromJavaToken(env, j_object); +} + +template <> +BASE_EXPORT ScopedJavaLocalRef ToJniType( + JNIEnv* env, + const base::Token& token) { + return base::android::TokenAndroid::Create(env, token); +} +template <> +BASE_EXPORT ScopedJavaLocalRef ToJniType>( + JNIEnv* env, + const std::optional& token) { + if (!token) { + return nullptr; + } + return base::android::TokenAndroid::Create(env, token.value()); +} +} // namespace jni_zero + +namespace base::android { ScopedJavaLocalRef TokenAndroid::Create(JNIEnv* env, const base::Token& token) { @@ -24,33 +58,15 @@ ScopedJavaLocalRef TokenAndroid::Create(JNIEnv* env, base::Token TokenAndroid::FromJavaToken(JNIEnv* env, const JavaRef& j_token) { - const uint64_t high = static_cast(Java_Token_getHigh(env, j_token)); - const uint64_t low = static_cast(Java_Token_getLow(env, j_token)); + const uint64_t high = static_cast( + Java_TokenBase_getHighForSerialization(env, j_token)); + const uint64_t low = static_cast( + Java_TokenBase_getLowForSerialization(env, j_token)); return base::Token(high, low); } -ScopedJavaLocalRef TokenAndroid::ToJavaArrayOfTokens( - JNIEnv* env, - base::span> tokens) { - ScopedJavaLocalRef token_clazz = - jni_zero::GetClass(env, "org/chromium/base/Token"); - jobjectArray joa = env->NewObjectArray(checked_cast(tokens.size()), - token_clazz.obj(), nullptr); - jni_zero::CheckException(env); - - for (size_t i = 0; i < tokens.size(); i++) { - ScopedJavaLocalRef token; - if (tokens[i]) { - token = TokenAndroid::Create(env, *tokens[i]); - } - env->SetObjectArrayElement(joa, static_cast(i), token.obj()); - } - return ScopedJavaLocalRef(env, joa); +static base::Token JNI_Token_CreateRandom(JNIEnv* env) { + return base::Token::CreateRandom(); } -static ScopedJavaLocalRef JNI_Token_CreateRandom(JNIEnv* env) { - return TokenAndroid::Create(env, base::Token::CreateRandom()); -} - -} // namespace android -} // namespace base +} // namespace base::android diff --git a/naiveproxy/src/base/android/token_android.h b/naiveproxy/src/base/android/token_android.h index a7431e9a93..8ca50b6759 100644 --- a/naiveproxy/src/base/android/token_android.h +++ b/naiveproxy/src/base/android/token_android.h @@ -14,8 +14,7 @@ #include "base/containers/span.h" #include "base/token.h" -namespace base { -namespace android { +namespace base::android { class BASE_EXPORT TokenAndroid { public: @@ -27,17 +26,11 @@ class BASE_EXPORT TokenAndroid { static base::Token FromJavaToken(JNIEnv* env, const JavaRef& j_token); - // Converts the collection of `tokens` to an array of Token objects in Java. - static ScopedJavaLocalRef ToJavaArrayOfTokens( - JNIEnv* env, - base::span> tokens); - TokenAndroid() = delete; TokenAndroid(const TokenAndroid&) = delete; TokenAndroid& operator=(const TokenAndroid&) = delete; }; -} // namespace android -} // namespace base +} // namespace base::android #endif // BASE_ANDROID_TOKEN_ANDROID_H_ diff --git a/naiveproxy/src/base/android/trace_event_binding.cc b/naiveproxy/src/base/android/trace_event_binding.cc index a3167f92a7..261948580b 100644 --- a/naiveproxy/src/base/android/trace_event_binding.cc +++ b/naiveproxy/src/base/android/trace_event_binding.cc @@ -2,12 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "base/android/trace_event_binding.h" + #include #include #include "base/android/jni_string.h" -#include "base/android/trace_event_binding.h" #include "base/metrics/histogram_macros.h" #include "base/trace_event/base_tracing.h" #include "base/tracing_buildflags.h" @@ -36,7 +37,6 @@ constexpr const char kAndroidViewHierarchyTraceCategory[] = TRACE_DISABLED_BY_DEFAULT("android_view_hierarchy"); constexpr const char kAndroidViewHierarchyEventName[] = "AndroidView"; -#if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY) class TraceEnabledObserver : public perfetto::TrackEventSessionObserver { public: static TraceEnabledObserver* GetInstance() { @@ -89,44 +89,12 @@ class TraceEnabledObserver : public perfetto::TrackEventSessionObserver { std::unordered_map event_name_filtering_per_session_; }; -#else // !BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY) - -class TraceEnabledObserver - : public trace_event::TraceLog::EnabledStateObserver { - public: - ~TraceEnabledObserver() override = default; - - // trace_event::TraceLog::EnabledStateObserver: - void OnTraceLogEnabled() override { - JNIEnv* env = jni_zero::AttachCurrentThread(); - base::android::Java_TraceEvent_setEnabled(env, true); - if (base::trace_event::TraceLog::GetInstance() - ->GetCurrentTraceConfig() - .IsEventPackageNameFilterEnabled()) { - base::android::Java_TraceEvent_setEventNameFilteringEnabled(env, true); - } - } - - void OnTraceLogDisabled() override { - JNIEnv* env = jni_zero::AttachCurrentThread(); - base::android::Java_TraceEvent_setEnabled(env, false); - base::android::Java_TraceEvent_setEventNameFilteringEnabled(env, false); - } -}; -#endif // !BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY) } // namespace static void JNI_TraceEvent_RegisterEnabledObserver(JNIEnv* env) { -#if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY) base::android::Java_TraceEvent_setEnabled(env, base::TrackEvent::IsEnabled()); base::TrackEvent::AddSessionObserver(TraceEnabledObserver::GetInstance()); -#else - bool enabled = trace_event::TraceLog::GetInstance()->IsEnabled(); - base::android::Java_TraceEvent_setEnabled(env, enabled); - trace_event::TraceLog::GetInstance()->AddOwnedEnabledStateObserver( - std::make_unique()); -#endif } static jboolean JNI_TraceEvent_ViewHierarchyDumpEnabled(JNIEnv* env) { @@ -318,9 +286,8 @@ static void JNI_TraceEvent_WebViewStartupTotalFactoryInit(JNIEnv* env, jlong start_time_ms, jlong duration_ms) { #if BUILDFLAG(ENABLE_BASE_TRACING) - auto t = perfetto::Track::ThreadScoped(env); - auto desc = t.Serialize(); - desc.set_name("android_webview.timeline"); + auto t = perfetto::Track::ThreadScoped( + reinterpret_cast(trace_event::GetNextGlobalTraceId())); TRACE_EVENT_BEGIN("android_webview.timeline", "WebView.Startup.CreationTime.TotalFactoryInitTime", t, TimeTicks() + Milliseconds(start_time_ms)); @@ -333,9 +300,8 @@ static void JNI_TraceEvent_WebViewStartupStage1(JNIEnv* env, jlong start_time_ms, jlong duration_ms) { #if BUILDFLAG(ENABLE_BASE_TRACING) - auto t = perfetto::Track::ThreadScoped(env); - auto desc = t.Serialize(); - desc.set_name("android_webview.timeline"); + auto t = perfetto::Track::ThreadScoped( + reinterpret_cast(trace_event::GetNextGlobalTraceId())); TRACE_EVENT_BEGIN("android_webview.timeline", "WebView.Startup.CreationTime.Stage1.FactoryInit", t, TimeTicks() + Milliseconds(start_time_ms)); @@ -349,9 +315,8 @@ static void JNI_TraceEvent_WebViewStartupStage2(JNIEnv* env, jlong duration_ms, jboolean is_cold_startup) { #if BUILDFLAG(ENABLE_BASE_TRACING) - auto t = perfetto::Track::ThreadScoped(env); - auto desc = t.Serialize(); - desc.set_name("android_webview.timeline"); + auto t = perfetto::Track::ThreadScoped( + reinterpret_cast(trace_event::GetNextGlobalTraceId())); if (is_cold_startup) { TRACE_EVENT_BEGIN("android_webview.timeline", "WebView.Startup.CreationTime.Stage2.ProviderInit.Cold", @@ -370,15 +335,25 @@ static void JNI_TraceEvent_WebViewStartupStage2(JNIEnv* env, static void JNI_TraceEvent_WebViewStartupStartChromiumLocked( JNIEnv* env, jlong start_time_ms, - jlong duration_ms) { + jlong duration_ms, + jint call_site, + jboolean from_ui_thread) { #if BUILDFLAG(ENABLE_BASE_TRACING) - auto t = perfetto::Track::ThreadScoped(env); - auto desc = t.Serialize(); - desc.set_name("android_webview.timeline"); - TrackEvent::SetTrackDescriptor(t, desc); - TRACE_EVENT_BEGIN("android_webview.timeline", - "WebView.Startup.CreationTime.StartChromiumLocked", t, - TimeTicks() + Milliseconds(start_time_ms)); + auto t = perfetto::Track::ThreadScoped( + reinterpret_cast(trace_event::GetNextGlobalTraceId())); + TRACE_EVENT_BEGIN( + "android_webview.timeline", + "WebView.Startup.CreationTime.StartChromiumLocked", t, + TimeTicks() + Milliseconds(start_time_ms), + [&](perfetto::EventContext ctx) { + auto* webview_startup = + ctx.event() + ->set_webview_startup(); + webview_startup->set_from_ui_thread((bool)from_ui_thread); + webview_startup->set_call_site( + (perfetto::protos::pbzero::perfetto_pbzero_enum_WebViewStartup:: + CallSite)call_site); + }); TRACE_EVENT_END("android_webview.timeline", t, TimeTicks() + Milliseconds(start_time_ms + duration_ms)); #endif // BUILDFLAG(ENABLE_BASE_TRACING) diff --git a/naiveproxy/src/base/android/unguessable_token_android.cc b/naiveproxy/src/base/android/unguessable_token_android.cc index b4d7197916..03e519eb45 100644 --- a/naiveproxy/src/base/android/unguessable_token_android.cc +++ b/naiveproxy/src/base/android/unguessable_token_android.cc @@ -4,39 +4,85 @@ #include "base/android/unguessable_token_android.h" +#include "build/robolectric_buildflags.h" + +#if BUILDFLAG(IS_ROBOLECTRIC) +#include "base/base_robolectric_jni/TokenBase_jni.h" // nogncheck +#include "base/base_robolectric_jni/UnguessableToken_jni.h" // nogncheck +#else +#include "base/base_jni/TokenBase_jni.h" #include "base/base_jni/UnguessableToken_jni.h" +#endif + +namespace jni_zero { +template <> +BASE_EXPORT base::UnguessableToken FromJniType( + JNIEnv* env, + const JavaRef& j_object) { + return base::android::UnguessableTokenAndroid::FromJavaUnguessableToken( + env, j_object); +} + +template <> +BASE_EXPORT std::optional +FromJniType>( + JNIEnv* env, + const JavaRef& j_object) { + if (!j_object) { + return std::nullopt; + } + return base::android::UnguessableTokenAndroid::FromJavaUnguessableToken( + env, j_object); +} + +template <> +BASE_EXPORT ScopedJavaLocalRef ToJniType( + JNIEnv* env, + const base::UnguessableToken& token) { + return base::android::UnguessableTokenAndroid::Create(env, token); +} +template <> +BASE_EXPORT ScopedJavaLocalRef +ToJniType>( + JNIEnv* env, + const std::optional& token) { + if (!token) { + return nullptr; + } + return base::android::UnguessableTokenAndroid::Create(env, token.value()); +} +} // namespace jni_zero namespace base { namespace android { -ScopedJavaLocalRef UnguessableTokenAndroid::Create( +jni_zero::ScopedJavaLocalRef UnguessableTokenAndroid::Create( JNIEnv* env, const base::UnguessableToken& token) { const uint64_t high = token.GetHighForSerialization(); const uint64_t low = token.GetLowForSerialization(); DCHECK(high); DCHECK(low); - return Java_UnguessableToken_create(env, static_cast(high), - static_cast(low)); + return Java_UnguessableToken_Constructor(env, static_cast(high), + static_cast(low)); } -std::optional -UnguessableTokenAndroid::FromJavaUnguessableToken( +base::UnguessableToken UnguessableTokenAndroid::FromJavaUnguessableToken( JNIEnv* env, - const JavaRef& token) { - const uint64_t high = static_cast( - Java_UnguessableToken_getHighForSerialization(env, token)); - const uint64_t low = static_cast( - Java_UnguessableToken_getLowForSerialization(env, token)); + const jni_zero::JavaRef& token) { + const uint64_t high = + static_cast(Java_TokenBase_getHighForSerialization(env, token)); + const uint64_t low = + static_cast(Java_TokenBase_getLowForSerialization(env, token)); DCHECK(high); DCHECK(low); - return base::UnguessableToken::Deserialize(high, low); + return base::UnguessableToken::Deserialize(high, low).value(); } -ScopedJavaLocalRef +jni_zero::ScopedJavaLocalRef UnguessableTokenAndroid::ParcelAndUnparcelForTesting( JNIEnv* env, - const JavaRef& token) { + const jni_zero::JavaRef& token) { return Java_UnguessableToken_parcelAndUnparcelForTesting(env, token); } diff --git a/naiveproxy/src/base/android/unguessable_token_android.h b/naiveproxy/src/base/android/unguessable_token_android.h index 4c9d46a730..f447d91c7b 100644 --- a/naiveproxy/src/base/android/unguessable_token_android.h +++ b/naiveproxy/src/base/android/unguessable_token_android.h @@ -5,11 +5,9 @@ #ifndef BASE_ANDROID_UNGUESSABLE_TOKEN_ANDROID_H_ #define BASE_ANDROID_UNGUESSABLE_TOKEN_ANDROID_H_ -#include - -#include "base/android/scoped_java_ref.h" #include "base/base_export.h" #include "base/unguessable_token.h" +#include "third_party/jni_zero/jni_zero.h" namespace base { namespace android { @@ -17,21 +15,21 @@ namespace android { class BASE_EXPORT UnguessableTokenAndroid { public: // Create a Java UnguessableToken with the same value as |token|. - static ScopedJavaLocalRef Create( + static jni_zero::ScopedJavaLocalRef Create( JNIEnv* env, const base::UnguessableToken& token); // Create a native UnguessableToken from Java UnguessableToken |token|. - static std::optional FromJavaUnguessableToken( + static base::UnguessableToken FromJavaUnguessableToken( JNIEnv* env, - const JavaRef& token); + const jni_zero::JavaRef& token); // Parcel UnguessableToken |token| and unparcel it, and return the result. // While this method is intended for facilitating unit tests, it results only // in a clone of |token|. - static ScopedJavaLocalRef ParcelAndUnparcelForTesting( + static jni_zero::ScopedJavaLocalRef ParcelAndUnparcelForTesting( JNIEnv* env, - const JavaRef& token); + const jni_zero::JavaRef& token); UnguessableTokenAndroid() = delete; UnguessableTokenAndroid(const UnguessableTokenAndroid&) = delete; diff --git a/naiveproxy/src/base/apple/foundation_util.h b/naiveproxy/src/base/apple/foundation_util.h index d1d8e050b6..26a0156991 100644 --- a/naiveproxy/src/base/apple/foundation_util.h +++ b/naiveproxy/src/base/apple/foundation_util.h @@ -140,14 +140,12 @@ BASE_EXPORT const char* BaseBundleID(); // make its own copy of new_base_bundle_id. BASE_EXPORT void SetBaseBundleID(const char* new_base_bundle_id); -// CFCast<>() and CFCastStrict<>() cast a basic CFTypeRef to a more -// specific CoreFoundation type. The compatibility of the passed -// object is found by comparing its opaque type against the -// requested type identifier. If the supplied object is not -// compatible with the requested return type, CFCast<>() returns -// NULL and CFCastStrict<>() will DCHECK. Providing a NULL pointer -// to either variant results in NULL being returned without -// triggering any DCHECK. +// CFCast<>() and CFCastStrict<>() cast a basic CFTypeRef to a more specific +// CoreFoundation type. The compatibility of the passed object is found by +// comparing its opaque type against the requested type identifier. If the +// supplied object is not compatible with the requested return type, CFCast<>() +// returns null and CFCastStrict<>() will CHECK. Providing a null pointer to +// either variant results in null being returned without triggering any CHECK. // // Example usage: // CFNumberRef some_number = base::apple::CFCast( @@ -197,28 +195,27 @@ CF_CAST_DECL(SecPolicy); #if defined(__OBJC__) -// ObjCCast<>() and ObjCCastStrict<>() cast a basic id to a more -// specific (NSObject-derived) type. The compatibility of the passed -// object is found by checking if it's a kind of the requested type -// identifier. If the supplied object is not compatible with the -// requested return type, ObjCCast<>() returns nil and -// ObjCCastStrict<>() will DCHECK. Providing a nil pointer to either -// variant results in nil being returned without triggering any DCHECK. +// ObjCCast<>() and ObjCCastStrict<>() cast a basic id to a more specific +// (NSObject-derived) type. The compatibility of the passed object is found by +// checking if it's a kind of the requested type identifier. If the supplied +// object is not compatible with the requested return type, ObjCCast<>() returns +// nil and ObjCCastStrict<>() will CHECK. Providing a nil pointer to either +// variant results in nil being returned without triggering any CHECK. // -// The strict variant is useful when retrieving a value from a -// collection which only has values of a specific type, e.g. an -// NSArray of NSStrings. The non-strict variant is useful when -// retrieving values from data that you can't fully control. For -// example, a plist read from disk may be beyond your exclusive -// control, so you'd only want to check that the values you retrieve +// The strict variant is useful when retrieving a value from a collection which +// only has values of a specific type, e.g. an NSArray of NSStrings. The +// non-strict variant is useful when retrieving values from data that you can't +// fully control. For example, a plist read from disk may be beyond your +// exclusive control, so you'd only want to check that the values you retrieve // from it are of the expected types, but not crash if they're not. // // Example usage: -// NSString* version = base::apple::ObjCCast( -// [bundle objectForInfoDictionaryKey:@"CFBundleShortVersionString"]); +// NSString* version = base::apple::ObjCCast( +// [bundle objectForInfoDictionaryKey:@"CFBundleShortVersionString"]); // -// NSString* str = base::apple::ObjCCastStrict( -// [ns_arr_of_ns_strs objectAtIndex:0]); +// // (If it's not possible to use an NSArray.) +// NSString* str = base::apple::ObjCCastStrict( +// [ns_arr_of_ns_strs objectAtIndex:0]); template T* ObjCCast(id objc_val) { if ([objc_val isKindOfClass:[T class]]) { @@ -230,7 +227,7 @@ T* ObjCCast(id objc_val) { template T* ObjCCastStrict(id objc_val) { T* rv = ObjCCast(objc_val); - DCHECK(objc_val == nil || rv); + CHECK(objc_val == nil || rv); return rv; } diff --git a/naiveproxy/src/base/apple/foundation_util.mm b/naiveproxy/src/base/apple/foundation_util.mm index cd637a1b93..05213d6956 100644 --- a/naiveproxy/src/base/apple/foundation_util.mm +++ b/naiveproxy/src/base/apple/foundation_util.mm @@ -76,7 +76,7 @@ void SetOverrideAmIBundled(bool value) { #if BUILDFLAG(IS_IOS) // It doesn't make sense not to be bundled on iOS. if (!value) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } #endif g_override_am_i_bundled = true; @@ -309,19 +309,19 @@ void SetBaseBundleID(const char* new_base_bundle_id) { #define CF_CAST_DEFN(TypeCF) \ template <> \ TypeCF##Ref CFCast(const CFTypeRef& cf_val) { \ - if (cf_val == NULL) { \ - return NULL; \ + if (cf_val == nullptr) { \ + return nullptr; \ } \ if (CFGetTypeID(cf_val) == TypeCF##GetTypeID()) { \ return (TypeCF##Ref)(cf_val); \ } \ - return NULL; \ + return nullptr; \ } \ \ template <> \ TypeCF##Ref CFCastStrict(const CFTypeRef& cf_val) { \ TypeCF##Ref rv = CFCast(cf_val); \ - DCHECK(cf_val == NULL || rv); \ + CHECK(cf_val == nullptr || rv); \ return rv; \ } diff --git a/naiveproxy/src/base/apple/mach_logging.cc b/naiveproxy/src/base/apple/mach_logging.cc index 9033fbe9da..30a94121a7 100644 --- a/naiveproxy/src/base/apple/mach_logging.cc +++ b/naiveproxy/src/base/apple/mach_logging.cc @@ -8,6 +8,7 @@ #include #include "base/immediate_crash.h" +#include "base/scoped_clear_last_error.h" #include "base/strings/stringprintf.h" #include "build/build_config.h" @@ -46,6 +47,9 @@ MachLogMessage::~MachLogMessage() { } void MachLogMessage::AppendError() { + // Don't let actions from this method affect the system error after returning. + base::ScopedClearLastError scoped_clear_last_error; + stream() << ": " << mach_error_string(mach_err_) << FormatMachErrorNumber(mach_err_); } @@ -69,6 +73,9 @@ BootstrapLogMessage::~BootstrapLogMessage() { } void BootstrapLogMessage::AppendError() { + // Don't let actions from this method affect the system error after returning. + base::ScopedClearLastError scoped_clear_last_error; + stream() << ": " << bootstrap_strerror(bootstrap_err_); switch (bootstrap_err_) { diff --git a/naiveproxy/src/base/apple/osstatus_logging.mm b/naiveproxy/src/base/apple/osstatus_logging.mm index 2efb05d50f..e010a4bd0b 100644 --- a/naiveproxy/src/base/apple/osstatus_logging.mm +++ b/naiveproxy/src/base/apple/osstatus_logging.mm @@ -9,6 +9,7 @@ #include #include "base/immediate_crash.h" +#include "base/scoped_clear_last_error.h" namespace logging { @@ -30,6 +31,9 @@ OSStatusLogMessage::~OSStatusLogMessage() { } void OSStatusLogMessage::AppendError() { + // Don't let actions from this method affect the system error after returning. + base::ScopedClearLastError scoped_clear_last_error; + stream() << ": " << DescriptionFromOSStatus(status_) << " (" << status_ << ")"; } diff --git a/naiveproxy/src/base/at_exit.cc b/naiveproxy/src/base/at_exit.cc index a71988fc44..4befea761f 100644 --- a/naiveproxy/src/base/at_exit.cc +++ b/naiveproxy/src/base/at_exit.cc @@ -36,7 +36,8 @@ AtExitManager::AtExitManager() : next_manager_(g_top_manager) { AtExitManager::~AtExitManager() { if (!g_top_manager) { - NOTREACHED() << "Tried to ~AtExitManager without an AtExitManager"; + NOTREACHED_IN_MIGRATION() + << "Tried to ~AtExitManager without an AtExitManager"; return; } DCHECK_EQ(this, g_top_manager); @@ -55,7 +56,8 @@ void AtExitManager::RegisterCallback(AtExitCallbackType func, void* param) { // static void AtExitManager::RegisterTask(base::OnceClosure task) { if (!g_top_manager) { - NOTREACHED() << "Tried to RegisterCallback without an AtExitManager"; + NOTREACHED_IN_MIGRATION() + << "Tried to RegisterCallback without an AtExitManager"; return; } @@ -69,7 +71,8 @@ void AtExitManager::RegisterTask(base::OnceClosure task) { // static void AtExitManager::ProcessCallbacksNow() { if (!g_top_manager) { - NOTREACHED() << "Tried to ProcessCallbacksNow without an AtExitManager"; + NOTREACHED_IN_MIGRATION() + << "Tried to ProcessCallbacksNow without an AtExitManager"; return; } diff --git a/naiveproxy/src/base/barrier_callback.h b/naiveproxy/src/base/barrier_callback.h index daf5df2c72..bf022ad493 100644 --- a/naiveproxy/src/base/barrier_callback.h +++ b/naiveproxy/src/base/barrier_callback.h @@ -17,7 +17,6 @@ #include "base/functional/callback.h" #include "base/functional/callback_helpers.h" #include "base/synchronization/lock.h" -#include "base/template_util.h" #include "base/thread_annotations.h" namespace base { diff --git a/naiveproxy/src/base/base64.cc b/naiveproxy/src/base/base64.cc index 660ab8dd6b..96ae77f425 100644 --- a/naiveproxy/src/base/base64.cc +++ b/naiveproxy/src/base/base64.cc @@ -2,10 +2,17 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/base64.h" #include +#include + #include "base/check.h" #include "base/numerics/checked_math.h" #include "base/strings/string_util.h" @@ -46,11 +53,11 @@ void Base64EncodeAppend(span input, std::string* output) { CHECK_EQ(output->size(), prefix_len + output_size); } -std::string Base64Encode(StringPiece input) { +std::string Base64Encode(std::string_view input) { return Base64Encode(base::as_byte_span(input)); } -bool Base64Decode(StringPiece input, +bool Base64Decode(std::string_view input, std::string* output, Base64DecodePolicy policy) { std::string temp; @@ -87,7 +94,7 @@ bool Base64Decode(StringPiece input, return true; } -std::optional> Base64Decode(StringPiece input) { +std::optional> Base64Decode(std::string_view input) { std::vector ret(modp_b64_decode_len(input.size())); size_t input_size = input.size(); diff --git a/naiveproxy/src/base/base64.h b/naiveproxy/src/base/base64.h index 3ebf60cf34..ce2d7c04a9 100644 --- a/naiveproxy/src/base/base64.h +++ b/naiveproxy/src/base/base64.h @@ -9,11 +9,11 @@ #include #include +#include #include #include "base/base_export.h" #include "base/containers/span.h" -#include "base/strings/string_piece.h" namespace base { @@ -25,7 +25,7 @@ BASE_EXPORT void Base64EncodeAppend(span input, std::string* output); // Encodes the input string in base64. -BASE_EXPORT std::string Base64Encode(StringPiece input); +BASE_EXPORT std::string Base64Encode(std::string_view input); // Decodes the base64 input string. Returns true if successful and false // otherwise. The output string is only modified if successful. The decoding can @@ -44,12 +44,13 @@ enum class Base64DecodePolicy { kForgiving, }; BASE_EXPORT bool Base64Decode( - StringPiece input, + std::string_view input, std::string* output, Base64DecodePolicy policy = Base64DecodePolicy::kStrict); // Decodes the base64 input string. Returns `std::nullopt` if unsuccessful. -BASE_EXPORT std::optional> Base64Decode(StringPiece input); +BASE_EXPORT std::optional> Base64Decode( + std::string_view input); } // namespace base diff --git a/naiveproxy/src/base/base64url.cc b/naiveproxy/src/base/base64url.cc index daf91fff2e..b68a83abda 100644 --- a/naiveproxy/src/base/base64url.cc +++ b/naiveproxy/src/base/base64url.cc @@ -6,6 +6,8 @@ #include +#include + #include "base/base64.h" #include "base/numerics/safe_math.h" #include "base/strings/string_util.h" @@ -22,12 +24,12 @@ const char kPaddingChar = '='; const char kBase64Chars[] = "+/"; const char kBase64UrlSafeChars[] = "-_"; -class StringPieceOrString { +class StringViewOrString { public: - explicit StringPieceOrString(StringPiece piece) : piece_(piece) {} - explicit StringPieceOrString(std::string str) : str_(std::move(str)) {} + explicit StringViewOrString(std::string_view piece) : piece_(piece) {} + explicit StringViewOrString(std::string str) : str_(std::move(str)) {} - StringPiece get() const { + std::string_view get() const { if (str_) { return *str_; } @@ -36,12 +38,12 @@ class StringPieceOrString { private: const std::optional str_; - const StringPiece piece_; + const std::string_view piece_; }; // Converts the base64url `input` into a plain base64 string. -std::optional Base64ToBase64URL( - StringPiece input, +std::optional Base64ToBase64URL( + std::string_view input, Base64UrlDecodePolicy policy) { // Characters outside of the base64url alphabet are disallowed, which includes // the {+, /} characters found in the conventional base64 alphabet. @@ -69,7 +71,7 @@ std::optional Base64ToBase64URL( } if (required_padding_characters == 0 && !needs_replacement) { - return StringPieceOrString(input); + return StringViewOrString(input); } // If the string either needs replacement of URL-safe characters to normal @@ -91,7 +93,7 @@ std::optional Base64ToBase64URL( // Append the necessary padding characters. base64_input.resize(out_size.ValueOrDie(), '='); - return StringPieceOrString(std::move(base64_input)); + return StringViewOrString(std::move(base64_input)); } } // namespace @@ -120,16 +122,16 @@ void Base64UrlEncode(span input, } } -void Base64UrlEncode(StringPiece input, +void Base64UrlEncode(std::string_view input, Base64UrlEncodePolicy policy, std::string* output) { Base64UrlEncode(base::as_byte_span(input), policy, output); } -bool Base64UrlDecode(StringPiece input, +bool Base64UrlDecode(std::string_view input, Base64UrlDecodePolicy policy, std::string* output) { - std::optional base64_input = + std::optional base64_input = Base64ToBase64URL(input, policy); if (!base64_input) { return false; @@ -138,9 +140,9 @@ bool Base64UrlDecode(StringPiece input, } std::optional> Base64UrlDecode( - StringPiece input, + std::string_view input, Base64UrlDecodePolicy policy) { - std::optional base64_input = + std::optional base64_input = Base64ToBase64URL(input, policy); if (!base64_input) { return std::nullopt; diff --git a/naiveproxy/src/base/base64url.h b/naiveproxy/src/base/base64url.h index 6fa048432c..b18a6d5813 100644 --- a/naiveproxy/src/base/base64url.h +++ b/naiveproxy/src/base/base64url.h @@ -7,11 +7,11 @@ #include #include +#include #include #include "base/base_export.h" #include "base/containers/span.h" -#include "base/strings/string_piece.h" namespace base { @@ -33,7 +33,7 @@ BASE_EXPORT void Base64UrlEncode(span input, std::string* output); // Same as the previous function, but accepts an input string. -BASE_EXPORT void Base64UrlEncode(StringPiece input, +BASE_EXPORT void Base64UrlEncode(std::string_view input, Base64UrlEncodePolicy policy, std::string* output); @@ -53,13 +53,13 @@ enum class Base64UrlDecodePolicy { // // The |policy| defines whether padding will be required, ignored or disallowed // altogether. |input| and |*output| may reference the same storage. -[[nodiscard]] BASE_EXPORT bool Base64UrlDecode(StringPiece input, +[[nodiscard]] BASE_EXPORT bool Base64UrlDecode(std::string_view input, Base64UrlDecodePolicy policy, std::string* output); // Same as the previous function, but writing to a `std::vector`. [[nodiscard]] BASE_EXPORT std::optional> Base64UrlDecode( - StringPiece input, + std::string_view input, Base64UrlDecodePolicy policy); } // namespace base diff --git a/naiveproxy/src/base/base_paths.cc b/naiveproxy/src/base/base_paths.cc index ad97160f88..b55b376b8e 100644 --- a/naiveproxy/src/base/base_paths.cc +++ b/naiveproxy/src/base/base_paths.cc @@ -79,7 +79,7 @@ bool PathProvider(int key, FilePath* result) { return true; case base::DIR_SRC_TEST_DATA_ROOT: // This is only used by tests and overridden by each platform. - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return false; #if !BUILDFLAG(IS_FUCHSIA) && !BUILDFLAG(IS_IOS) case DIR_OUT_TEST_DATA_ROOT: diff --git a/naiveproxy/src/base/base_paths_fuchsia.cc b/naiveproxy/src/base/base_paths_fuchsia.cc index 1d290d2bb6..c2bf4a2fdb 100644 --- a/naiveproxy/src/base/base_paths_fuchsia.cc +++ b/naiveproxy/src/base/base_paths_fuchsia.cc @@ -24,7 +24,7 @@ bool PathProviderFuchsia(int key, FilePath* result) { *result = base::FilePath(base::kPackageRootDirectoryPath); return true; - // TODO(crbug.com/1459692): Align with other platforms and remove this + // TODO(crbug.com/40274404): Align with other platforms and remove this // specialization. case DIR_GEN_TEST_DATA_ROOT: [[fallthrough]]; @@ -36,11 +36,11 @@ bool PathProviderFuchsia(int key, FilePath* result) { *result = base::FilePath(base::kPackageRootDirectoryPath); return true; case DIR_USER_DESKTOP: - // TODO(crbug.com/1231928): Implement this case for DIR_USER_DESKTOP. + // TODO(crbug.com/42050322): Implement this case for DIR_USER_DESKTOP. NOTIMPLEMENTED_LOG_ONCE(); return false; case DIR_HOME: - // TODO(crbug.com/1231928) Provide a proper base::GetHomeDir() + // TODO(crbug.com/42050322) Provide a proper base::GetHomeDir() // implementation for Fuchsia and remove this case statement. See also // crbug.com/1261284. For now, log, return false, and let the base // implementation handle it. This will end up returning a temporary diff --git a/naiveproxy/src/base/base_paths_posix.cc b/naiveproxy/src/base/base_paths_posix.cc index d83961ad6a..fbab9d26e2 100644 --- a/naiveproxy/src/base/base_paths_posix.cc +++ b/naiveproxy/src/base/base_paths_posix.cc @@ -42,7 +42,8 @@ bool PathProviderPosix(int key, FilePath* result) { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) FilePath bin_dir; if (!ReadSymbolicLink(FilePath(kProcSelfExe), &bin_dir)) { - NOTREACHED() << "Unable to resolve " << kProcSelfExe << "."; + NOTREACHED_IN_MIGRATION() + << "Unable to resolve " << kProcSelfExe << "."; return false; } *result = bin_dir; @@ -51,7 +52,7 @@ bool PathProviderPosix(int key, FilePath* result) { int name[] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 }; std::optional bin_dir = StringSysctl(name, std::size(name)); if (!bin_dir.has_value() || bin_dir.value().length() <= 1) { - NOTREACHED() << "Unable to resolve path."; + NOTREACHED_IN_MIGRATION() << "Unable to resolve path."; return false; } *result = FilePath(bin_dir.value()); @@ -59,7 +60,8 @@ bool PathProviderPosix(int key, FilePath* result) { #elif BUILDFLAG(IS_SOLARIS) char bin_dir[PATH_MAX + 1]; if (realpath(getexecname(), bin_dir) == NULL) { - NOTREACHED() << "Unable to resolve " << getexecname() << "."; + NOTREACHED_IN_MIGRATION() + << "Unable to resolve " << getexecname() << "."; return false; } *result = FilePath(bin_dir); diff --git a/naiveproxy/src/base/base_switches.cc b/naiveproxy/src/base/base_switches.cc index 5dcdbf37a7..508a8afb5b 100644 --- a/naiveproxy/src/base/base_switches.cc +++ b/naiveproxy/src/base/base_switches.cc @@ -37,12 +37,13 @@ const char kEnableLowEndDeviceMode[] = "enable-low-end-device-mode"; const char kEnableBackgroundThreadPool[] = "enable-background-thread-pool"; // Handle to the shared memory segment containing field trial state that is to -// be shared between processes. The argument to this switch is made of 4 -// segments, separated by commas: -// 1. The platform-specific handle id for the shared memory as a string. -// 2. The high 64 bits of the shared memory block GUID. -// 3. The low 64 bits of the shared memory block GUID. -// 4. The size of the shared memory segment as a string. +// be shared between processes. The argument to this switch is made of segments +// separated by commas: +// - The platform-specific handle id for the shared memory as a string. +// - (Windows only) i=inherited by duplication or p=child must open parent. +// - The high 64 bits of the shared memory block GUID. +// - The low 64 bits of the shared memory block GUID. +// - The size of the shared memory segment as a string. const char kFieldTrialHandle[] = "field-trial-handle"; // This option can be used to force field trials when testing changes locally. diff --git a/naiveproxy/src/base/big_endian.cc b/naiveproxy/src/base/big_endian.cc deleted file mode 100644 index 27157d3b43..0000000000 --- a/naiveproxy/src/base/big_endian.cc +++ /dev/null @@ -1,167 +0,0 @@ -// Copyright 2014 The Chromium Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/big_endian.h" - -#include - -#include - -#include "base/numerics/byte_conversions.h" -#include "base/numerics/checked_math.h" - -namespace base { - -BigEndianReader BigEndianReader::FromStringPiece(std::string_view view) { - return BigEndianReader(as_byte_span(view)); -} - -BigEndianReader::BigEndianReader(const uint8_t* buf, size_t len) - : // TODO(crbug.com/40284755): Remove this constructor entirely, callers - // should use span constructor. - UNSAFE_BUFFERS(buffer_(buf, len)) {} - -BigEndianReader::BigEndianReader(span buffer) - : buffer_(buffer) {} - -BigEndianReader::~BigEndianReader() = default; - -bool BigEndianReader::Skip(size_t len) { - if (len > remaining()) { - return false; - } - buffer_ = buffer_.subspan(len); - return true; -} - -bool BigEndianReader::ReadU8(uint8_t* value) { - std::array bytes; - if (!ReadBytes<1u>(bytes)) { - return false; - } - *value = U8FromBigEndian(bytes); - return true; -} - -bool BigEndianReader::ReadI8(int8_t* value) { - std::array bytes; - if (!ReadBytes<1u>(bytes)) { - return false; - } - *value = static_cast(numerics::U8FromBigEndian(bytes)); - return true; -} - -bool BigEndianReader::ReadU16(uint16_t* value) { - std::array bytes; - if (!ReadBytes<2u>(bytes)) { - return false; - } - *value = U16FromBigEndian(bytes); - return true; -} - -bool BigEndianReader::ReadI16(int16_t* value) { - std::array bytes; - if (!ReadBytes<2u>(bytes)) { - return false; - } - *value = static_cast(numerics::U16FromBigEndian(bytes)); - return true; -} - -bool BigEndianReader::ReadU32(uint32_t* value) { - std::array bytes; - if (!ReadBytes<4u>(bytes)) { - return false; - } - *value = U32FromBigEndian(bytes); - return true; -} - -bool BigEndianReader::ReadI32(int32_t* value) { - std::array bytes; - if (!ReadBytes<4u>(bytes)) { - return false; - } - *value = static_cast(numerics::U32FromBigEndian(bytes)); - return true; -} - -bool BigEndianReader::ReadU64(uint64_t* value) { - std::array bytes; - if (!ReadBytes<8u>(bytes)) { - return false; - } - *value = U64FromBigEndian(bytes); - return true; -} - -bool BigEndianReader::ReadI64(int64_t* value) { - std::array bytes; - if (!ReadBytes<8u>(bytes)) { - return false; - } - *value = static_cast(numerics::U64FromBigEndian(bytes)); - return true; -} - -bool BigEndianReader::ReadPiece(std::string_view* out, size_t len) { - if (len > remaining()) { - return false; - } - auto [view, remain] = buffer_.split_at(len); - *out = - std::string_view(reinterpret_cast(view.data()), view.size()); - buffer_ = remain; - return true; -} - -std::optional> BigEndianReader::ReadSpan( - StrictNumeric n) { - if (remaining() < size_t{n}) { - return std::nullopt; - } - auto [consume, remain] = buffer_.split_at(n); - buffer_ = remain; - return {consume}; -} - -bool BigEndianReader::ReadBytes(span out) { - if (remaining() < out.size()) { - return false; - } - auto [consume, remain] = buffer_.split_at(out.size()); - buffer_ = remain; - out.copy_from(consume); - return true; -} - -bool BigEndianReader::ReadU8LengthPrefixed(std::string_view* out) { - span rollback = buffer_; - uint8_t len; - if (!ReadU8(&len)) { - return false; - } - const bool ok = ReadPiece(out, len); - if (!ok) { - buffer_ = rollback; // Undo the ReadU8. - } - return ok; -} - -bool BigEndianReader::ReadU16LengthPrefixed(std::string_view* out) { - span rollback = buffer_; - uint16_t len; - if (!ReadU16(&len)) { - return false; - } - const bool ok = ReadPiece(out, len); - if (!ok) { - buffer_ = rollback; // Undo the ReadU8. - } - return ok; -} - -} // namespace base diff --git a/naiveproxy/src/base/big_endian.h b/naiveproxy/src/base/big_endian.h index b9f3a4a5ec..fe4ee134ee 100644 --- a/naiveproxy/src/base/big_endian.h +++ b/naiveproxy/src/base/big_endian.h @@ -5,6 +5,9 @@ #ifndef BASE_BIG_ENDIAN_H_ #define BASE_BIG_ENDIAN_H_ +// TODO(danakj): Remove this header file, but it might be a pain since it's +// included in a lot of places, and they may depend on these includes. + #include #include #include @@ -18,122 +21,4 @@ #include "base/containers/span.h" #include "base/memory/raw_span.h" -namespace base { - -// Allows reading integers in network order (big endian) while iterating over -// an underlying buffer. All the reading functions advance the internal pointer. -class BASE_EXPORT BigEndianReader { - public: - static BigEndianReader FromStringPiece(std::string_view string_piece); - - explicit BigEndianReader(base::span buffer); - - // TODO(crbug.com/40284755): Remove this overload. - UNSAFE_BUFFER_USAGE BigEndianReader(const uint8_t* buf, size_t len); - - ~BigEndianReader(); - - // Returns a span over all unread bytes. - span remaining_bytes() const { return buffer_; } - - // TODO(crbug.com/40284755): Remove this method. - const uint8_t* ptr() const { return buffer_.data(); } - // TODO(crbug.com/40284755): Remove this method. - size_t remaining() const { return buffer_.size(); } - - // Moves the internal state forward `len` bytes, or returns false if there is - // not enough bytes left to read from. - bool Skip(size_t len); - - // Reads an 8-bit integer and advances past it. Returns false if there is not - // enough bytes to read from. - bool ReadU8(uint8_t* value); - // Reads an 8-bit signed integer and advances past it. Returns false if there - // is not enough bytes to read from. - bool ReadI8(int8_t* value); - // Reads a 16-bit integer and advances past it. Returns false if there is not - // enough bytes to read from. - bool ReadU16(uint16_t* value); - // Reads a 16-bit signed integer and advances past it. Returns false if there - // is not enough bytes to read from. - bool ReadI16(int16_t* value); - // Reads a 32-bit integer and advances past it. Returns false if there is not - // enough bytes to read from. - bool ReadU32(uint32_t* value); - // Reads a 32-bit signed integer and advances past it. Returns false if there - // is not enough bytes to read from. - bool ReadI32(int32_t* value); - // Reads a 64-bit integer and advances past it. Returns false if there is not - // enough bytes to read from. - bool ReadU64(uint64_t* value); - // Reads a 64-bit signed integer and advances past it. Returns false if there - // is not enough bytes to read from. - bool ReadI64(int64_t* value); - - // An alias for `ReadU8` that works with a `char` pointer instead of - // `uint8_t`. - bool ReadChar(char* value) { - return ReadU8(reinterpret_cast(value)); - } - - // Creates a string_view in |out| that points to the underlying buffer. - bool ReadPiece(std::string_view* out, size_t len); - - // Returns a span over `n` bytes from the buffer and moves the internal state - // past those bytes, or returns nullopt and if there are not `n` bytes - // remaining in the buffer. - std::optional> ReadSpan(base::StrictNumeric n); - - // Returns a span over `N` bytes from the buffer and moves the internal state - // past those bytes, or returns nullopt and if there are not `N` bytes - // remaining in the buffer. - template - std::optional> ReadSpan() { - if (remaining() < N) { - return std::nullopt; - } - auto [consume, remain] = buffer_.split_at(); - buffer_ = remain; - return {consume}; - } - - // Copies into a span (writing to the whole span) from the buffer and moves - // the internal state past the copied bytes, or returns false and if there are - // not enough bytes remaining in the buffer to fill the span and leaves the - // internal state unchanged. - bool ReadBytes(span out); - - // Copies into a span of `N` bytes from the buffer and moves the internal - // state past the copied bytes, or returns false and if there are not `N` - // bytes remaining in the buffer and leaves the internal state unchanged. - template - bool ReadBytes(span out) { - std::optional> span = ReadSpan(); - if (!span.has_value()) { - return false; - } - out.copy_from(*span); - return true; - } - - // Reads a length-prefixed region: - // 1. reads a big-endian length L from the buffer; - // 2. sets |*out| to a string_view over the next L many bytes - // of the buffer (beyond the end of the bytes encoding the length); and - // 3. skips the main reader past this L-byte substring. - // - // Fails if reading a U8 or U16 fails, or if the parsed length is greater - // than the number of bytes remaining in the stream. - // - // On failure, leaves the stream at the same position - // as before the call. - bool ReadU8LengthPrefixed(std::string_view* out); - bool ReadU16LengthPrefixed(std::string_view* out); - - private: - raw_span buffer_; -}; - -} // namespace base - #endif // BASE_BIG_ENDIAN_H_ diff --git a/naiveproxy/src/base/bits.h b/naiveproxy/src/base/bits.h index b1404d409c..f7d496d48d 100644 --- a/naiveproxy/src/base/bits.h +++ b/naiveproxy/src/base/bits.h @@ -32,7 +32,7 @@ concept UnsignedInteger = // concept that captures all the types that must be supported for compatibility // but that we want to remove. // -// TODO(https://crbug.com/1414634): Switch uses to supported functions and +// TODO(crbug.com/40256225): Switch uses to supported functions and // remove. template concept SignedIntegerDeprecatedDoNotUse = @@ -41,7 +41,7 @@ concept SignedIntegerDeprecatedDoNotUse = // Returns true iff |value| is a power of 2. DEPRECATED; use // std::has_single_bit() instead. // -// TODO(https://crbug.com/1414634): Switch uses and remove. +// TODO(crbug.com/40256225): Switch uses and remove. template requires SignedIntegerDeprecatedDoNotUse constexpr bool IsPowerOfTwoDeprecatedDoNotUse(T value) { @@ -65,7 +65,7 @@ inline constexpr T AlignDown(T size, T alignment) { // Round down |size| to a multiple of alignment, which must be a power of two. // DEPRECATED; use the UnsignedInteger version. // -// TODO(https://crbug.com/1414634): Switch uses and remove. +// TODO(crbug.com/40256225): Switch uses and remove. template requires SignedIntegerDeprecatedDoNotUse inline constexpr T AlignDownDeprecatedDoNotUse(T size, T alignment) { @@ -93,7 +93,7 @@ inline constexpr T AlignUp(T size, T alignment) { // Round up |size| to a multiple of alignment, which must be a power of two. // DEPRECATED; use the UnsignedInteger version. // -// TODO(https://crbug.com/1414634): Switch uses and remove. +// TODO(crbug.com/40256225): Switch uses and remove. template requires SignedIntegerDeprecatedDoNotUse inline constexpr T AlignUpDeprecatedDoNotUse(T size, T alignment) { diff --git a/naiveproxy/src/base/callback_list.h b/naiveproxy/src/base/callback_list.h index 309453f323..33ceb44427 100644 --- a/naiveproxy/src/base/callback_list.h +++ b/naiveproxy/src/base/callback_list.h @@ -132,7 +132,7 @@ class CallbackListBase { using CallbackType = typename CallbackListTraits::CallbackType; - // TODO(crbug.com/1103086): Update references to use this directly and by + // TODO(crbug.com/40139093): Update references to use this directly and by // value, then remove. using Subscription = CallbackListSubscription; diff --git a/naiveproxy/src/base/check.cc b/naiveproxy/src/base/check.cc index 30d08b6d98..39286d0ed7 100644 --- a/naiveproxy/src/base/check.cc +++ b/naiveproxy/src/base/check.cc @@ -61,7 +61,8 @@ LogSeverity GetNotReachedSeverity(base::NotFatalUntil fatal_milestone) { // NOTREACHED severity is controlled by kNotReachedIsFatal unless // `fatal_milestone` overrides it. // - // NOTREACHED() instances may be hit before base::FeatureList is enabled. + // NOTREACHED_IN_MIGRATION() instances may be hit before base::FeatureList is + // enabled. if (fatal_milestone == base::NotFatalUntil::NoSpecifiedMilestoneInternal && base::FeatureList::GetInstance() && base::FeatureList::IsEnabled(base::features::kNotReachedIsFatal)) { @@ -337,7 +338,7 @@ std::ostream& CheckError::stream() { } CheckError::~CheckError() { - // TODO(crbug.com/1409729): Consider splitting out CHECK from DCHECK so that + // TODO(crbug.com/40254046): Consider splitting out CHECK from DCHECK so that // the destructor can be marked [[noreturn]] and we don't need to check // severity in the destructor. const bool is_fatal = log_message_->severity() == LOGGING_FATAL; @@ -349,7 +350,7 @@ CheckError::~CheckError() { log_message_.reset(); // Make sure we crash even if LOG(FATAL) has been overridden. - // TODO(crbug.com/1409729): Remove severity checking in the destructor when + // TODO(crbug.com/40254046): Remove severity checking in the destructor when // LOG(FATAL) is [[noreturn]] and can't be overridden. if (is_fatal) { base::ImmediateCrash(); @@ -370,8 +371,8 @@ NotReachedError NotReachedError::NotReached(base::NotFatalUntil fatal_milestone, } void NotReachedError::TriggerNotReached() { - // This triggers a NOTREACHED() error as the returned NotReachedError goes out - // of scope. + // This triggers a NOTREACHED_IN_MIGRATION() error as the returned + // NotReachedError goes out of scope. NotReached() << "NOTREACHED log messages are omitted in official builds. Sorry!"; } @@ -395,7 +396,7 @@ NotReachedNoreturnError::~NotReachedNoreturnError() { log_message_.reset(); // Make sure we die if we haven't. - // TODO(crbug.com/1409729): Replace this with NOTREACHED_NORETURN() once + // TODO(crbug.com/40254046): Replace this with NOTREACHED_NORETURN() once // LOG(FATAL) is [[noreturn]]. base::ImmediateCrash(); } diff --git a/naiveproxy/src/base/check.h b/naiveproxy/src/base/check.h index 14df5b9697..1a07ecc824 100644 --- a/naiveproxy/src/base/check.h +++ b/naiveproxy/src/base/check.h @@ -15,7 +15,6 @@ #include "base/location.h" #include "base/macros/if.h" #include "base/macros/is_empty.h" -#include "base/memory/raw_ptr.h" #include "base/not_fatal_until.h" // This header defines the CHECK, DCHECK, and DPCHECK macros. @@ -153,11 +152,11 @@ class BASE_EXPORT NotReachedError : public CheckError { base::NotFatalUntil::NoSpecifiedMilestoneInternal, const base::Location& location = base::Location::Current()); - // Used to trigger a NOTREACHED() without providing file or line while also - // discarding log-stream arguments. See base/notreached.h. + // Used to trigger a NOTREACHED_IN_MIGRATION() without providing file or line + // while also discarding log-stream arguments. See base/notreached.h. NOMERGE NOINLINE NOT_TAIL_CALLED static void TriggerNotReached(); - // TODO(crbug.com/851128): Mark [[noreturn]] once this is CHECK-fatal on all + // TODO(crbug.com/40580068): Mark [[noreturn]] once this is CHECK-fatal on all // builds. NOMERGE NOINLINE NOT_TAIL_CALLED ~NotReachedError(); @@ -165,8 +164,9 @@ class BASE_EXPORT NotReachedError : public CheckError { using CheckError::CheckError; }; -// TODO(crbug.com/851128): This should take the name of the above class once all -// callers of NOTREACHED() have migrated to the CHECK-fatal version. +// TODO(crbug.com/40580068): This should take the name of the above class once +// all callers of NOTREACHED_IN_MIGRATION() have migrated to the CHECK-fatal +// version. class BASE_EXPORT NotReachedNoreturnError : public CheckError { public: explicit NotReachedNoreturnError( @@ -179,14 +179,14 @@ class BASE_EXPORT NotReachedNoreturnError : public CheckError { // compiler to identify and warn about dead code, e.g.: // // return 2; -// NOTREACHED(); +// NOTREACHED_IN_MIGRATION(); // // The 'switch' is used to prevent the 'else' from being ambiguous when the // macro is used in an 'if' clause such as: // if (a == 1) // CHECK(Foo()); // -// TODO(crbug.com/1380930): Remove the const bool when the blink-gc plugin has +// TODO(crbug.com/40244950): Remove the const bool when the blink-gc plugin has // been updated to accept `if (LIKELY(!field_))` as well as `if (!field_)`. #define LOGGING_CHECK_FUNCTION_IMPL(check_stream, condition) \ switch (0) \ diff --git a/naiveproxy/src/base/check_is_test.cc b/naiveproxy/src/base/check_is_test.cc index da9cad8edd..1479face58 100644 --- a/naiveproxy/src/base/check_is_test.cc +++ b/naiveproxy/src/base/check_is_test.cc @@ -15,6 +15,11 @@ namespace base::internal { void check_is_test_impl(base::NotFatalUntil fatal_milestone) { CHECK(g_this_is_a_test, fatal_milestone); } + +// static +bool IsInTest::Get() { + return g_this_is_a_test; +} } // namespace base::internal namespace base::test { @@ -23,7 +28,7 @@ namespace base::test { // code. We therefore have to also mark the symbol as exported here. BASE_EXPORT void AllowCheckIsTestForTesting() { // This CHECK ensures that `AllowCheckIsTestForTesting` is called - // just once. Since it is called in `base::TestSuite`, this should effectivly + // just once. Since it is called in `base::TestSuite`, this should effectively // prevent calls to `AllowCheckIsTestForTesting` in production code // (assuming that code has unit test coverage). // @@ -34,5 +39,4 @@ BASE_EXPORT void AllowCheckIsTestForTesting() { g_this_is_a_test = true; } - } // namespace base::test diff --git a/naiveproxy/src/base/check_is_test.h b/naiveproxy/src/base/check_is_test.h index f53ed9d418..074b702299 100644 --- a/naiveproxy/src/base/check_is_test.h +++ b/naiveproxy/src/base/check_is_test.h @@ -6,8 +6,13 @@ #define BASE_CHECK_IS_TEST_H_ #include "base/base_export.h" +#include "base/check.h" #include "base/not_fatal_until.h" +namespace web_app { +class OsIntegrationTestOverride; +} + // Code paths taken in tests are sometimes different from those taken in // production. This might be because the respective tests do not initialize some // objects that would be required for the "normal" code path. @@ -45,6 +50,18 @@ namespace base::internal { BASE_EXPORT void check_is_test_impl( base::NotFatalUntil fatal_milestone = base::NotFatalUntil::NoSpecifiedMilestoneInternal); + +// This class facilitates an allow-list for GetIsInTest(), helping prevent +// possible misuse. +class BASE_EXPORT IsInTest { + private: + friend class web_app::OsIntegrationTestOverride; + static bool Get(); +}; } // namespace base::internal +// In special cases, code should not execute in a test. This functionality is +// protected by the list of friends in `IsInTest`. +#define CHECK_IS_NOT_TEST() CHECK(!base::internal::IsInTest::Get()) + #endif // BASE_CHECK_IS_TEST_H_ diff --git a/naiveproxy/src/base/check_op.cc b/naiveproxy/src/base/check_op.cc index c4eed43c10..108339261f 100644 --- a/naiveproxy/src/base/check_op.cc +++ b/naiveproxy/src/base/check_op.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/check_op.h" #include diff --git a/naiveproxy/src/base/command_line.cc b/naiveproxy/src/base/command_line.cc index 3596432cb4..1e5e33b0c1 100644 --- a/naiveproxy/src/base/command_line.cc +++ b/naiveproxy/src/base/command_line.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/command_line.h" #include @@ -451,7 +456,7 @@ void CommandLine::RemoveSwitch(std::string_view switch_key_without_prefix) { return IsSwitchWithKey(arg, switch_key_native); }); if (expell == argv_switches_end) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return; } begin_args_ -= argv_switches_end - expell; diff --git a/naiveproxy/src/base/compiler_specific.h b/naiveproxy/src/base/compiler_specific.h index 89755cc0aa..52f00a951d 100644 --- a/naiveproxy/src/base/compiler_specific.h +++ b/naiveproxy/src/base/compiler_specific.h @@ -524,8 +524,8 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) { // should be documented along side the use of `UNSAFE_BUFFER_USAGE`. // // All functions marked with UNSAFE_BUFFER_USAGE should come with a safety -// comment that explains the requirements of the function to prevent any chance -// of an out-of-bounds bug. For example: +// comment that explains the requirements of the function to prevent an +// out-of-bounds bug. For example: // ``` // // Function to do things between `input` and `end`. // // @@ -533,6 +533,12 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) { // // The `input` must point to an array with size at least 5. The `end` must // // point within the same allocation of `input` and not come before `input`. // ``` +// +// The requirements described in the safety comment must be sufficient to +// guarantee that the function never goes out of bounds. Annotating a function +// in this way means that all callers will be required to wrap the call in an +// `UNSAFE_BUFFERS()` macro (see below), with a comment justifying how it meets +// the requirements. #if defined(__clang__) && HAS_ATTRIBUTE(unsafe_buffer_usage) #define UNSAFE_BUFFER_USAGE [[clang::unsafe_buffer_usage]] #else @@ -545,24 +551,39 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) { // - pointer subscripting, and // - calls to functions annotated with UNSAFE_BUFFER_USAGE. // -// ** USE OF THIS MACRO SHOULD BE VERY RARE.** Reviewers should push back when -// it is not strictly necessary. Prefer to use `base::span` instead of pointers, -// or other safer coding patterns (like std containers) that avoid the -// opportunity for out-of-bounds bugs to creep into the code. Any use of -// UNSAFE_BUFFERS() can lead to a critical security bug if any assumptions are -// wrong, or ever become wrong in the future. +// This indicates code whose bounds correctness cannot be ensured +// systematically, and thus requires manual review. +// +// ** USE OF THIS MACRO SHOULD BE VERY RARE.** This should only be used when +// strictly necessary. Prefer to use `base::span` instead of pointers, or other +// safer coding patterns (like std containers) that avoid the opportunity for +// out-of-bounds bugs to creep into the code. Any use of UNSAFE_BUFFERS() can +// lead to a critical security bug if any assumptions are wrong, or ever become +// wrong in the future. // // The macro should be used to wrap the minimum necessary code, to make it clear // what is unsafe, and prevent accidentally opting extra things out of the // warning. // // All usage of UNSAFE_BUFFERS() should come with a `// SAFETY: ...` comment -// that explains how we have guaranteed (ideally directly above, with conditions -// or CHECKs) that the pointer usage can never go out-of-bounds, or that the -// requirements of the UNSAFE_BUFFER_USAGE function are met. If the safety -// explanation requires cooperation of code that is not fully encapsulated close -// to the UNSAFE_BUFFERS() usage, it should be rejected and replaced with safer -// coding patterns or stronger guarantees. +// that explains how we have guaranteed that the pointer usage can never go +// out-of-bounds, or that the requirements of the UNSAFE_BUFFER_USAGE function +// are met. The safety comment should allow a reader to check that all +// requirements have been met, using only local invariants. Examples of local +// invariants include: +// - Runtime conditions or CHECKs near the UNSAFE_BUFFERS macros +// - Invariants guaranteed by types in the surrounding code +// - Invariants guaranteed by function calls in the surrounding code +// - Caller requirements, if the containing function is itself marked with +// UNSAFE_BUFFER_USAGE +// +// The last case should be an option of last resort. It is less safe and will +// require the caller also use the UNSAFE_BUFFERS() macro. Prefer directly +// capturing such invariants in types like `base::span`. +// +// Safety explanations may not rely on invariants that are not fully +// encapsulated close to the UNSAFE_BUFFERS() usage. Instead, use safer coding +// patterns or stronger invariants. #if defined(__clang__) // clang-format off // Formatting is off so that we can put each _Pragma on its own line, as diff --git a/naiveproxy/src/base/containers/checked_iterators.h b/naiveproxy/src/base/containers/checked_iterators.h index 6f62aa8174..ee9859b4c5 100644 --- a/naiveproxy/src/base/containers/checked_iterators.h +++ b/naiveproxy/src/base/containers/checked_iterators.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_CONTAINERS_CHECKED_ITERATORS_H_ #define BASE_CONTAINERS_CHECKED_ITERATORS_H_ @@ -194,7 +199,7 @@ class CheckedContiguousIterator { CHECK_EQ(end_, other.end_); } - // RAW_PTR_EXCLUSION: T can be a STACK_ALLOCATED class. + // RAW_PTR_EXCLUSION: The embedding class is stack-scoped. RAW_PTR_EXCLUSION const T* start_ = nullptr; RAW_PTR_EXCLUSION T* current_ = nullptr; RAW_PTR_EXCLUSION const T* end_ = nullptr; diff --git a/naiveproxy/src/base/containers/circular_deque.h b/naiveproxy/src/base/containers/circular_deque.h index 6ba5a93345..d960715958 100644 --- a/naiveproxy/src/base/containers/circular_deque.h +++ b/naiveproxy/src/base/containers/circular_deque.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_CONTAINERS_CIRCULAR_DEQUE_H_ #define BASE_CONTAINERS_CIRCULAR_DEQUE_H_ diff --git a/naiveproxy/src/base/containers/contains.h b/naiveproxy/src/base/containers/contains.h index 3ebf061a9d..e3223888e6 100644 --- a/naiveproxy/src/base/containers/contains.h +++ b/naiveproxy/src/base/containers/contains.h @@ -17,59 +17,8 @@ namespace internal { // Small helper to detect whether a given type has a nested `key_type` typedef. // Used below to catch misuses of the API for associative containers. -template -struct HasKeyType : std::false_type {}; - template -struct HasKeyType> : std::true_type {}; - -// Probe whether a `contains` member function exists and return the result of -// `container.contains(value)` if this is a valid expression. This is the -// highest priority option. -template -constexpr auto ContainsImpl(const Container& container, - const Value& value, - priority_tag<2>) - -> decltype(container.contains(value)) { - return container.contains(value); -} - -// Probe whether a `find` member function exists and whether its return value -// can be compared with `container.end()`. Intended for STL style maps and sets -// that lack a `contains` member function. -template -constexpr auto ContainsImpl(const Container& container, - const Value& value, - priority_tag<1>) - -> decltype(container.find(value) != container.end()) { - return container.find(value) != container.end(); -} - -// Probe whether a `find` member function exists and whether its return value -// can be compared with `Container::npos`. Intended for STL style strings that -// lack a `contains` member function. -template -constexpr auto ContainsImpl(const Container& container, - const Value& value, - priority_tag<1>) - -> decltype(container.find(value) != Container::npos) { - return container.find(value) != Container::npos; -} - -// Generic fallback option, using a linear search over `container` to find -// `value`. Has the lowest priority. This will not compile for associative -// containers, as this likely is a performance bug. -template -constexpr bool ContainsImpl(const Container& container, - const Value& value, - priority_tag<0>) { - static_assert( - !HasKeyType::value, - "Error: About to perform linear search on an associative container. " - "Either use a more generic comparator (e.g. std::less<>) or, if a linear " - "search is desired, provide an explicit projection parameter."); - return ranges::find(container, value) != ranges::end(container); -} +concept HasKeyType = requires { typename T::key_type; }; } // namespace internal @@ -78,7 +27,22 @@ constexpr bool ContainsImpl(const Container& container, // exists, and fall back to a generic linear search over `container`. template constexpr bool Contains(const Container& container, const Value& value) { - return internal::ContainsImpl(container, value, internal::priority_tag<2>()); + if constexpr (requires { + { container.contains(value) } -> std::same_as; + }) { + return container.contains(value); + } else if constexpr (requires { container.find(value) != Container::npos; }) { + return container.find(value) != Container::npos; + } else if constexpr (requires { container.find(value) != container.end(); }) { + return container.find(value) != container.end(); + } else { + static_assert( + !internal::HasKeyType, + "Error: About to perform linear search on an associative container. " + "Either use a more generic comparator (e.g. std::less<>) or, if a " + "linear search is desired, provide an explicit projection parameter."); + return ranges::find(container, value) != ranges::end(container); + } } // Overload that allows to provide an additional projection invocable. This diff --git a/naiveproxy/src/base/containers/extend.h b/naiveproxy/src/base/containers/extend.h index 4811ea07e7..1578e4a67e 100644 --- a/naiveproxy/src/base/containers/extend.h +++ b/naiveproxy/src/base/containers/extend.h @@ -42,6 +42,25 @@ void Extend(std::vector& dst, span src) { dst.insert(dst.end(), src.begin(), src.end()); } +// Append to |dst| all elements of |src| by copying them out of |src|. |src| is +// not changed. +// +// # Implementation note on convertible_to +// This overload allows implicit conversions to `span`, in the same way that +// would occur if we received a non-template `span`. This would not be +// possible by just receiving `span` as the templated `T` can not be deduced +// (even though it is fixed by the deduction from the `vector` parameter). +// The overloads above do not allow implicit conversion, but do accept +// fixed-size spans without losing the fixed-size `N`. They can not be written +// in the same format as the `N` would not be deducible for the `convertible_to` +// check. +template + requires(std::convertible_to>) +void Extend(std::vector& dst, S&& src) { + span src_span = src; + dst.insert(dst.end(), src_span.begin(), src_span.end()); +} + } // namespace base #endif // BASE_CONTAINERS_EXTEND_H_ diff --git a/naiveproxy/src/base/containers/fixed_flat_map.h b/naiveproxy/src/base/containers/fixed_flat_map.h index e73a87ed36..92a67240a1 100644 --- a/naiveproxy/src/base/containers/fixed_flat_map.h +++ b/naiveproxy/src/base/containers/fixed_flat_map.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_CONTAINERS_FIXED_FLAT_MAP_H_ #define BASE_CONTAINERS_FIXED_FLAT_MAP_H_ diff --git a/naiveproxy/src/base/containers/fixed_flat_set.h b/naiveproxy/src/base/containers/fixed_flat_set.h index f0b9f7c912..55aa7b8732 100644 --- a/naiveproxy/src/base/containers/fixed_flat_set.h +++ b/naiveproxy/src/base/containers/fixed_flat_set.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_CONTAINERS_FIXED_FLAT_SET_H_ #define BASE_CONTAINERS_FIXED_FLAT_SET_H_ diff --git a/naiveproxy/src/base/containers/flat_map.h b/naiveproxy/src/base/containers/flat_map.h index dec378077c..42a51c462d 100644 --- a/naiveproxy/src/base/containers/flat_map.h +++ b/naiveproxy/src/base/containers/flat_map.h @@ -13,7 +13,6 @@ #include "base/check.h" #include "base/containers/flat_tree.h" -#include "base/template_util.h" namespace base { diff --git a/naiveproxy/src/base/containers/flat_set.h b/naiveproxy/src/base/containers/flat_set.h index 93c173a765..b418941bc5 100644 --- a/naiveproxy/src/base/containers/flat_set.h +++ b/naiveproxy/src/base/containers/flat_set.h @@ -10,7 +10,6 @@ #include "base/containers/flat_tree.h" #include "base/ranges/algorithm.h" -#include "base/template_util.h" namespace base { diff --git a/naiveproxy/src/base/containers/flat_tree.h b/naiveproxy/src/base/containers/flat_tree.h index a0f4a549a9..30e9881912 100644 --- a/naiveproxy/src/base/containers/flat_tree.h +++ b/naiveproxy/src/base/containers/flat_tree.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_CONTAINERS_FLAT_TREE_H_ #define BASE_CONTAINERS_FLAT_TREE_H_ diff --git a/naiveproxy/src/base/containers/heap_array.h b/naiveproxy/src/base/containers/heap_array.h index 223f06b42c..9869f838ab 100644 --- a/naiveproxy/src/base/containers/heap_array.h +++ b/naiveproxy/src/base/containers/heap_array.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_CONTAINERS_HEAP_ARRAY_H_ #define BASE_CONTAINERS_HEAP_ARRAY_H_ diff --git a/naiveproxy/src/base/containers/id_map.h b/naiveproxy/src/base/containers/id_map.h index 4ff5ee7c8b..f84c7c5c6f 100644 --- a/naiveproxy/src/base/containers/id_map.h +++ b/naiveproxy/src/base/containers/id_map.h @@ -178,8 +178,8 @@ class IDMap final { } const Iterator& operator=(const Iterator& iter) { - map_ = iter.map; - iter_ = iter.iter; + map_ = iter.map_; + iter_ = iter.iter_; Init(); return *this; } diff --git a/naiveproxy/src/base/containers/intrusive_heap.h b/naiveproxy/src/base/containers/intrusive_heap.h index 8e75013974..be26335ff8 100644 --- a/naiveproxy/src/base/containers/intrusive_heap.h +++ b/naiveproxy/src/base/containers/intrusive_heap.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_CONTAINERS_INTRUSIVE_HEAP_H_ #define BASE_CONTAINERS_INTRUSIVE_HEAP_H_ diff --git a/naiveproxy/src/base/containers/lru_cache.h b/naiveproxy/src/base/containers/lru_cache.h index 22cb43fe41..68cc30fe08 100644 --- a/naiveproxy/src/base/containers/lru_cache.h +++ b/naiveproxy/src/base/containers/lru_cache.h @@ -221,7 +221,8 @@ class LRUCacheBase { const LruCacheType&); ValueList ordering_; - // TODO(crbug.com/1472363): Remove annotation once crbug.com/1472363 is fixed. + // TODO(crbug.com/40069408): Remove annotation once crbug.com/1472363 is + // fixed. __attribute__((annotate("blink_gc_plugin_ignore"))) KeyIndex index_; size_type max_size_; diff --git a/naiveproxy/src/base/containers/ring_buffer.h b/naiveproxy/src/base/containers/ring_buffer.h index 021ca9ffdb..cae30fb715 100644 --- a/naiveproxy/src/base/containers/ring_buffer.h +++ b/naiveproxy/src/base/containers/ring_buffer.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_CONTAINERS_RING_BUFFER_H_ #define BASE_CONTAINERS_RING_BUFFER_H_ diff --git a/naiveproxy/src/base/containers/small_map.h b/naiveproxy/src/base/containers/small_map.h index 159634f98d..3aa67ffc63 100644 --- a/naiveproxy/src/base/containers/small_map.h +++ b/naiveproxy/src/base/containers/small_map.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_CONTAINERS_SMALL_MAP_H_ #define BASE_CONTAINERS_SMALL_MAP_H_ @@ -492,8 +497,8 @@ class small_map { } size_t i = static_cast(position.array_iter_ - array_); - // TODO(crbug.com/817982): When we have a checked iterator, this CHECK might - // not be necessary. + // TODO(crbug.com/40565371): When we have a checked iterator, this CHECK + // might not be necessary. CHECK_LE(i, size_); array_[i].~value_type(); --size_; diff --git a/naiveproxy/src/base/containers/span.h b/naiveproxy/src/base/containers/span.h index 33b8867078..9486d076f0 100644 --- a/naiveproxy/src/base/containers/span.h +++ b/naiveproxy/src/base/containers/span.h @@ -23,7 +23,6 @@ #include "base/containers/checked_iterators.h" #include "base/containers/dynamic_extent.h" #include "base/numerics/safe_conversions.h" -#include "base/template_util.h" #include "base/types/to_address.h" #include "third_party/abseil-cpp/absl/base/attributes.h" diff --git a/naiveproxy/src/base/containers/span_reader.h b/naiveproxy/src/base/containers/span_reader.h index d9ac618746..58ed336098 100644 --- a/naiveproxy/src/base/containers/span_reader.h +++ b/naiveproxy/src/base/containers/span_reader.h @@ -165,6 +165,96 @@ class SpanReader { return ReadAnd<8>([&](auto buf) { value = U64FromNativeEndian(buf); }); } + // For a SpanReader over bytes, we can read integer values directly from those + // bytes as a memcpy. Returns true if there was room remaining and the bytes + // were read. + // + // These treat the bytes from the buffer as being in big endian order. + bool ReadI8BigEndian(int8_t& value) + requires(std::same_as, uint8_t>) + { + return ReadAnd<1>([&](auto buf) { value = I8FromBigEndian(buf); }); + } + bool ReadI16BigEndian(int16_t& value) + requires(std::same_as, uint8_t>) + { + return ReadAnd<2>([&](auto buf) { value = I16FromBigEndian(buf); }); + } + bool ReadI32BigEndian(int32_t& value) + requires(std::same_as, uint8_t>) + { + return ReadAnd<4>([&](auto buf) { value = I32FromBigEndian(buf); }); + } + bool ReadI64BigEndian(int64_t& value) + requires(std::same_as, uint8_t>) + { + return ReadAnd<8>([&](auto buf) { value = I64FromBigEndian(buf); }); + } + + // For a SpanReader over bytes, we can read integer values directly from those + // bytes as a memcpy. Returns true if there was room remaining and the bytes + // were read. + // + // These treat the bytes from the buffer as being in little endian order. + bool ReadI8LittleEndian(int8_t& value) + requires(std::same_as, uint8_t>) + { + return ReadAnd<1>([&](auto buf) { value = I8FromLittleEndian(buf); }); + } + bool ReadI16LittleEndian(int16_t& value) + requires(std::same_as, uint8_t>) + { + return ReadAnd<2>([&](auto buf) { value = I16FromLittleEndian(buf); }); + } + bool ReadI32LittleEndian(int32_t& value) + requires(std::same_as, uint8_t>) + { + return ReadAnd<4>([&](auto buf) { value = I32FromLittleEndian(buf); }); + } + bool ReadI64LittleEndian(int64_t& value) + requires(std::same_as, uint8_t>) + { + return ReadAnd<8>([&](auto buf) { value = I64FromLittleEndian(buf); }); + } + + // For a SpanReader over bytes, we can read integer values directly from those + // bytes as a memcpy. Returns true if there was room remaining and the bytes + // were read. + // + // These treat the bytes from the buffer as being in native endian order. Note + // that this is almost never what you want to do. Native ordering only makes + // sense for byte buffers that are only meant to stay in memory and never be + // written to the disk or network. + bool ReadI8NativeEndian(int8_t& value) + requires(std::same_as, uint8_t>) + { + return ReadAnd<1>([&](auto buf) { value = I8FromNativeEndian(buf); }); + } + bool ReadI16NativeEndian(int16_t& value) + requires(std::same_as, uint8_t>) + { + return ReadAnd<2>([&](auto buf) { value = I16FromNativeEndian(buf); }); + } + bool ReadI32NativeEndian(int32_t& value) + requires(std::same_as, uint8_t>) + { + return ReadAnd<4>([&](auto buf) { value = I32FromNativeEndian(buf); }); + } + bool ReadI64NativeEndian(int64_t& value) + requires(std::same_as, uint8_t>) + { + return ReadAnd<8>([&](auto buf) { value = I64FromNativeEndian(buf); }); + } + + // For a SpanReader over bytes, reads one byte and returns it as a `char`, + // which may be signed or unsigned depending on the platform. Returns true if + // there was room remaining and the byte was read. + bool ReadChar(char& value) + requires(std::same_as, uint8_t>) + { + return ReadAnd<1>([&](auto buf) { value = static_cast(buf[0u]); }); + } + // Returns the number of objects remaining to be read from the original span. size_t remaining() const { return buf_.size(); } // Returns the objects that have not yet been read, as a span. diff --git a/naiveproxy/src/base/containers/span_writer.h b/naiveproxy/src/base/containers/span_writer.h index d5114354b5..821dc92518 100644 --- a/naiveproxy/src/base/containers/span_writer.h +++ b/naiveproxy/src/base/containers/span_writer.h @@ -146,6 +146,87 @@ class SpanWriter { return Write(U64ToNativeEndian(value)); } + // For a SpanWriter over bytes, we can write integer values directly to those + // bytes as a memcpy. Returns true if there was room remaining and the bytes + // were written. + // + // These copy the bytes into the buffer in big endian order. + bool WriteI8BigEndian(int8_t value) + requires(std::same_as) + { + return Write(I8ToBigEndian(value)); + } + bool WriteI16BigEndian(int16_t value) + requires(std::same_as) + { + return Write(I16ToBigEndian(value)); + } + bool WriteI32BigEndian(int32_t value) + requires(std::same_as) + { + return Write(I32ToBigEndian(value)); + } + bool WriteI64BigEndian(int64_t value) + requires(std::same_as) + { + return Write(I64ToBigEndian(value)); + } + + // For a SpanWriter over bytes, we can write integer values directly to those + // bytes as a memcpy. Returns true if there was room remaining and the bytes + // were written. + // + // These copy the bytes into the buffer in little endian order. + bool WriteI8LittleEndian(int8_t value) + requires(std::same_as) + { + return Write(I8ToLittleEndian(value)); + } + bool WriteI16LittleEndian(int16_t value) + requires(std::same_as) + { + return Write(I16ToLittleEndian(value)); + } + bool WriteI32LittleEndian(int32_t value) + requires(std::same_as) + { + return Write(I32ToLittleEndian(value)); + } + bool WriteI64LittleEndian(int64_t value) + requires(std::same_as) + { + return Write(I64ToLittleEndian(value)); + } + + // For a SpanWriter over bytes, we can write integer values directly to those + // bytes as a memcpy. Returns true if there was room remaining and the bytes + // were written. + // + // These copy the bytes into the buffer in native endian order. Note that this + // is almost never what you want to do. Native ordering only makes sense for + // byte buffers that are only meant to stay in memory and never be written to + // the disk or network. + bool WriteI8NativeEndian(int8_t value) + requires(std::same_as) + { + return Write(I8ToNativeEndian(value)); + } + bool WriteI16NativeEndian(int16_t value) + requires(std::same_as) + { + return Write(I16ToNativeEndian(value)); + } + bool WriteI32NativeEndian(int32_t value) + requires(std::same_as) + { + return Write(I32ToNativeEndian(value)); + } + bool WriteI64NativeEndian(int64_t value) + requires(std::same_as) + { + return Write(I64ToNativeEndian(value)); + } + // Returns the number of objects remaining to be written to the original span. size_t remaining() const { return buf_.size(); } // Returns the objects that have not yet been written to, as a span. diff --git a/naiveproxy/src/base/containers/util.h b/naiveproxy/src/base/containers/util.h index cddfa495eb..529b341ef1 100644 --- a/naiveproxy/src/base/containers/util.h +++ b/naiveproxy/src/base/containers/util.h @@ -9,7 +9,7 @@ namespace base { -// TODO(crbug.com/817982): What we really need is for checked_math.h to be +// TODO(crbug.com/40565371): What we really need is for checked_math.h to be // able to do checked arithmetic on pointers. template inline uintptr_t get_uintptr(const T* t) { diff --git a/naiveproxy/src/base/containers/vector_buffer.h b/naiveproxy/src/base/containers/vector_buffer.h index 7127796c68..60d905f4f3 100644 --- a/naiveproxy/src/base/containers/vector_buffer.h +++ b/naiveproxy/src/base/containers/vector_buffer.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_CONTAINERS_VECTOR_BUFFER_H_ #define BASE_CONTAINERS_VECTOR_BUFFER_H_ @@ -76,7 +81,7 @@ class VectorBuffer { size_t capacity() const { return capacity_; } T& operator[](size_t i) { - // TODO(crbug.com/817982): Some call sites (at least circular_deque.h) are + // TODO(crbug.com/40565371): Some call sites (at least circular_deque.h) are // calling this with `i == capacity_` as a way of getting `end()`. Therefore // we have to allow this for now (`i <= capacity_`), until we fix those call // sites to use real iterators. This comment applies here and to `const T& diff --git a/naiveproxy/src/base/cpu.cc b/naiveproxy/src/base/cpu.cc index 8e1713ca24..29a32e5be5 100644 --- a/naiveproxy/src/base/cpu.cc +++ b/naiveproxy/src/base/cpu.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/cpu.h" #include @@ -101,23 +106,33 @@ namespace { #if defined(__pic__) && defined(__i386__) -void __cpuid(int cpu_info[4], int info_type) { +// Requests extended feature information via |ecx|. +void __cpuidex(int cpu_info[4], int eax, int ecx) { __asm__ volatile( "mov %%ebx, %%edi\n" "cpuid\n" "xchg %%edi, %%ebx\n" : "=a"(cpu_info[0]), "=D"(cpu_info[1]), "=c"(cpu_info[2]), "=d"(cpu_info[3]) - : "a"(info_type), "c"(0)); + : "a"(eax), "c"(ecx)); +} + +void __cpuid(int cpu_info[4], int info_type) { + __cpuidex(cpu_info, info_type, /*ecx=*/0); } #else -void __cpuid(int cpu_info[4], int info_type) { +// Requests extended feature information via |ecx|. +void __cpuidex(int cpu_info[4], int eax, int ecx) { __asm__ volatile("cpuid\n" : "=a"(cpu_info[0]), "=b"(cpu_info[1]), "=c"(cpu_info[2]), "=d"(cpu_info[3]) - : "a"(info_type), "c"(0)); + : "a"(eax), "c"(ecx)); +} + +void __cpuid(int cpu_info[4], int info_type) { + __cpuidex(cpu_info, info_type, /*ecx=*/0); } #endif @@ -172,7 +187,7 @@ const ProcCpuInfo& ParseProcCpu() { StringPairs pairs; if (!SplitStringIntoKeyValuePairs(cpuinfo, ':', '\n', &pairs)) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return info; } @@ -230,9 +245,13 @@ void CPU::Initialize(bool require_branding) { // Interpret CPU feature information. if (num_ids > 0) { int cpu_info7[4] = {0}; + int cpu_einfo7[4] = {0}; __cpuid(cpu_info, 1); if (num_ids >= 7) { __cpuid(cpu_info7, 7); + if (cpu_info7[0] >= 1) { + __cpuidex(cpu_einfo7, 7, 1); + } } signature_ = cpu_info[0]; stepping_ = cpu_info[0] & 0xf; @@ -276,7 +295,16 @@ void CPU::Initialize(bool require_branding) { (xgetbv(0) & 6) == 6 /* XSAVE enabled by kernel */; has_aesni_ = (cpu_info[2] & 0x02000000) != 0; has_fma3_ = (cpu_info[2] & 0x00001000) != 0; - has_avx2_ = has_avx_ && (cpu_info7[1] & 0x00000020) != 0; + if (has_avx_) { + has_avx2_ = (cpu_info7[1] & 0x00000020) != 0; + has_avx_vnni_ = (cpu_einfo7[0] & 0x00000010) != 0; + // Check AVX-512 state, bits 5-7. + if ((xgetbv(0) & 0xe0) == 0xe0) { + has_avx512_f_ = (cpu_info7[1] & 0x00010000) != 0; + has_avx512_bw_ = (cpu_info7[1] & 0x40000000) != 0; + has_avx512_vnni_ = (cpu_info7[2] & 0x00000800) != 0; + } + } has_pku_ = (cpu_info7[2] & 0x00000010) != 0; } @@ -359,6 +387,10 @@ void CPU::Initialize(bool require_branding) { #if defined(ARCH_CPU_X86_FAMILY) CPU::IntelMicroArchitecture CPU::GetIntelMicroArchitecture() const { + if (has_avx512_vnni()) return AVX512_VNNI; + if (has_avx512_bw()) return AVX512BW; + if (has_avx512_f()) return AVX512F; + if (has_avx_vnni()) return AVX_VNNI; if (has_avx2()) return AVX2; if (has_fma3()) return FMA3; if (has_avx()) return AVX; diff --git a/naiveproxy/src/base/cpu.h b/naiveproxy/src/base/cpu.h index 20589f3827..39df0c609f 100644 --- a/naiveproxy/src/base/cpu.h +++ b/naiveproxy/src/base/cpu.h @@ -61,10 +61,15 @@ class BASE_EXPORT CPU final { AVX = 7, AVX2 = 8, FMA3 = 9, - MAX_INTEL_MICRO_ARCHITECTURE = 10 + AVX_VNNI = 10, + AVX512F = 11, + AVX512BW = 12, + AVX512_VNNI = 13, + MAX_INTEL_MICRO_ARCHITECTURE = 14 }; // Accessors for CPU information. + // TODO(crbug.com/335001230): Most if not all of these should be x86-only. std::string vendor_name() const { return cpu_vendor_; } int signature() const { return signature_; } int stepping() const { return stepping_; } @@ -73,6 +78,7 @@ class BASE_EXPORT CPU final { int type() const { return type_; } int extended_model() const { return ext_model_; } int extended_family() const { return ext_family_; } +#if defined(ARCH_CPU_X86_FAMILY) bool has_mmx() const { return has_mmx_; } bool has_sse() const { return has_sse_; } bool has_sse2() const { return has_sse2_; } @@ -84,6 +90,11 @@ class BASE_EXPORT CPU final { bool has_avx() const { return has_avx_; } bool has_fma3() const { return has_fma3_; } bool has_avx2() const { return has_avx2_; } + bool has_avx_vnni() const { return has_avx_vnni_; } + bool has_avx512_f() const { return has_avx512_f_; } + bool has_avx512_bw() const { return has_avx512_bw_; } + bool has_avx512_vnni() const { return has_avx512_vnni_; } +#endif bool has_aesni() const { return has_aesni_; } bool has_non_stop_time_stamp_counter() const { return has_non_stop_time_stamp_counter_; @@ -136,6 +147,7 @@ class BASE_EXPORT CPU final { uint32_t part_number_ = 0; // ARM MIDR part number uint8_t implementer_ = 0; // ARM MIDR implementer identifier #endif +#if defined(ARCH_CPU_X86_FAMILY) bool has_mmx_ = false; bool has_sse_ = false; bool has_sse2_ = false; @@ -147,6 +159,11 @@ class BASE_EXPORT CPU final { bool has_avx_ = false; bool has_fma3_ = false; bool has_avx2_ = false; + bool has_avx_vnni_ = false; + bool has_avx512_f_ = false; + bool has_avx512_bw_ = false; + bool has_avx512_vnni_ = false; +#endif bool has_aesni_ = false; #if defined(ARCH_CPU_ARM_FAMILY) bool has_mte_ = false; // Armv8.5-A MTE (Memory Taggging Extension) diff --git a/naiveproxy/src/base/debug/allocation_trace.h b/naiveproxy/src/base/debug/allocation_trace.h index c2a2b299c4..f0bddd97e3 100644 --- a/naiveproxy/src/base/debug/allocation_trace.h +++ b/naiveproxy/src/base/debug/allocation_trace.h @@ -117,7 +117,7 @@ class BASE_EXPORT OperationRecord { // // The value is mutable since pre C++20 there is no const getter in // atomic_flag. All ways to get the value involve setting it. - // TODO(https://crbug.com/1284275): Remove mutable and make IsRecording() use + // TODO(crbug.com/42050406): Remove mutable and make IsRecording() use // atomic_flag::test(); mutable std::atomic_flag is_recording_ = ATOMIC_FLAG_INIT; }; @@ -202,7 +202,7 @@ struct BASE_EXPORT AllocationTraceRecorderStatistics { // Note: As a process might be terminated for whatever reason while stack // traces are being written, the recorded data may contain some garbage. // -// TODO(https://crbug.com/1419908): Evaluate the impact of the shared cache +// TODO(crbug.com/40258550): Evaluate the impact of the shared cache // lines between entries. class BASE_EXPORT AllocationTraceRecorder { public: diff --git a/naiveproxy/src/base/debug/asan_invalid_access.cc b/naiveproxy/src/base/debug/asan_invalid_access.cc index 777a0b1e04..c703cac8bd 100644 --- a/naiveproxy/src/base/debug/asan_invalid_access.cc +++ b/naiveproxy/src/base/debug/asan_invalid_access.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/debug/asan_invalid_access.h" #include diff --git a/naiveproxy/src/base/debug/asan_service.cc b/naiveproxy/src/base/debug/asan_service.cc index 503034cee3..395d90139e 100644 --- a/naiveproxy/src/base/debug/asan_service.cc +++ b/naiveproxy/src/base/debug/asan_service.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/debug/asan_service.h" #if defined(ADDRESS_SANITIZER) diff --git a/naiveproxy/src/base/debug/buffered_dwarf_reader.cc b/naiveproxy/src/base/debug/buffered_dwarf_reader.cc index 8dc74284c4..7c7a0559ef 100644 --- a/naiveproxy/src/base/debug/buffered_dwarf_reader.cc +++ b/naiveproxy/src/base/debug/buffered_dwarf_reader.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/debug/buffered_dwarf_reader.h" #ifdef USE_SYMBOLIZE diff --git a/naiveproxy/src/base/debug/crash_logging.cc b/naiveproxy/src/base/debug/crash_logging.cc index d666c9950c..7ea15c208b 100644 --- a/naiveproxy/src/base/debug/crash_logging.cc +++ b/naiveproxy/src/base/debug/crash_logging.cc @@ -22,7 +22,7 @@ CrashKeyString* AllocateCrashKeyString(const char name[], if (!g_crash_key_impl) return nullptr; - // TODO(https://crbug.com/1341077): It would be great if the DCHECKs below + // TODO(crbug.com/40850825): It would be great if the DCHECKs below // could also be enabled on Android, but debugging tryjob failures was a bit // difficult... :-/ #if DCHECK_IS_ON() && !BUILDFLAG(IS_ANDROID) @@ -30,7 +30,7 @@ CrashKeyString* AllocateCrashKeyString(const char name[], // Some `CrashKeyImplementation`s reserve certain characters and disallow // using them in crash key names. See also https://crbug.com/1341077. - DCHECK_EQ(base::StringPiece::npos, name_piece.find(':')) + DCHECK_EQ(std::string_view::npos, name_piece.find(':')) << "; name_piece = " << name_piece; // Some `CrashKeyImplementation`s support only short crash key names (e.g. see diff --git a/naiveproxy/src/base/debug/crash_logging.h b/naiveproxy/src/base/debug/crash_logging.h index a485ca4b5c..4ee708f3c0 100644 --- a/naiveproxy/src/base/debug/crash_logging.h +++ b/naiveproxy/src/base/debug/crash_logging.h @@ -132,7 +132,7 @@ class BASE_EXPORT [[nodiscard]] ScopedCrashKeyString { static_assert(::std::size(category "-" name) < 40, \ "Crash key names must be shorter than 40 characters."); \ static_assert(::std::string_view(category "-" name).find(':') == \ - ::base::StringPiece::npos, \ + ::std::string_view::npos, \ "Crash key names must not contain the ':' character."); \ ::base::debug::ScopedCrashKeyString scoped_crash_key_helper##nonce( \ [] { \ diff --git a/naiveproxy/src/base/debug/debug.gni b/naiveproxy/src/base/debug/debug.gni index f61c907754..b17202ef61 100644 --- a/naiveproxy/src/base/debug/debug.gni +++ b/naiveproxy/src/base/debug/debug.gni @@ -3,6 +3,7 @@ # found in the LICENSE file. import("//build/config/compiler/compiler.gni") +import("//build/config/compiler/pgo/pgo.gni") declare_args() { # Whether to compile support for Allocation Stack Trace Recorder. @@ -14,8 +15,12 @@ declare_args() { # # Although it should work on other platforms as well, for the above reasons, # we currently enable it only for Android when compiling for Arm64. + # + # To prepare for usage in official builds, ensure profiling data for the + # recorder is present during the optimization. build_allocation_stack_trace_recorder = - !is_official_build && current_cpu == "arm64" && is_android + (!is_official_build || chrome_pgo_phase == 1) && current_cpu == "arm64" && + is_android } declare_args() { diff --git a/naiveproxy/src/base/debug/debugger_posix.cc b/naiveproxy/src/base/debug/debugger_posix.cc index 4539865218..489b86e5ec 100644 --- a/naiveproxy/src/base/debug/debugger_posix.cc +++ b/naiveproxy/src/base/debug/debugger_posix.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/debug/debugger.h" #include diff --git a/naiveproxy/src/base/debug/dwarf_line_no.cc b/naiveproxy/src/base/debug/dwarf_line_no.cc index b97bb7dc29..f61791cc35 100644 --- a/naiveproxy/src/base/debug/dwarf_line_no.cc +++ b/naiveproxy/src/base/debug/dwarf_line_no.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/debug/dwarf_line_no.h" #include "partition_alloc/pointers/raw_ref.h" @@ -1337,7 +1342,7 @@ void GetDwarfCompileUnitOffsets(const void* const* trace, continue; } - // TODO(https://crbug.com/1335630): Consider exposing the end address so a + // TODO(crbug.com/40228616): Consider exposing the end address so a // range of frames can be bulk-populated. This was originally implemented, // but line number symbolization is currently broken by default (and also // broken in sandboxed processes). The various issues will be addressed diff --git a/naiveproxy/src/base/debug/elf_reader.cc b/naiveproxy/src/base/debug/elf_reader.cc index 98a9ce25a8..5b01a202b9 100644 --- a/naiveproxy/src/base/debug/elf_reader.cc +++ b/naiveproxy/src/base/debug/elf_reader.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/debug/elf_reader.h" #include diff --git a/naiveproxy/src/base/debug/invalid_access_win.cc b/naiveproxy/src/base/debug/invalid_access_win.cc index b67db7fde7..36e2ec8079 100644 --- a/naiveproxy/src/base/debug/invalid_access_win.cc +++ b/naiveproxy/src/base/debug/invalid_access_win.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/debug/invalid_access_win.h" #include diff --git a/naiveproxy/src/base/debug/proc_maps_linux.cc b/naiveproxy/src/base/debug/proc_maps_linux.cc index 409ad72514..eb731e04bc 100644 --- a/naiveproxy/src/base/debug/proc_maps_linux.cc +++ b/naiveproxy/src/base/debug/proc_maps_linux.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/debug/proc_maps_linux.h" #include diff --git a/naiveproxy/src/base/debug/stack_trace.cc b/naiveproxy/src/base/debug/stack_trace.cc index 4883b39e64..99ef79232f 100644 --- a/naiveproxy/src/base/debug/stack_trace.cc +++ b/naiveproxy/src/base/debug/stack_trace.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/debug/stack_trace.h" #include diff --git a/naiveproxy/src/base/debug/stack_trace.h b/naiveproxy/src/base/debug/stack_trace.h index cd41fed48c..86450df5d2 100644 --- a/naiveproxy/src/base/debug/stack_trace.h +++ b/naiveproxy/src/base/debug/stack_trace.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_DEBUG_STACK_TRACE_H_ #define BASE_DEBUG_STACK_TRACE_H_ @@ -68,7 +73,7 @@ class BASE_EXPORT StackTrace { public: // LINT.IfChange(max_stack_frames) #if BUILDFLAG(IS_ANDROID) - // TODO(https://crbug.com/925525): Testing indicates that Android has issues + // TODO(crbug.com/41437515): Testing indicates that Android has issues // with a larger value here, so leave Android at 62. static constexpr size_t kMaxTraces = 62; #else diff --git a/naiveproxy/src/base/debug/stack_trace_android.cc b/naiveproxy/src/base/debug/stack_trace_android.cc index 38d4897058..fe5e3ad59b 100644 --- a/naiveproxy/src/base/debug/stack_trace_android.cc +++ b/naiveproxy/src/base/debug/stack_trace_android.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/debug/stack_trace.h" #include diff --git a/naiveproxy/src/base/debug/stack_trace_fuchsia.cc b/naiveproxy/src/base/debug/stack_trace_fuchsia.cc index cdc0d662c6..c51dc0a756 100644 --- a/naiveproxy/src/base/debug/stack_trace_fuchsia.cc +++ b/naiveproxy/src/base/debug/stack_trace_fuchsia.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/debug/stack_trace.h" #include diff --git a/naiveproxy/src/base/debug/stack_trace_posix.cc b/naiveproxy/src/base/debug/stack_trace_posix.cc index f962f278c6..9f2585164a 100644 --- a/naiveproxy/src/base/debug/stack_trace_posix.cc +++ b/naiveproxy/src/base/debug/stack_trace_posix.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/debug/stack_trace.h" #include @@ -915,8 +920,7 @@ class SandboxSymbolizeHelper { if (fd >= 0) { modules_.emplace(region.path, base::ScopedFD(fd)); } else { - LOG(WARNING) << "Failed to open file: " << region.path - << "\n Error: " << strerror(errno); + PLOG(WARNING) << "Failed to open file: " << region.path; } } } diff --git a/naiveproxy/src/base/debug/stack_trace_win.cc b/naiveproxy/src/base/debug/stack_trace_win.cc index 80e9375ad2..10d09cba7a 100644 --- a/naiveproxy/src/base/debug/stack_trace_win.cc +++ b/naiveproxy/src/base/debug/stack_trace_win.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/debug/stack_trace.h" #include diff --git a/naiveproxy/src/base/debug/test_elf_image_builder.cc b/naiveproxy/src/base/debug/test_elf_image_builder.cc index 757b532269..05b16d96bd 100644 --- a/naiveproxy/src/base/debug/test_elf_image_builder.cc +++ b/naiveproxy/src/base/debug/test_elf_image_builder.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/debug/test_elf_image_builder.h" #include diff --git a/naiveproxy/src/base/feature_list.cc b/naiveproxy/src/base/feature_list.cc index 5a138a03b6..895b710fdf 100644 --- a/naiveproxy/src/base/feature_list.cc +++ b/naiveproxy/src/base/feature_list.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/feature_list.h" #include @@ -96,7 +101,7 @@ class EarlyFeatureAccessTracker { private: void Fail(const Feature* feature, bool with_feature_allow_list) { - // TODO(crbug.com/1358639): Enable this check on all platforms. + // TODO(crbug.com/40237050): Enable this check on all platforms. #if !BUILDFLAG(IS_IOS) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) #if !BUILDFLAG(IS_NACL) // Create a crash key with the name of the feature accessed too early, to @@ -199,7 +204,7 @@ bool SplitIntoTwo(std::string_view text, *second = std::string(parts[1]); } else if (parts.size() > 2) { DLOG(ERROR) << "Only one '" << separator - << "' is allowed but got: " << *first; + << "' is allowed but got: " << text; return false; } *first = parts[0]; @@ -358,21 +363,21 @@ void FeatureList::InitFromSharedMemory(PersistentMemoryAllocator* allocator) { } bool FeatureList::IsFeatureOverridden(const std::string& feature_name) const { - return overrides_.count(feature_name); + return GetOverrideEntryByFeatureName(feature_name); } bool FeatureList::IsFeatureOverriddenFromCommandLine( const std::string& feature_name) const { - auto it = overrides_.find(feature_name); - return it != overrides_.end() && !it->second.overridden_by_field_trial; + const OverrideEntry* entry = GetOverrideEntryByFeatureName(feature_name); + return entry && !entry->overridden_by_field_trial; } bool FeatureList::IsFeatureOverriddenFromCommandLine( const std::string& feature_name, OverrideState state) const { - auto it = overrides_.find(feature_name); - return it != overrides_.end() && !it->second.overridden_by_field_trial && - it->second.overridden_state == state; + const OverrideEntry* entry = GetOverrideEntryByFeatureName(feature_name); + return entry && !entry->overridden_by_field_trial && + entry->overridden_state == state; } void FeatureList::AssociateReportingFieldTrial( @@ -386,9 +391,10 @@ void FeatureList::AssociateReportingFieldTrial( // enforced server-side. OverrideEntry* entry = &overrides_.find(feature_name)->second; if (entry->field_trial) { - NOTREACHED() << "Feature " << feature_name - << " already has trial: " << entry->field_trial->trial_name() - << ", associating trial: " << field_trial->trial_name(); + NOTREACHED_IN_MIGRATION() + << "Feature " << feature_name + << " already has trial: " << entry->field_trial->trial_name() + << ", associating trial: " << field_trial->trial_name(); return; } @@ -778,17 +784,16 @@ FeatureList::OverrideState FeatureList::GetOverrideStateByFeatureName( DCHECK(initialized_); DCHECK(IsValidFeatureOrFieldTrialName(feature_name)) << feature_name; - auto it = overrides_.find(feature_name); - if (it != overrides_.end()) { - const OverrideEntry& entry = it->second; - + if (const OverrideEntry* entry = + GetOverrideEntryByFeatureName(feature_name)) { // Activate the corresponding field trial, if necessary. - if (entry.field_trial) - entry.field_trial->Activate(); + if (entry->field_trial) { + entry->field_trial->Activate(); + } // TODO(asvitkine) Expand this section as more support is added. - return entry.overridden_state; + return entry->overridden_state; } // Otherwise, report that we want to use the default state. return OVERRIDE_USE_DEFAULT; @@ -803,7 +808,6 @@ FieldTrial* FeatureList::GetAssociatedFieldTrial(const Feature& feature) const { const base::FeatureList::OverrideEntry* FeatureList::GetOverrideEntryByFeatureName(std::string_view name) const { - DCHECK(initialized_); DCHECK(IsValidFeatureOrFieldTrialName(name)) << name; auto it = overrides_.find(name); @@ -818,9 +822,7 @@ FieldTrial* FeatureList::GetAssociatedFieldTrialByFeatureName( std::string_view name) const { DCHECK(initialized_); - const base::FeatureList::OverrideEntry* entry = - GetOverrideEntryByFeatureName(name); - if (entry) { + if (const OverrideEntry* entry = GetOverrideEntryByFeatureName(name)) { return entry->field_trial; } return nullptr; @@ -829,8 +831,9 @@ FieldTrial* FeatureList::GetAssociatedFieldTrialByFeatureName( bool FeatureList::HasAssociatedFieldTrialByFeatureName( std::string_view name) const { DCHECK(!initialized_); - auto entry = overrides_.find(name); - return entry != overrides_.end() && entry->second.field_trial != nullptr; + + const OverrideEntry* entry = GetOverrideEntryByFeatureName(name); + return entry && entry->field_trial; } FieldTrial* FeatureList::GetEnabledFieldTrialByFeatureName( @@ -849,7 +852,7 @@ FieldTrial* FeatureList::GetEnabledFieldTrialByFeatureName( std::unique_ptr FeatureList::ConstructAccessor() { if (initialized_) { // This function shouldn't be called after initialization. - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return nullptr; } // Use new and WrapUnique because we want to restrict access to the Accessor's diff --git a/naiveproxy/src/base/feature_list.h b/naiveproxy/src/base/feature_list.h index db94d4add9..da311dd0e6 100644 --- a/naiveproxy/src/base/feature_list.h +++ b/naiveproxy/src/base/feature_list.h @@ -75,7 +75,14 @@ enum FeatureState { // Features should *not* be defined in header files; do not use this macro in // header files. #define BASE_FEATURE(feature, name, default_state) \ - constinit const base::Feature feature(name, default_state) + constinit const base::Feature feature( \ + name, default_state, base::internal::FeatureMacroHandshake::kSecret) + +// Secret handshake to (try to) ensure all places that construct a base::Feature +// go through the helper `BASE_FEATURE()` macro above. +namespace internal { +enum class FeatureMacroHandshake { kSecret }; +} // The Feature struct is used to define the default state for a feature. There // must only ever be one struct instance for a given feature name—generally @@ -99,7 +106,9 @@ enum FeatureState { // [1]: // https://crsrc.org/c/docs/speed/binary_size/android_binary_size_trybot.md#Mutable-Constants struct BASE_EXPORT LOGICALLY_CONST Feature { - constexpr Feature(const char* name, FeatureState default_state) + constexpr Feature(const char* name, + FeatureState default_state, + internal::FeatureMacroHandshake) : name(name), default_state(default_state) { #if BUILDFLAG(ENABLE_BANNED_BASE_FEATURE_PREFIX) if (std::string_view(name).find(BUILDFLAG(BANNED_BASE_FEATURE_PREFIX)) == @@ -389,14 +398,14 @@ class BASE_EXPORT FeatureList { // // If no `FeatureList` instance is registered, this will: // - DCHECK(), if FailOnFeatureAccessWithoutFeatureList() was called. - // TODO(crbug.com/1358639): Change the DCHECK to a CHECK when we're + // TODO(crbug.com/40237050): Change the DCHECK to a CHECK when we're // confident that all early accesses have been fixed. We don't want to // get many crash reports from the field in the meantime. // - Return the default state, otherwise. Registering a `FeatureList` later // will fail. // - // TODO(crbug.com/1358639): Make early FeatureList access fail on iOS, Android - // and ChromeOS. This currently only works on Windows, Mac and Linux. + // TODO(crbug.com/40237050): Make early FeatureList access fail on iOS, + // Android and ChromeOS. This currently only works on Windows, Mac and Linux. // // A feature with a given name must only have a single corresponding Feature // instance, which is checked in builds with DCHECKs enabled. @@ -489,7 +498,7 @@ class BASE_EXPORT FeatureList { // After calling this, an attempt to access feature state when no FeatureList // is registered will DCHECK. // - // TODO(crbug.com/1358639): Change the DCHECK to a CHECK when we're confident + // TODO(crbug.com/40237050): Change the DCHECK to a CHECK when we're confident // that all early accesses have been fixed. We don't want to get many crash // reports from the field in the meantime. // diff --git a/naiveproxy/src/base/features.cc b/naiveproxy/src/base/features.cc index 30a8da97b2..f25849601e 100644 --- a/naiveproxy/src/base/features.cc +++ b/naiveproxy/src/base/features.cc @@ -39,12 +39,12 @@ BASE_FEATURE(kEnforceNoExecutableFileHandles, "EnforceNoExecutableFileHandles", FEATURE_ENABLED_BY_DEFAULT); -// TODO(crbug.com/851128): Roll out this to 100% before replacing existing -// NOTREACHED()s with NOTREACHED_NORETURN() as part of NOTREACHED() migration. -// Note that a prerequisite for rolling out this experiment is that existing -// NOTREACHED reports are at a very low rate. Once this rolls out we should -// monitor that crash rates for the experiment population is within a 1-5% or -// lower than the control group. +// TODO(crbug.com/40580068): Roll out this to 100% before replacing existing +// NOTREACHED_IN_MIGRATION()s with NOTREACHED_NORETURN() as part of +// NOTREACHED_IN_MIGRATION() migration. Note that a prerequisite for rolling out +// this experiment is that existing NOTREACHED reports are at a very low rate. +// Once this rolls out we should monitor that crash rates for the experiment +// population is within a 1-5% or lower than the control group. BASE_FEATURE(kNotReachedIsFatal, "NotReachedIsFatal", FEATURE_DISABLED_BY_DEFAULT); @@ -70,7 +70,7 @@ BASE_FEATURE(kPartialLowEndModeOn3GbDevices, // with a subset of low-end features to see if we get a good memory vs. // performance tradeoff. // -// TODO(crbug.com/1434873): |#if| out 32-bit before launching or going to +// TODO(crbug.com/40264947): |#if| out 32-bit before launching or going to // high Stable %, because we will enable the feature only for <8GB 64-bit // devices, where we didn't ship yet. However, we first need a larger // population to collect data. diff --git a/naiveproxy/src/base/files/dir_reader_linux.h b/naiveproxy/src/base/files/dir_reader_linux.h index 4675e22204..2bd9c4517c 100644 --- a/naiveproxy/src/base/files/dir_reader_linux.h +++ b/naiveproxy/src/base/files/dir_reader_linux.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_FILES_DIR_READER_LINUX_H_ #define BASE_FILES_DIR_READER_LINUX_H_ diff --git a/naiveproxy/src/base/files/file.cc b/naiveproxy/src/base/files/file.cc index 1c540c8eef..f048cceac8 100644 --- a/naiveproxy/src/base/files/file.cc +++ b/naiveproxy/src/base/files/file.cc @@ -200,7 +200,7 @@ std::string File::ErrorToString(Error error) { break; } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return ""; } diff --git a/naiveproxy/src/base/files/file.h b/naiveproxy/src/base/files/file.h index 18d8de8184..b857ce95d5 100644 --- a/naiveproxy/src/base/files/file.h +++ b/naiveproxy/src/base/files/file.h @@ -384,11 +384,11 @@ class BASE_EXPORT File { #if BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) // Wrapper for stat(). - static int Stat(const char* path, stat_wrapper_t* sb); + static int Stat(const FilePath& path, stat_wrapper_t* sb); // Wrapper for fstat(). static int Fstat(int fd, stat_wrapper_t* sb); // Wrapper for lstat(). - static int Lstat(const char* path, stat_wrapper_t* sb); + static int Lstat(const FilePath& path, stat_wrapper_t* sb); #endif // This function can be used to augment `flags` with the correct flags diff --git a/naiveproxy/src/base/files/file_enumerator_posix.cc b/naiveproxy/src/base/files/file_enumerator_posix.cc index e329b88a0d..34fda1aaf0 100644 --- a/naiveproxy/src/base/files/file_enumerator_posix.cc +++ b/naiveproxy/src/base/files/file_enumerator_posix.cc @@ -19,8 +19,7 @@ namespace { void GetStat(const FilePath& path, bool show_links, stat_wrapper_t* st) { DCHECK(st); - const int res = show_links ? File::Lstat(path.value().c_str(), st) - : File::Stat(path.value().c_str(), st); + const int res = show_links ? File::Lstat(path, st) : File::Stat(path, st); if (res < 0) { // Print the stat() error message unless it was ENOENT and we're following // symlinks. diff --git a/naiveproxy/src/base/files/file_enumerator_win.cc b/naiveproxy/src/base/files/file_enumerator_win.cc index cec9fbaffa..e38a5f75c2 100644 --- a/naiveproxy/src/base/files/file_enumerator_win.cc +++ b/naiveproxy/src/base/files/file_enumerator_win.cc @@ -28,7 +28,7 @@ FilePath BuildSearchFilter(FileEnumerator::FolderSearchPolicy policy, case FileEnumerator::FolderSearchPolicy::ALL: return root_path.Append(FILE_PATH_LITERAL("*")); } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return {}; } @@ -127,7 +127,7 @@ FileEnumerator::~FileEnumerator() { FileEnumerator::FileInfo FileEnumerator::GetInfo() const { DCHECK(!(file_type_ & FileType::NAMES_ONLY)); if (!has_find_data_) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return FileInfo(); } FileInfo ret; @@ -221,7 +221,7 @@ bool FileEnumerator::IsPatternMatched(const FilePath& src) const { // manually. return PathMatchSpec(src.value().c_str(), pattern_.c_str()) == TRUE; } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return false; } diff --git a/naiveproxy/src/base/files/file_path.cc b/naiveproxy/src/base/files/file_path.cc index f6ed76e6db..0910514a2d 100644 --- a/naiveproxy/src/base/files/file_path.cc +++ b/naiveproxy/src/base/files/file_path.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/files/file_path.h" #include diff --git a/naiveproxy/src/base/files/file_path_watcher.h b/naiveproxy/src/base/files/file_path_watcher.h index f657580837..9c14206083 100644 --- a/naiveproxy/src/base/files/file_path_watcher.h +++ b/naiveproxy/src/base/files/file_path_watcher.h @@ -39,7 +39,7 @@ class BASE_EXPORT FilePathWatcher { // Type of change which occurred on the affected. Note that this may differ // from the watched path, e.g. in the case of recursive watches. enum class ChangeType { - kUnsupported, // The implementation does not support change types. + kUnknown, // One or more changes occurred at the path or its descendants. kCreated, kDeleted, kModified, // Includes modifications to either file contents or attributes. @@ -65,12 +65,12 @@ class BASE_EXPORT FilePathWatcher { // known given the limitations on some platforms. struct ChangeInfo { FilePathType file_path_type = FilePathType::kUnknown; - ChangeType change_type = ChangeType::kUnsupported; + ChangeType change_type = ChangeType::kUnknown; // Can be used to associate related events. For example, renaming a file may // trigger separate "moved from" and "moved to" events with the same // `cookie` value. // - // TODO(https://crbug.com/1425601): This is currently only used to associate + // TODO(crbug.com/40260973): This is currently only used to associate // `kMoved` events, and requires all consumers to implement the same logic // to coalesce these events. Consider upstreaming this event coalesing logic // to the platform-specific implementations and then replacing `cookie` with @@ -78,7 +78,7 @@ class BASE_EXPORT FilePathWatcher { std::optional cookie; }; - // TODO(https://crbug.com/1425601): Rename this now that this class declares + // TODO(crbug.com/40260973): Rename this now that this class declares // other types of Types. enum class Type { // Indicates that the watcher should watch the given path and its diff --git a/naiveproxy/src/base/files/file_path_watcher_fsevents.cc b/naiveproxy/src/base/files/file_path_watcher_fsevents.cc index 0b30e8246a..9713de4bc2 100644 --- a/naiveproxy/src/base/files/file_path_watcher_fsevents.cc +++ b/naiveproxy/src/base/files/file_path_watcher_fsevents.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/files/file_path_watcher_fsevents.h" #include diff --git a/naiveproxy/src/base/files/file_path_watcher_kqueue.cc b/naiveproxy/src/base/files/file_path_watcher_kqueue.cc index 3e911fe16a..18476de526 100644 --- a/naiveproxy/src/base/files/file_path_watcher_kqueue.cc +++ b/naiveproxy/src/base/files/file_path_watcher_kqueue.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/files/file_path_watcher_kqueue.h" #include diff --git a/naiveproxy/src/base/files/file_path_watcher_win.cc b/naiveproxy/src/base/files/file_path_watcher_win.cc index cfd032729d..9879b3af9d 100644 --- a/naiveproxy/src/base/files/file_path_watcher_win.cc +++ b/naiveproxy/src/base/files/file_path_watcher_win.cc @@ -6,143 +6,424 @@ #include +#include + +#include +#include +#include +#include + #include "base/files/file.h" #include "base/files/file_path.h" #include "base/files/file_util.h" #include "base/functional/bind.h" +#include "base/functional/callback_helpers.h" #include "base/logging.h" #include "base/memory/ptr_util.h" #include "base/memory/raw_ptr.h" +#include "base/memory/weak_ptr.h" +#include "base/no_destructor.h" #include "base/strings/string_util.h" +#include "base/synchronization/lock.h" #include "base/task/sequenced_task_runner.h" +#include "base/threading/platform_thread.h" #include "base/threading/scoped_blocking_call.h" #include "base/time/time.h" +#include "base/types/expected.h" +#include "base/types/id_type.h" #include "base/win/object_watcher.h" +#include "base/win/scoped_handle.h" +#include "base/win/windows_types.h" namespace base { - namespace { -class FilePathWatcherImpl : public FilePathWatcher::PlatformDelegate, - public base::win::ObjectWatcher::Delegate { +enum class CreateFileHandleError { + // When watching a path, the path (or some of its ancestor directories) might + // not exist yet. Failure to create a watcher because the path doesn't exist + // (or is not a directory) should not be considered fatal, since the watcher + // implementation can simply try again one directory level above. + kNonFatal, + kFatal, +}; + +base::expected +CreateDirectoryHandle(const FilePath& dir) { + ScopedBlockingCall scoped_blocking_call(FROM_HERE, BlockingType::MAY_BLOCK); + + base::win::ScopedHandle handle(::CreateFileW( + dir.value().c_str(), FILE_LIST_DIRECTORY, + FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE, nullptr, + OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OVERLAPPED, + nullptr)); + + if (handle.is_valid()) { + File::Info file_info; + if (!GetFileInfo(dir, &file_info)) { + // Windows sometimes hands out handles to files that are about to go away. + return base::unexpected(CreateFileHandleError::kNonFatal); + } + + // Only return the handle if its a directory. + if (!file_info.is_directory) { + return base::unexpected(CreateFileHandleError::kNonFatal); + } + + return handle; + } + + switch (::GetLastError()) { + case ERROR_FILE_NOT_FOUND: + case ERROR_PATH_NOT_FOUND: + case ERROR_ACCESS_DENIED: + case ERROR_SHARING_VIOLATION: + case ERROR_DIRECTORY: + // Failure to create the handle is ok if the target directory doesn't + // exist, access is denied (happens if the file is already gone but there + // are still handles open), or the target is not a directory. + return base::unexpected(CreateFileHandleError::kNonFatal); + default: + DPLOG(ERROR) << "CreateFileW failed for " << dir.value(); + return base::unexpected(CreateFileHandleError::kFatal); + } +} + +class FilePathWatcherImpl; + +class CompletionIOPortThread final : public PlatformThread::Delegate { + public: + using WatcherEntryId = base::IdTypeU64; + + CompletionIOPortThread(const CompletionIOPortThread&) = delete; + CompletionIOPortThread& operator=(const CompletionIOPortThread&) = delete; + + static CompletionIOPortThread* Get() { + static NoDestructor io_thread; + return io_thread.get(); + } + + // Thread safe. + std::optional AddWatcher( + FilePathWatcherImpl& watcher, + base::win::ScopedHandle watched_handle); + + // Thread safe. + void RemoveWatcher(WatcherEntryId watcher_id); + + private: + friend NoDestructor; + + // Choose something small since we won't actually be processing the buffer. + static constexpr size_t kWatchBufferSizeBytes = sizeof(DWORD); + + // Must be DWORD aligned. + static_assert(kWatchBufferSizeBytes % sizeof(DWORD) == 0); + // Must be less than the max network packet size for network drives. See + // https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-readdirectorychangesw#remarks. + static_assert(kWatchBufferSizeBytes <= 64 * 1024); + + struct WatcherEntry { + WatcherEntry(base::WeakPtr watcher_weak_ptr, + scoped_refptr task_runner, + base::win::ScopedHandle watched_handle) + : watcher_weak_ptr(std::move(watcher_weak_ptr)), + task_runner(std::move(task_runner)), + watched_handle(std::move(watched_handle)) {} + ~WatcherEntry() = default; + + // Delete copy and move constructors since `buffer` should not be copied or + // moved. + WatcherEntry(const WatcherEntry&) = delete; + WatcherEntry& operator=(const WatcherEntry&) = delete; + WatcherEntry(WatcherEntry&&) = delete; + WatcherEntry& operator=(WatcherEntry&&) = delete; + + base::WeakPtr watcher_weak_ptr; + scoped_refptr task_runner; + + base::win::ScopedHandle watched_handle; + + alignas(DWORD) uint8_t buffer[kWatchBufferSizeBytes]; + }; + + OVERLAPPED overlapped = {}; + + CompletionIOPortThread(); + + ~CompletionIOPortThread() override = default; + + void ThreadMain() override; + + [[nodiscard]] DWORD SetupWatch(WatcherEntry& watcher_entry); + + Lock watchers_lock_; + + WatcherEntryId::Generator watcher_id_generator_ GUARDED_BY(watchers_lock_); + + std::map watcher_entries_ + GUARDED_BY(watchers_lock_); + + // It is safe to access `io_completion_port_` on any thread without locks + // since: + // - Windows Handles are thread safe + // - `io_completion_port_` is set once in the constructor of this class + // - This class is never destroyed. + win::ScopedHandle io_completion_port_{ + ::CreateIoCompletionPort(INVALID_HANDLE_VALUE, + nullptr, + reinterpret_cast(nullptr), + 1)}; +}; + +class FilePathWatcherImpl : public FilePathWatcher::PlatformDelegate { public: FilePathWatcherImpl() = default; FilePathWatcherImpl(const FilePathWatcherImpl&) = delete; FilePathWatcherImpl& operator=(const FilePathWatcherImpl&) = delete; ~FilePathWatcherImpl() override; - // FilePathWatcher::PlatformDelegate: + // FilePathWatcher::PlatformDelegate implementation: bool Watch(const FilePath& path, Type type, const FilePathWatcher::Callback& callback) override; + + // FilePathWatcher::PlatformDelegate implementation: + bool WatchWithOptions(const FilePath& path, + const WatchOptions& flags, + const FilePathWatcher::Callback& callback) override; + + // FilePathWatcher::PlatformDelegate implementation: + bool WatchWithChangeInfo( + const FilePath& path, + const WatchOptions& options, + const FilePathWatcher::CallbackWithChangeInfo& callback) override; + void Cancel() override; - // base::win::ObjectWatcher::Delegate: - void OnObjectSignaled(HANDLE object) override; - private: - // Setup a watch handle for directory |dir|. Set |recursive| to true to watch - // the directory sub trees. Returns true if no fatal error occurs. |handle| - // will receive the handle value if |dir| is watchable, otherwise - // INVALID_HANDLE_VALUE. - [[nodiscard]] static bool SetupWatchHandle(const FilePath& dir, - bool recursive, - HANDLE* handle); + friend CompletionIOPortThread; - // (Re-)Initialize the watch handle. - [[nodiscard]] bool UpdateWatch(); + // Sets up a watch handle for either `target_` or one of its ancestors. + // Returns true on success. + [[nodiscard]] bool SetupWatchHandleForTarget(); - // Destroy the watch handle. - void DestroyWatch(); + void CloseWatchHandle(); + + void OnObjectSignaled(); // Callback to notify upon changes. - FilePathWatcher::Callback callback_; + FilePathWatcher::CallbackWithChangeInfo callback_; // Path we're supposed to watch (passed to callback). FilePath target_; - // Set to true in the destructor. - raw_ptr was_deleted_ptr_ = nullptr; - - // Handle for FindFirstChangeNotification. - HANDLE handle_ = INVALID_HANDLE_VALUE; - - // ObjectWatcher to watch handle_ for events. - base::win::ObjectWatcher watcher_; + std::optional watcher_id_; // The type of watch requested. Type type_ = Type::kNonRecursive; - // Keep track of the last modified time of the file. We use nulltime - // to represent the file not existing. + // Keep track of the last modified time of the file. We use nulltime to + // represent the file not existing. Time last_modified_; // The time at which we processed the first notification with the - // |last_modified_| time stamp. + // `last_modified_` time stamp. Time first_notification_; + + WeakPtrFactory weak_factory_{this}; }; +CompletionIOPortThread::CompletionIOPortThread() { + PlatformThread::CreateNonJoinable(0, this); +} + +DWORD CompletionIOPortThread::SetupWatch(WatcherEntry& watcher_entry) { + bool success = ::ReadDirectoryChangesW( + watcher_entry.watched_handle.get(), &watcher_entry.buffer, + static_cast(kWatchBufferSizeBytes), /*bWatchSubtree =*/true, + FILE_NOTIFY_CHANGE_FILE_NAME | FILE_NOTIFY_CHANGE_SIZE | + FILE_NOTIFY_CHANGE_LAST_WRITE | FILE_NOTIFY_CHANGE_DIR_NAME | + FILE_NOTIFY_CHANGE_ATTRIBUTES | FILE_NOTIFY_CHANGE_SECURITY, + nullptr, &overlapped, nullptr); + if (!success) { + return ::GetLastError(); + } + return ERROR_SUCCESS; +} + +std::optional +CompletionIOPortThread::AddWatcher(FilePathWatcherImpl& watcher, + base::win::ScopedHandle watched_handle) { + AutoLock auto_lock(watchers_lock_); + + WatcherEntryId watcher_id = watcher_id_generator_.GenerateNextId(); + HANDLE port = ::CreateIoCompletionPort( + watched_handle.get(), io_completion_port_.get(), + static_cast(watcher_id.GetUnsafeValue()), 1); + if (port == nullptr) { + return std::nullopt; + } + + auto [it, inserted] = watcher_entries_.emplace( + std::piecewise_construct, std::forward_as_tuple(watcher_id), + std::forward_as_tuple(watcher.weak_factory_.GetWeakPtr(), + watcher.task_runner(), std::move(watched_handle))); + + CHECK(inserted); + + DWORD result = SetupWatch(it->second); + + if (result != ERROR_SUCCESS) { + watcher_entries_.erase(it); + return std::nullopt; + } + + return watcher_id; +} + +void CompletionIOPortThread::RemoveWatcher(WatcherEntryId watcher_id) { + HANDLE raw_watched_handle; + { + AutoLock auto_lock(watchers_lock_); + + auto it = watcher_entries_.find(watcher_id); + CHECK(it != watcher_entries_.end()); + + auto& watched_handle = it->second.watched_handle; + CHECK(watched_handle.is_valid()); + raw_watched_handle = watched_handle.release(); + } + + { + ScopedBlockingCall scoped_blocking_call(FROM_HERE, BlockingType::MAY_BLOCK); + + // `raw_watched_handle` being closed indicates to `ThreadMain` that this + // entry needs to be removed from `watcher_entries_` once the kernel + // indicates it is safe too. + ::CloseHandle(raw_watched_handle); + } +} + +void CompletionIOPortThread::ThreadMain() { + while (true) { + DWORD bytes_transferred; + ULONG_PTR key = reinterpret_cast(nullptr); + OVERLAPPED* overlapped_out = nullptr; + + BOOL io_port_result = ::GetQueuedCompletionStatus( + io_completion_port_.get(), &bytes_transferred, &key, &overlapped_out, + INFINITE); + CHECK(&overlapped == overlapped_out); + + if (io_port_result == FALSE) { + DWORD io_port_error = ::GetLastError(); + // `ERROR_ACCESS_DENIED` should be the only error we can receive. + DCHECK_EQ(io_port_error, static_cast(ERROR_ACCESS_DENIED)); + } + + AutoLock auto_lock(watchers_lock_); + + WatcherEntryId watcher_id = WatcherEntryId::FromUnsafeValue(key); + + auto watcher_entry_it = watcher_entries_.find(watcher_id); + + if (watcher_entry_it == watcher_entries_.end()) { + NOTREACHED() << "!watcher_entries_.contains(watcher_id)"; + continue; + } + + auto& watcher_entry = watcher_entry_it->second; + auto& [watcher_weak_ptr, task_runner, watched_handle, buffer] = + watcher_entry; + + if (!watched_handle.is_valid()) { + // After the handle has been closed, a final notification will be sent + // with `bytes_transferred` equal to 0. It is safe to destroy the watcher + // now. + if (bytes_transferred == 0) { + // `watcher_entry` and all the local refs to its members will be + // dangling after this call. + watcher_entries_.erase(watcher_entry_it); + } + continue; + } + + task_runner->PostTask(FROM_HERE, + base::BindOnce(&FilePathWatcherImpl::OnObjectSignaled, + watcher_weak_ptr)); + } +} + FilePathWatcherImpl::~FilePathWatcherImpl() { DCHECK(!task_runner() || task_runner()->RunsTasksInCurrentSequence()); - if (was_deleted_ptr_) - *was_deleted_ptr_ = true; } bool FilePathWatcherImpl::Watch(const FilePath& path, Type type, const FilePathWatcher::Callback& callback) { - DCHECK(target_.value().empty()); // Can only watch one path. + return WatchWithChangeInfo( + path, WatchOptions{.type = type}, + base::IgnoreArgs( + base::BindRepeating(std::move(callback)))); +} + +bool FilePathWatcherImpl::WatchWithOptions( + const FilePath& path, + const WatchOptions& options, + const FilePathWatcher::Callback& callback) { + return WatchWithChangeInfo( + path, options, + base::IgnoreArgs( + base::BindRepeating(std::move(callback)))); +} + +bool FilePathWatcherImpl::WatchWithChangeInfo( + const FilePath& path, + const WatchOptions& options, + const FilePathWatcher::CallbackWithChangeInfo& callback) { + DCHECK(target_.empty()); // Can only watch one path. set_task_runner(SequencedTaskRunner::GetCurrentDefault()); callback_ = callback; target_ = path; - type_ = type; + type_ = options.type; File::Info file_info; - ScopedBlockingCall scoped_blocking_call(FROM_HERE, BlockingType::MAY_BLOCK); if (GetFileInfo(target_, &file_info)) { last_modified_ = file_info.last_modified; first_notification_ = Time::Now(); } - if (!UpdateWatch()) - return false; - - watcher_.StartWatchingOnce(handle_, this); - - return true; + return SetupWatchHandleForTarget(); } void FilePathWatcherImpl::Cancel() { + set_cancelled(); + if (callback_.is_null()) { - // Watch was never called, or the |task_runner_| has already quit. - set_cancelled(); + // Watch was never called, or the `task_runner_` has already quit. return; } DCHECK(task_runner()->RunsTasksInCurrentSequence()); - set_cancelled(); - if (handle_ != INVALID_HANDLE_VALUE) - DestroyWatch(); + CloseWatchHandle(); callback_.Reset(); } -void FilePathWatcherImpl::OnObjectSignaled(HANDLE object) { +void FilePathWatcherImpl::OnObjectSignaled() { DCHECK(task_runner()->RunsTasksInCurrentSequence()); - DCHECK_EQ(object, handle_); - DCHECK(!was_deleted_ptr_); - bool was_deleted = false; - was_deleted_ptr_ = &was_deleted; + auto self = weak_factory_.GetWeakPtr(); - if (!UpdateWatch()) { - callback_.Run(target_, true /* error */); + if (!SetupWatchHandleForTarget()) { + // `this` may be deleted after `callback_` is run. + callback_.Run(FilePathWatcher::ChangeInfo(), target_, /*error=*/true); return; } - // Check whether the event applies to |target_| and notify the callback. + // Check whether the event applies to `target_` and notify the callback. File::Info file_info; bool file_exists = false; { @@ -150,18 +431,22 @@ void FilePathWatcherImpl::OnObjectSignaled(HANDLE object) { file_exists = GetFileInfo(target_, &file_info); } if (type_ == Type::kRecursive) { - // Only the mtime of |target_| is tracked but in a recursive watch, - // some other file or directory may have changed so all notifications - // are passed through. It is possible to figure out which file changed - // using ReadDirectoryChangesW() instead of FindFirstChangeNotification(), - // but that function is quite complicated: + // Only the mtime of `target_` is tracked but in a recursive watch, some + // other file or directory may have changed so all notifications are passed + // through. It is possible to figure out which file changed using + // ReadDirectoryChangesW() instead of FindFirstChangeNotification(), but + // that function is quite complicated: // http://qualapps.blogspot.com/2010/05/understanding-readdirectorychangesw.html - callback_.Run(target_, false); + + // `this` may be deleted after `callback_` is run. + callback_.Run(FilePathWatcher::ChangeInfo(), target_, /*error=*/false); } else if (file_exists && (last_modified_.is_null() || last_modified_ != file_info.last_modified)) { last_modified_ = file_info.last_modified; first_notification_ = Time::Now(); - callback_.Run(target_, false); + + // `this` may be deleted after `callback_` is run. + callback_.Run(FilePathWatcher::ChangeInfo(), target_, /*error=*/false); } else if (file_exists && last_modified_ == file_info.last_modified && !first_notification_.is_null()) { // The target's last modification time is equal to what's on record. This @@ -173,122 +458,92 @@ void FilePathWatcherImpl::OnObjectSignaled(HANDLE object) { // clock times come from the same source. // // Instead, the time at which the first notification carrying the current - // |last_notified_| time stamp is recorded. Later notifications that find + // `last_notified_` time stamp is recorded. Later notifications that find // the same file modification time only need to be forwarded until wall // clock has advanced one second from the initial notification. After that // interval, client code is guaranteed to having seen the current revision // of the file. if (Time::Now() - first_notification_ > Seconds(1)) { - // Stop further notifications for this |last_modification_| time stamp. + // Stop further notifications for this `last_modification_` time stamp. first_notification_ = Time(); } - callback_.Run(target_, false); + + // `this` may be deleted after `callback_` is run. + callback_.Run(FilePathWatcher::ChangeInfo(), target_, /*error=*/false); } else if (!file_exists && !last_modified_.is_null()) { last_modified_ = Time(); - callback_.Run(target_, false); - } - // The watch may have been cancelled by the callback. - if (!was_deleted) { - watcher_.StartWatchingOnce(handle_, this); - was_deleted_ptr_ = nullptr; + // `this` may be deleted after `callback_` is run. + callback_.Run(FilePathWatcher::ChangeInfo(), target_, /*error=*/false); } } -// static -bool FilePathWatcherImpl::SetupWatchHandle(const FilePath& dir, - bool recursive, - HANDLE* handle) { - ScopedBlockingCall scoped_blocking_call(FROM_HERE, BlockingType::MAY_BLOCK); - *handle = FindFirstChangeNotification( - dir.value().c_str(), recursive, - FILE_NOTIFY_CHANGE_FILE_NAME | FILE_NOTIFY_CHANGE_SIZE | - FILE_NOTIFY_CHANGE_LAST_WRITE | FILE_NOTIFY_CHANGE_DIR_NAME | - FILE_NOTIFY_CHANGE_ATTRIBUTES | FILE_NOTIFY_CHANGE_SECURITY); - if (*handle != INVALID_HANDLE_VALUE) { - // Make sure the handle we got points to an existing directory. It seems - // that windows sometimes hands out watches to directories that are - // about to go away, but doesn't sent notifications if that happens. - if (!DirectoryExists(dir)) { - FindCloseChangeNotification(*handle); - *handle = INVALID_HANDLE_VALUE; - } - return true; - } - - // If FindFirstChangeNotification failed because the target directory - // doesn't exist, access is denied (happens if the file is already gone but - // there are still handles open), or the target is not a directory, try the - // immediate parent directory instead. - DWORD error_code = GetLastError(); - if (error_code != ERROR_FILE_NOT_FOUND && - error_code != ERROR_PATH_NOT_FOUND && - error_code != ERROR_ACCESS_DENIED && - error_code != ERROR_SHARING_VIOLATION && - error_code != ERROR_DIRECTORY) { - DPLOG(ERROR) << "FindFirstChangeNotification failed for " - << dir.value(); - return false; - } - - return true; -} - -bool FilePathWatcherImpl::UpdateWatch() { - if (handle_ != INVALID_HANDLE_VALUE) - DestroyWatch(); +bool FilePathWatcherImpl::SetupWatchHandleForTarget() { + CloseWatchHandle(); ScopedBlockingCall scoped_blocking_call(FROM_HERE, BlockingType::MAY_BLOCK); - // Start at the target and walk up the directory chain until we succesfully - // create a watch handle in |handle_|. |child_dirs| keeps a stack of child - // directories stripped from target, in reverse order. + // Start at the target and walk up the directory chain until we successfully + // create a file handle in `watched_handle_`. `child_dirs` keeps a stack of + // child directories stripped from target, in reverse order. std::vector child_dirs; - FilePath watched_path(target_); + FilePath path_to_watch(target_); + base::win::ScopedHandle watched_handle; while (true) { - if (!SetupWatchHandle(watched_path, type_ == Type::kRecursive, &handle_)) - return false; + auto result = CreateDirectoryHandle(path_to_watch); - // Break if a valid handle is returned. Try the parent directory otherwise. - if (handle_ != INVALID_HANDLE_VALUE) + // Break if a valid handle is returned. + if (result.has_value()) { + watched_handle = std::move(result.value()); break; + } + + // We're in an unknown state if `CreateDirectoryHandle` returns an `kFatal` + // error, so return failure. + if (result.error() == CreateFileHandleError::kFatal) { + return false; + } // Abort if we hit the root directory. - child_dirs.push_back(watched_path.BaseName()); - FilePath parent(watched_path.DirName()); - if (parent == watched_path) { + child_dirs.push_back(path_to_watch.BaseName()); + FilePath parent(path_to_watch.DirName()); + if (parent == path_to_watch) { DLOG(ERROR) << "Reached the root directory"; return false; } - watched_path = parent; + path_to_watch = parent; } - // At this point, handle_ is valid. However, the bottom-up search that the - // above code performs races against directory creation. So try to walk back - // down and see whether any children appeared in the mean time. + // At this point, `watched_handle` is valid. However, the bottom-up search + // that the above code performs races against directory creation. So try to + // walk back down and see whether any children appeared in the mean time. while (!child_dirs.empty()) { - watched_path = watched_path.Append(child_dirs.back()); + path_to_watch = path_to_watch.Append(child_dirs.back()); child_dirs.pop_back(); - HANDLE temp_handle = INVALID_HANDLE_VALUE; - if (!SetupWatchHandle(watched_path, type_ == Type::kRecursive, - &temp_handle)) { - return false; - } - if (temp_handle == INVALID_HANDLE_VALUE) + auto result = CreateDirectoryHandle(path_to_watch); + if (!result.has_value()) { + // We're in an unknown state if `CreateDirectoryHandle` returns an + // `kFatal` error, so return failure. + if (result.error() == CreateFileHandleError::kFatal) { + return false; + } + // Otherwise go with the current `watched_handle`. break; - FindCloseChangeNotification(handle_); - handle_ = temp_handle; + } + watched_handle = std::move(result.value()); } - return true; + watcher_id_ = CompletionIOPortThread::Get()->AddWatcher( + *this, std::move(watched_handle)); + + return watcher_id_.has_value(); } -void FilePathWatcherImpl::DestroyWatch() { - watcher_.StopWatching(); - - ScopedBlockingCall scoped_blocking_call(FROM_HERE, BlockingType::MAY_BLOCK); - FindCloseChangeNotification(handle_); - handle_ = INVALID_HANDLE_VALUE; +void FilePathWatcherImpl::CloseWatchHandle() { + if (watcher_id_.has_value()) { + CompletionIOPortThread::Get()->RemoveWatcher(watcher_id_.value()); + watcher_id_.reset(); + } } } // namespace diff --git a/naiveproxy/src/base/files/file_posix.cc b/naiveproxy/src/base/files/file_posix.cc index b60e6f9414..43924296f6 100644 --- a/naiveproxy/src/base/files/file_posix.cc +++ b/naiveproxy/src/base/files/file_posix.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/files/file.h" // The only 32-bit platform that uses this file is Android. On Android APIs @@ -113,7 +118,7 @@ short FcntlFlockType(std::optional mode) { case File::LockMode::kExclusive: return F_WRLCK; } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } File::Error CallFcntlFlock(PlatformFile file, @@ -543,7 +548,7 @@ void File::DoInitialize(const FilePath& path, uint32_t flags) { } if (!open_flags && !(flags & FLAG_OPEN) && !(flags & FLAG_OPEN_ALWAYS)) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); errno = EOPNOTSUPP; error_details_ = FILE_ERROR_FAILED; return; @@ -558,7 +563,7 @@ void File::DoInitialize(const FilePath& path, uint32_t flags) { // Note: For FLAG_WRITE_ATTRIBUTES and no other read/write flags, we'll // open the file in O_RDONLY mode (== 0, see static_assert below), so that // we get a fd that can be used for SetTimes(). - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } if (flags & FLAG_TERMINAL_DEVICE) @@ -670,17 +675,17 @@ File::Error File::GetLastFileError() { return base::File::OSErrorToFileError(errno); } -int File::Stat(const char* path, stat_wrapper_t* sb) { +int File::Stat(const FilePath& path, stat_wrapper_t* sb) { ScopedBlockingCall scoped_blocking_call(FROM_HERE, BlockingType::MAY_BLOCK); - return stat(path, sb); + return stat(path.value().c_str(), sb); } int File::Fstat(int fd, stat_wrapper_t* sb) { ScopedBlockingCall scoped_blocking_call(FROM_HERE, BlockingType::MAY_BLOCK); return fstat(fd, sb); } -int File::Lstat(const char* path, stat_wrapper_t* sb) { +int File::Lstat(const FilePath& path, stat_wrapper_t* sb) { ScopedBlockingCall scoped_blocking_call(FROM_HERE, BlockingType::MAY_BLOCK); - return lstat(path, sb); + return lstat(path.value().c_str(), sb); } } // namespace base diff --git a/naiveproxy/src/base/files/file_tracing.cc b/naiveproxy/src/base/files/file_tracing.cc index c0c573251c..5d20b115f5 100644 --- a/naiveproxy/src/base/files/file_tracing.cc +++ b/naiveproxy/src/base/files/file_tracing.cc @@ -40,7 +40,7 @@ FileTracing::ScopedEnabler::~ScopedEnabler() { FileTracing::Provider* provider = GetProvider(); if (provider) provider->FileTracingDisable(this); - // TODO(crbug.com/1021571): Remove this once fixed. + // TODO(crbug.com/40657156): Remove this once fixed. PERFETTO_INTERNAL_ADD_EMPTY_EVENT(); } diff --git a/naiveproxy/src/base/files/file_util.cc b/naiveproxy/src/base/files/file_util.cc index de396f8acc..ad4dcc10c5 100644 --- a/naiveproxy/src/base/files/file_util.cc +++ b/naiveproxy/src/base/files/file_util.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/files/file_util.h" #include "base/task/sequenced_task_runner.h" @@ -20,12 +25,14 @@ #include "base/bit_cast.h" #include "base/check_op.h" +#include "base/containers/contains.h" #include "base/containers/span.h" #include "base/files/file_enumerator.h" #include "base/files/file_path.h" #include "base/functional/function_ref.h" #include "base/notreached.h" #include "base/posix/eintr_wrapper.h" +#include "base/ranges/algorithm.h" #include "base/strings/string_piece.h" #include "base/strings/string_util.h" #include "base/strings/stringprintf.h" @@ -209,7 +216,7 @@ bool CopyFileContents(File& infile, File& outfile) { } while (bytes_written_per_read < bytes_read); } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return false; } @@ -406,7 +413,7 @@ bool TouchFile(const FilePath& path, flags |= File::FLAG_WIN_BACKUP_SEMANTICS; #elif BUILDFLAG(IS_FUCHSIA) // On Fuchsia, we need O_RDONLY for directories, or O_WRONLY for files. - // TODO(https://crbug.com/947802): Find a cleaner workaround for this. + // TODO(crbug.com/40620916): Find a cleaner workaround for this. flags |= (DirectoryExists(path) ? File::FLAG_READ : File::FLAG_WRITE); #endif @@ -469,28 +476,29 @@ bool WriteFile(const FilePath& filename, StringPiece data) { return WriteFile(filename, data.data(), size) == size; } -int GetUniquePathNumber(const FilePath& path) { - DCHECK(!path.empty()); - if (!PathExists(path)) - return 0; - - std::string number; - for (int count = 1; count <= kMaxUniqueFiles; ++count) { - StringAppendF(&number, " (%d)", count); - if (!PathExists(path.InsertBeforeExtensionASCII(number))) - return count; - number.clear(); - } - - return -1; +FilePath GetUniquePath(const FilePath& path) { + return GetUniquePathWithSuffixFormat(path, " (%d)"); } -FilePath GetUniquePath(const FilePath& path) { +FilePath GetUniquePathWithSuffixFormat(const FilePath& path, + cstring_view suffix_format) { DCHECK(!path.empty()); - const int uniquifier = GetUniquePathNumber(path); - if (uniquifier > 0) - return path.InsertBeforeExtensionASCII(StringPrintf(" (%d)", uniquifier)); - return uniquifier == 0 ? path : FilePath(); + DCHECK_EQ(base::ranges::count(suffix_format, '%'), 1); + DCHECK(base::Contains(suffix_format, "%d")); + + if (!PathExists(path)) { + return path; + } + std::string number; + for (int count = 1; count <= kMaxUniqueFiles; ++count) { + StringAppendF(&number, suffix_format.c_str(), count); + FilePath candidate_path = path.InsertBeforeExtensionASCII(number); + if (!PathExists(candidate_path)) { + return candidate_path; + } + number.clear(); + } + return FilePath(); } } // namespace base diff --git a/naiveproxy/src/base/files/file_util.h b/naiveproxy/src/base/files/file_util.h index 73f39bde29..7aec9e3be0 100644 --- a/naiveproxy/src/base/files/file_util.h +++ b/naiveproxy/src/base/files/file_util.h @@ -23,6 +23,7 @@ #include "base/files/file_path.h" #include "base/files/scoped_file.h" #include "base/functional/callback.h" +#include "base/strings/cstring_view.h" #include "base/types/pass_key.h" #include "build/build_config.h" @@ -293,7 +294,7 @@ BASE_EXPORT bool ReadStreamToStringWithMaxSize(FILE* stream, // into `buffer`. This function is protected against EINTR and partial reads. // Returns true iff `buffer` was successfully filled with bytes read from `fd`. BASE_EXPORT bool ReadFromFD(int fd, span buffer); -// TODO(https://crbug.com/1490484): Migrate callers to the span variant. +// TODO(crbug.com/40284755): Migrate callers to the span variant. BASE_EXPORT bool ReadFromFD(int fd, char* buffer, size_t bytes); // Performs the same function as CreateAndOpenTemporaryStreamInDir(), but @@ -456,8 +457,8 @@ BASE_EXPORT void SetDisableSecureSystemTempForTesting(bool disabled); #endif // BUILDFLAG(IS_WIN) // Do NOT USE in new code. Use ScopedTempDir instead. -// TODO(crbug.com/561597) Remove existing usage and make this an implementation -// detail inside ScopedTempDir. +// TODO(crbug.com/40446440) Remove existing usage and make this an +// implementation detail inside ScopedTempDir. // // Create a new directory. If prefix is provided, the new directory name is in // the format of prefixyyyy. @@ -557,7 +558,7 @@ BASE_EXPORT bool TruncateFile(FILE* file); // Reads from the file into `buffer`. This will read at most as many bytes as // `buffer` can hold, but may not always fill `buffer` entirely. // Returns the number of bytes read, or nullopt on error. -// TODO(crbug.com/1333521): Despite the 64-bit return value, this only supports +// TODO(crbug.com/40227936): Despite the 64-bit return value, this only supports // reading at most INT_MAX bytes. The program will crash if a buffer is passed // whose length exceeds INT_MAX. BASE_EXPORT std::optional ReadFile(const FilePath& filename, @@ -566,14 +567,14 @@ BASE_EXPORT std::optional ReadFile(const FilePath& filename, span buffer); // Same as above, but returns -1 on error. -// TODO(https://crbug.com/1490484): Migrate callers to the span variant. +// TODO(crbug.com/40284755): Migrate callers to the span variant. BASE_EXPORT int ReadFile(const FilePath& filename, char* data, int max_size); // Writes the given buffer into the file, overwriting any data that was // previously there. Returns the number of bytes written, or -1 on error. // If file doesn't exist, it gets created with read/write permissions for all. // Note that the other variants of WriteFile() below may be easier to use. -// TODO(https://crbug.com/1490484): Migrate callers to the span variant. +// TODO(crbug.com/40284755): Migrate callers to the span variant. BASE_EXPORT int WriteFile(const FilePath& filename, const char* data, int size); @@ -619,21 +620,22 @@ BASE_EXPORT bool GetCurrentDirectory(FilePath* path); // Sets the current working directory for the process. BASE_EXPORT bool SetCurrentDirectory(const FilePath& path); -// The largest value attempted by GetUniquePath{Number,}. +// The largest value attempted by GetUniquePath. enum { kMaxUniqueFiles = 100 }; -// Returns the number N that makes |path| unique when formatted as " (N)" in a -// suffix to its basename before any file extension, where N is a number between -// 1 and 100 (inclusive). Returns 0 if |path| does not exist (meaning that it is -// unique as-is), or -1 if no such number can be found. -BASE_EXPORT int GetUniquePathNumber(const FilePath& path); - // Returns |path| if it does not exist. Otherwise, returns |path| with the // suffix " (N)" appended to its basename before any file extension, where N is // a number between 1 and 100 (inclusive). Returns an empty path if no such // number can be found. BASE_EXPORT FilePath GetUniquePath(const FilePath& path); +// Same as `GetUniquePath()`, except this method allows specifying a custom +// suffix printf format string in cases where the default format doesn't work +// (for example because you need a filename without spaces in it). Passing +// " (%d)" as `suffix_format` makes this behave identical to `GetUniquePath()`. +BASE_EXPORT FilePath GetUniquePathWithSuffixFormat(const FilePath& path, + cstring_view suffix_format); + // Sets the given |fd| to non-blocking mode. // Returns true if it was able to set it in the non-blocking mode, otherwise // false. diff --git a/naiveproxy/src/base/files/file_util_posix.cc b/naiveproxy/src/base/files/file_util_posix.cc index 6da729a2be..ca5161fac5 100644 --- a/naiveproxy/src/base/files/file_util_posix.cc +++ b/naiveproxy/src/base/files/file_util_posix.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/files/file_util.h" #include @@ -41,6 +46,7 @@ #include "base/numerics/safe_conversions.h" #include "base/path_service.h" #include "base/posix/eintr_wrapper.h" +#include "base/strings/cstring_view.h" #include "base/strings/strcat.h" #include "base/strings/string_piece.h" #include "base/strings/string_split.h" @@ -87,7 +93,7 @@ bool VerifySpecificPathControlledByUser(const FilePath& path, uid_t owner_uid, const std::set& group_gids) { stat_wrapper_t stat_info; - if (File::Lstat(path.value().c_str(), &stat_info) != 0) { + if (File::Lstat(path, &stat_info) != 0) { DPLOG(ERROR) << "Failed to get information on path " << path.value(); return false; @@ -175,7 +181,7 @@ bool DoCopyDirectory(const FilePath& from_path, // start the loop with |to_path|. stat_wrapper_t from_stat; FilePath current = from_path; - if (File::Stat(from_path.value().c_str(), &from_stat) < 0) { + if (File::Stat(from_path, &from_stat) < 0) { DPLOG(ERROR) << "CopyDirectory() couldn't stat source directory: " << from_path.value(); return false; @@ -288,16 +294,16 @@ bool DoDeleteFile(const FilePath& path, bool recursive) { return DeleteContentUri(path); #endif // BUILDFLAG(IS_ANDROID) - const char* path_str = path.value().c_str(); stat_wrapper_t file_info; - if (File::Lstat(path_str, &file_info) != 0) { + if (File::Lstat(path, &file_info) != 0) { // The Windows version defines this condition as success. return (errno == ENOENT); } + cstring_view path_str = path.value(); if (!S_ISDIR(file_info.st_mode)) - return (unlink(path_str) == 0) || (errno == ENOENT); + return (unlink(path_str.c_str()) == 0) || (errno == ENOENT); if (!recursive) - return (rmdir(path_str) == 0) || (errno == ENOENT); + return (rmdir(path_str.c_str()) == 0) || (errno == ENOENT); bool success = true; stack directories; @@ -540,8 +546,9 @@ bool PathIsWritable(const FilePath& path) { bool DirectoryExists(const FilePath& path) { ScopedBlockingCall scoped_blocking_call(FROM_HERE, BlockingType::MAY_BLOCK); stat_wrapper_t file_info; - if (File::Stat(path.value().c_str(), &file_info) != 0) + if (File::Stat(path, &file_info) != 0) { return false; + } return S_ISDIR(file_info.st_mode); } @@ -632,8 +639,9 @@ bool GetPosixFilePermissions(const FilePath& path, int* mode) { stat_wrapper_t file_info; // Uses stat(), because on symbolic link, lstat() does not return valid // permission bits in st_mode - if (File::Stat(path.value().c_str(), &file_info) != 0) + if (File::Stat(path, &file_info) != 0) { return false; + } *mode = file_info.st_mode & FILE_PERMISSION_MASK; return true; @@ -646,8 +654,9 @@ bool SetPosixFilePermissions(const FilePath& path, // Calls stat() so that we can preserve the higher bits like S_ISGID. stat_wrapper_t stat_buf; - if (File::Stat(path.value().c_str(), &stat_buf) != 0) + if (File::Stat(path, &stat_buf) != 0) { return false; + } // Clears the existing permission bits, and adds the new ones. // The casting here is because the Android NDK does not declare `st_mode` as a @@ -892,8 +901,9 @@ bool IsLink(const FilePath& file_path) { stat_wrapper_t st; // If we can't lstat the file, it's safe to assume that the file won't at // least be a 'followable' link. - if (File::Lstat(file_path.value().c_str(), &st) != 0) + if (File::Lstat(file_path, &st) != 0) { return false; + } return S_ISLNK(st.st_mode); } @@ -907,8 +917,9 @@ bool GetFileInfo(const FilePath& file_path, File::Info* results) { return file.GetInfo(results); } else { #endif // BUILDFLAG(IS_ANDROID) - if (File::Stat(file_path.value().c_str(), &file_info) != 0) + if (File::Stat(file_path, &file_info) != 0) { return false; + } #if BUILDFLAG(IS_ANDROID) } #endif // BUILDFLAG(IS_ANDROID) @@ -974,7 +985,7 @@ std::optional ReadFile(const FilePath& filename, span buffer) { return std::nullopt; } - // TODO(crbug.com/1333521): Consider supporting reading more than INT_MAX + // TODO(crbug.com/40227936): Consider supporting reading more than INT_MAX // bytes. size_t bytes_to_read = static_cast(checked_cast(buffer.size())); @@ -1331,10 +1342,11 @@ bool MoveUnsafe(const FilePath& from_path, const FilePath& to_path) { // Windows compatibility: if |to_path| exists, |from_path| and |to_path| // must be the same type, either both files, or both directories. stat_wrapper_t to_file_info; - if (File::Stat(to_path.value().c_str(), &to_file_info) == 0) { + if (File::Stat(to_path, &to_file_info) == 0) { stat_wrapper_t from_file_info; - if (File::Stat(from_path.value().c_str(), &from_file_info) != 0) + if (File::Stat(from_path, &from_file_info) != 0) { return false; + } if (S_ISDIR(to_file_info.st_mode) != S_ISDIR(from_file_info.st_mode)) return false; } diff --git a/naiveproxy/src/base/files/file_util_win.cc b/naiveproxy/src/base/files/file_util_win.cc index 60df40be7a..9a45121781 100644 --- a/naiveproxy/src/base/files/file_util_win.cc +++ b/naiveproxy/src/base/files/file_util_win.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/files/file_util.h" #include @@ -921,7 +926,7 @@ bool GetFileInfo(const FilePath& file_path, File::Info* results) { ULARGE_INTEGER size; size.HighPart = attr.nFileSizeHigh; size.LowPart = attr.nFileSizeLow; - // TODO(crbug.com/1333521): Change Info::size to uint64_t and eliminate this + // TODO(crbug.com/40227936): Change Info::size to uint64_t and eliminate this // cast. results->size = checked_cast(size.QuadPart); @@ -994,7 +999,7 @@ std::optional ReadFile(const FilePath& filename, span buffer) { return std::nullopt; } - // TODO(crbug.com/1333521): Consider supporting reading more than INT_MAX + // TODO(crbug.com/40227936): Consider supporting reading more than INT_MAX // bytes. DWORD bytes_to_read = static_cast(checked_cast(buffer.size())); diff --git a/naiveproxy/src/base/files/file_win.cc b/naiveproxy/src/base/files/file_win.cc index 6375ce0720..c19ade14f2 100644 --- a/naiveproxy/src/base/files/file_win.cc +++ b/naiveproxy/src/base/files/file_win.cc @@ -81,7 +81,7 @@ int File::Read(int64_t offset, char* data, int size) { DWORD bytes_read; if (::ReadFile(file_.get(), data, static_cast(size), &bytes_read, &overlapped)) { - // TODO(crbug.com/1333521): Change to return some type with a uint64_t size + // TODO(crbug.com/40227936): Change to return some type with a uint64_t size // and eliminate this cast. return checked_cast(bytes_read); } @@ -103,7 +103,7 @@ int File::ReadAtCurrentPos(char* data, int size) { DWORD bytes_read; if (::ReadFile(file_.get(), data, static_cast(size), &bytes_read, NULL)) { - // TODO(crbug.com/1333521): Change to return some type with a uint64_t size + // TODO(crbug.com/40227936): Change to return some type with a uint64_t size // and eliminate this cast. return checked_cast(bytes_read); } @@ -237,7 +237,7 @@ bool File::GetInfo(Info* info) { ULARGE_INTEGER size; size.HighPart = file_info.nFileSizeHigh; size.LowPart = file_info.nFileSizeLow; - // TODO(crbug.com/1333521): Change Info::size to uint64_t and eliminate this + // TODO(crbug.com/40227936): Change Info::size to uint64_t and eliminate this // cast. info->size = checked_cast(size.QuadPart); info->is_directory = @@ -259,7 +259,7 @@ DWORD LockFileFlagsForMode(File::LockMode mode) { case File::LockMode::kExclusive: return flags | LOCKFILE_EXCLUSIVE_LOCK; } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } } // namespace @@ -399,7 +399,7 @@ void File::DoInitialize(const FilePath& path, uint32_t flags) { if (!disposition) { ::SetLastError(ERROR_INVALID_PARAMETER); error_details_ = FILE_ERROR_FAILED; - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return; } diff --git a/naiveproxy/src/base/files/important_file_writer.cc b/naiveproxy/src/base/files/important_file_writer.cc index ba84a7da2f..49a4500fdd 100644 --- a/naiveproxy/src/base/files/important_file_writer.cc +++ b/naiveproxy/src/base/files/important_file_writer.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/files/important_file_writer.h" #include @@ -305,7 +310,7 @@ bool ImportantFileWriter::HasPendingWrite() const { void ImportantFileWriter::WriteNow(std::string data) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); if (!IsValueInRangeForNumericType(data.length())) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return; } @@ -331,7 +336,7 @@ void ImportantFileWriter::WriteNowWithBackgroundDataProducer( // Posting the task to background message loop is not expected // to fail, but if it does, avoid losing data and just hit the disk // on the current thread. - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); std::move(split_task.second).Run(); } diff --git a/naiveproxy/src/base/files/memory_mapped_file.cc b/naiveproxy/src/base/files/memory_mapped_file.cc index 0b0adc04d6..c65f0c1ce0 100644 --- a/naiveproxy/src/base/files/memory_mapped_file.cc +++ b/naiveproxy/src/base/files/memory_mapped_file.cc @@ -44,7 +44,7 @@ bool MemoryMappedFile::Initialize(const FilePath& file_name, Access access) { break; case READ_WRITE_EXTEND: // Can't open with "extend" because no maximum size is known. - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); break; #if BUILDFLAG(IS_WIN) case READ_CODE_IMAGE: @@ -101,7 +101,7 @@ bool MemoryMappedFile::Initialize(File file, case READ_CODE_IMAGE: // Can't open with "READ_CODE_IMAGE", not supported outside Windows // or with a |region|. - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); break; #endif } diff --git a/naiveproxy/src/base/files/safe_base_name.h b/naiveproxy/src/base/files/safe_base_name.h index 188ae4342b..bcf92bbbc4 100644 --- a/naiveproxy/src/base/files/safe_base_name.h +++ b/naiveproxy/src/base/files/safe_base_name.h @@ -22,7 +22,7 @@ namespace base { // FilePath dir(FILE_PATH_LITERAL("foo")); dir.Append(*a); class BASE_EXPORT SafeBaseName { public: - // TODO(crbug.com/1269986): Change to only be exposed to Mojo. + // TODO(crbug.com/40205226): Change to only be exposed to Mojo. SafeBaseName() = default; // Factory method that returns a valid SafeBaseName or std::nullopt. diff --git a/naiveproxy/src/base/fuchsia/fuchsia_logging.cc b/naiveproxy/src/base/fuchsia/fuchsia_logging.cc index e31f8b4817..e0ee33f10b 100644 --- a/naiveproxy/src/base/fuchsia/fuchsia_logging.cc +++ b/naiveproxy/src/base/fuchsia/fuchsia_logging.cc @@ -11,6 +11,7 @@ #include "base/location.h" #include "base/process/process.h" +#include "base/scoped_clear_last_error.h" #include "base/strings/stringprintf.h" namespace logging { @@ -26,6 +27,9 @@ ZxLogMessage::~ZxLogMessage() { } void ZxLogMessage::AppendError() { + // Don't let actions from this method affect the system error after returning. + base::ScopedClearLastError scoped_clear_last_error; + // zx_status_t error values are negative, so log the numeric version as // decimal rather than hex. This is also useful to match zircon/errors.h for // grepping. diff --git a/naiveproxy/src/base/fuchsia/process_context.cc b/naiveproxy/src/base/fuchsia/process_context.cc index f8b9d82c61..a973a6350d 100644 --- a/naiveproxy/src/base/fuchsia/process_context.cc +++ b/naiveproxy/src/base/fuchsia/process_context.cc @@ -31,7 +31,7 @@ fidl::ClientEnd* GetIncomingServiceDirectory() { } // namespace -// TODO(crbug.com/1416555): This need to either be changed or removed when +// TODO(crbug.com/40256913): This need to either be changed or removed when // TestComponentContextForProcess is migrated to Natural bindings. sys::ComponentContext* ComponentContextForProcess() { return GetComponentContextPtr()->get(); @@ -45,7 +45,7 @@ BorrowIncomingServiceDirectoryForProcess() { // Replaces the component context singleton value with the passed context. The // incoming service directory client end is also re-mapped to the new context's // outgoing directory. -// TODO(crbug.com/1416555): Rework this to support the natural binding backed +// TODO(crbug.com/40256913): Rework this to support the natural binding backed // TestComponentContextForProcess. std::unique_ptr ReplaceComponentContextForProcessForTest( std::unique_ptr context) { diff --git a/naiveproxy/src/base/fuchsia/scheduler.h b/naiveproxy/src/base/fuchsia/scheduler.h index 9f20ba8223..203c31b638 100644 --- a/naiveproxy/src/base/fuchsia/scheduler.h +++ b/naiveproxy/src/base/fuchsia/scheduler.h @@ -11,23 +11,23 @@ namespace base { // Scheduling interval to use for realtime audio threads. -// TODO(crbug.com/1224707): Add scheduling period to Thread::Options and remove +// TODO(crbug.com/42050308): Add scheduling period to Thread::Options and remove // this constants. constexpr TimeDelta kAudioSchedulingPeriod = Milliseconds(10); // Request 30% max CPU deadline utilization for an audio thread. -// TODO(crbug.com/1174811): A different value may need to be used for WebAudio +// TODO(crbug.com/42050235): A different value may need to be used for WebAudio // threads (see media::FuchsiaAudioOutputDevice). A higher capacity may need to // be allocated in that case. constexpr float kAudioSchedulingCapacity = 0.3; // Scheduling interval to use for display threads. -// TODO(crbug.com/1224707): Add scheduling period to Thread::Options and remove +// TODO(crbug.com/42050308): Add scheduling period to Thread::Options and remove // this constants. constexpr TimeDelta kDisplaySchedulingPeriod = Seconds(1) / 60; // Request 50% max CPU deadline utilization for a display thread. -// TODO(crbug.com/1181421): Currently DISPLAY priority is not enabled for any +// TODO(crbug.com/40750845): Currently DISPLAY priority is not enabled for any // thread on Fuchsia. The value below will need to be fine-tuned when it's // enabled. const float kDisplaySchedulingCapacity = 0.5; diff --git a/naiveproxy/src/base/fuchsia/scoped_service_binding.h b/naiveproxy/src/base/fuchsia/scoped_service_binding.h index d673150be8..e9a76c3f13 100644 --- a/naiveproxy/src/base/fuchsia/scoped_service_binding.h +++ b/naiveproxy/src/base/fuchsia/scoped_service_binding.h @@ -5,7 +5,7 @@ #ifndef BASE_FUCHSIA_SCOPED_SERVICE_BINDING_H_ #define BASE_FUCHSIA_SCOPED_SERVICE_BINDING_H_ -// TODO(crbug.com/1427626): Remove this include once the explicit +// TODO(crbug.com/42050587): Remove this include once the explicit // async_get_default_dispatcher() is no longer needed. #include #include @@ -83,7 +83,7 @@ class BASE_EXPORT ScopedNaturalServiceBinding { outgoing_directory, bindings_.CreateHandler( impl, - // TODO(crbug.com/1427626): Remove this param once there's an + // TODO(crbug.com/42050587): Remove this param once there's an // overload of `CreateHandler` that doesn't require it. async_get_default_dispatcher(), [](fidl::UnbindInfo info) {}), @@ -99,7 +99,7 @@ class BASE_EXPORT ScopedNaturalServiceBinding { pseudo_dir, bindings_.CreateHandler( impl, - // TODO(crbug.com/1427626): Remove this param once there's an + // TODO(crbug.com/42050587): Remove this param once there's an // overload of `CreateHandler` that doesn't require it. async_get_default_dispatcher(), [](fidl::UnbindInfo info) {}), diff --git a/naiveproxy/src/base/fuchsia/test_component_context_for_process.cc b/naiveproxy/src/base/fuchsia/test_component_context_for_process.cc index 36e8c18a11..b81579c540 100644 --- a/naiveproxy/src/base/fuchsia/test_component_context_for_process.cc +++ b/naiveproxy/src/base/fuchsia/test_component_context_for_process.cc @@ -22,7 +22,7 @@ namespace base { TestComponentContextForProcess::TestComponentContextForProcess( InitialState initial_state) { - // TODO(https://crbug.com/1038786): Migrate to sys::ComponentContextProvider + // TODO(crbug.com/42050058): Migrate to sys::ComponentContextProvider // once it provides access to an sys::OutgoingDirectory or PseudoDir through // which to publish additional_services(). diff --git a/naiveproxy/src/base/functional/bind.h b/naiveproxy/src/base/functional/bind.h index 6b4704262b..8bb8a93a09 100644 --- a/naiveproxy/src/base/functional/bind.h +++ b/naiveproxy/src/base/functional/bind.h @@ -11,7 +11,7 @@ #include #include "base/compiler_specific.h" -#include "base/functional/bind_internal.h" +#include "base/functional/bind_internal.h" // IWYU pragma: export #include "base/memory/raw_ptr.h" #include "build/build_config.h" diff --git a/naiveproxy/src/base/functional/bind_internal.h b/naiveproxy/src/base/functional/bind_internal.h index 13cbdc9916..bf64a8d29a 100644 --- a/naiveproxy/src/base/functional/bind_internal.h +++ b/naiveproxy/src/base/functional/bind_internal.h @@ -409,7 +409,7 @@ class OwnedRefWrapper { // 2) `is_valid_` is distinct from `nullptr` because it is valid to bind a null // scoper to a `Callback` and allow the `Callback` to execute once. // -// TODO(crbug.com/1326449): We have rvalue references and such now. Remove. +// TODO(crbug.com/40840557): We have rvalue references and such now. Remove. template class PassedWrapper { public: @@ -1042,12 +1042,12 @@ struct Invoker { BoundArgsTuple&& bound, std::index_sequence, UnboundArgs&&... unbound_args) { -#if BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#if PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) RawPtrAsanBoundArgTracker raw_ptr_asan_bound_arg_tracker; raw_ptr_asan_bound_arg_tracker.AddArgs( std::get(std::forward(bound))..., std::forward(unbound_args)...); -#endif // BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#endif // PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) using DecayedArgsTuple = std::decay_t; static constexpr bool kIsWeakCall = @@ -1072,7 +1072,7 @@ struct Invoker { }; // Allow binding a method call with no receiver. -// TODO(crbug.com/1511757): Remove or make safe. +// TODO(crbug.com/41484339): Remove or make safe. template void VerifyMethodReceiver(Unused&&...) {} diff --git a/naiveproxy/src/base/functional/callback.h b/naiveproxy/src/base/functional/callback.h index 89484a04cb..f2c0d9bc0b 100644 --- a/naiveproxy/src/base/functional/callback.h +++ b/naiveproxy/src/base/functional/callback.h @@ -136,7 +136,7 @@ class TRIVIAL_ABI OnceCallback { static_assert(!sizeof(*this), "OnceCallback::Run() may only be invoked on a non-const " "rvalue, i.e. std::move(callback).Run()."); - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } // Calls the bound functor with any already-bound arguments + `args`. Consumes diff --git a/naiveproxy/src/base/functional/unretained_traits.h b/naiveproxy/src/base/functional/unretained_traits.h index 116a74f09a..6882ca1d62 100644 --- a/naiveproxy/src/base/functional/unretained_traits.h +++ b/naiveproxy/src/base/functional/unretained_traits.h @@ -89,7 +89,7 @@ struct SupportsUnretainedImpl { // // to make this easier to land without potentially breaking the tree. // -// TODO(https://crbug.com/1392872): Enable this on all platforms, then in +// TODO(crbug.com/40247956): Enable this on all platforms, then in // official builds, and then in non-test code as well. #if defined(FORCE_UNRETAINED_COMPLETENESS_CHECKS_FOR_TESTS) || \ (!defined(UNIT_TEST) && !defined(OFFICIAL_BUILD) && \ diff --git a/naiveproxy/src/base/hash/hash.cc b/naiveproxy/src/base/hash/hash.cc index 7af76f961e..c9bc76dae6 100644 --- a/naiveproxy/src/base/hash/hash.cc +++ b/naiveproxy/src/base/hash/hash.cc @@ -2,15 +2,23 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/hash/hash.h" +#include +#include +#include +#include #include -#include "base/check_op.h" +#include "base/containers/span.h" +#include "base/dcheck_is_on.h" #include "base/notreached.h" -#include "base/rand_util.h" #include "base/third_party/cityhash/city.h" -#include "build/build_config.h" // Definition in base/third_party/superfasthash/superfasthash.c. (Third-party // code did not come with its own header file, so declaring the function here.) @@ -136,7 +144,7 @@ uint32_t PersistentHash(span data) { // This hash function must not change, since it is designed to be persistable // to disk. if (data.size() > static_cast(std::numeric_limits::max())) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return 0; } return ::SuperFastHash(reinterpret_cast(data.data()), diff --git a/naiveproxy/src/base/hash/hash.h b/naiveproxy/src/base/hash/hash.h index d15cd0fbd9..335bc3d765 100644 --- a/naiveproxy/src/base/hash/hash.h +++ b/naiveproxy/src/base/hash/hash.h @@ -24,7 +24,7 @@ namespace base { // Deprecated: Computes a hash of a memory buffer, use FastHash() instead. // If you need to persist a change on disk or between computers, use // PersistentHash(). -// TODO(https://crbug.com/1025358): Migrate client code to new hash function. +// TODO(crbug.com/40107835): Migrate client code to new hash function. BASE_EXPORT uint32_t Hash(const std::string& str); // Really *fast* and high quality hash. diff --git a/naiveproxy/src/base/hash/legacy_hash.cc b/naiveproxy/src/base/hash/legacy_hash.cc index 9e9b8a80a0..40953fee21 100644 --- a/naiveproxy/src/base/hash/legacy_hash.cc +++ b/naiveproxy/src/base/hash/legacy_hash.cc @@ -4,6 +4,9 @@ #include "base/hash/legacy_hash.h" +#include + +#include "base/containers/span.h" #include "base/third_party/cityhash_v103/src/city_v103.h" namespace base { diff --git a/naiveproxy/src/base/hash/md5_boringssl.cc b/naiveproxy/src/base/hash/md5_boringssl.cc index 9b8bd8155b..f43d01d4ed 100644 --- a/naiveproxy/src/base/hash/md5_boringssl.cc +++ b/naiveproxy/src/base/hash/md5_boringssl.cc @@ -2,11 +2,17 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "base/hash/md5_boringssl.h" + +#include +#include #include +#include "base/containers/span.h" #include "base/hash/md5.h" #include "base/strings/string_number_conversions.h" #include "base/strings/string_util.h" +#include "third_party/boringssl/src/include/openssl/md5.h" namespace base { void MD5Init(MD5Context* context) { diff --git a/naiveproxy/src/base/hash/md5_constexpr.h b/naiveproxy/src/base/hash/md5_constexpr.h index ef4c2d6b9e..6473f386e0 100644 --- a/naiveproxy/src/base/hash/md5_constexpr.h +++ b/naiveproxy/src/base/hash/md5_constexpr.h @@ -5,7 +5,7 @@ #ifndef BASE_HASH_MD5_CONSTEXPR_H_ #define BASE_HASH_MD5_CONSTEXPR_H_ -#include "base/hash/md5_constexpr_internal.h" +#include "base/hash/md5_constexpr_internal.h" // IWYU pragma: export #include diff --git a/naiveproxy/src/base/hash/sha1_boringssl.cc b/naiveproxy/src/base/hash/sha1_boringssl.cc index 7d20c1c68b..9a72e68a01 100644 --- a/naiveproxy/src/base/hash/sha1_boringssl.cc +++ b/naiveproxy/src/base/hash/sha1_boringssl.cc @@ -2,10 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "base/hash/sha1_boringssl.h" + #include +#include +#include #include +#include "base/containers/span.h" #include "base/hash/sha1.h" #include "third_party/boringssl/src/include/openssl/crypto.h" #include "third_party/boringssl/src/include/openssl/sha.h" diff --git a/naiveproxy/src/base/i18n/break_iterator.cc b/naiveproxy/src/base/i18n/break_iterator.cc index 5f1827d4a2..389e174d14 100644 --- a/naiveproxy/src/base/i18n/break_iterator.cc +++ b/naiveproxy/src/base/i18n/break_iterator.cc @@ -37,8 +37,8 @@ class DefaultLocaleBreakIteratorCache { main_ = UBreakIteratorPtr( ubrk_open(break_type, nullptr, nullptr, 0, &main_status_)); if (U_FAILURE(main_status_)) { - NOTREACHED() << "ubrk_open failed for type " << break_type - << " with error " << main_status_; + NOTREACHED_IN_MIGRATION() << "ubrk_open failed for type " << break_type + << " with error " << main_status_; } } UBreakIteratorPtr Lease(UErrorCode& status) { @@ -61,8 +61,8 @@ class DefaultLocaleBreakIteratorCache { UBreakIteratorPtr result( ubrk_open(break_type, nullptr, nullptr, 0, &status)); if (U_FAILURE(status)) { - NOTREACHED() << "ubrk_open failed for type " << break_type - << " with error " << status; + NOTREACHED_IN_MIGRATION() << "ubrk_open failed for type " << break_type + << " with error " << status; } return result; } @@ -146,8 +146,9 @@ bool BreakIterator::Init() { ubrk_openRules(rules_.c_str(), static_cast(rules_.length()), nullptr, 0, &parse_error, &status)); if (U_FAILURE(status)) { - NOTREACHED() << "ubrk_openRules failed to parse rule string at line " - << parse_error.line << ", offset " << parse_error.offset; + NOTREACHED_IN_MIGRATION() + << "ubrk_openRules failed to parse rule string at line " + << parse_error.line << ", offset " << parse_error.offset; } break; } @@ -208,7 +209,7 @@ bool BreakIterator::SetText(std::u16string_view text) { pos_ = 0; // implicit when ubrk_setText is done prev_ = npos; if (U_FAILURE(status)) { - NOTREACHED() << "ubrk_setText failed"; + NOTREACHED_IN_MIGRATION() << "ubrk_setText failed"; return false; } string_ = text; @@ -264,10 +265,10 @@ bool BreakIterator::IsGraphemeBoundary(size_t position) const { } std::u16string BreakIterator::GetString() const { - return std::u16string(GetStringPiece()); + return std::u16string(GetStringView()); } -std::u16string_view BreakIterator::GetStringPiece() const { +std::u16string_view BreakIterator::GetStringView() const { DCHECK(prev_ != npos && pos_ != npos); return string_.substr(prev_, pos_ - prev_); } diff --git a/naiveproxy/src/base/i18n/break_iterator.h b/naiveproxy/src/base/i18n/break_iterator.h index bc64aca854..2dba2dd7d1 100644 --- a/naiveproxy/src/base/i18n/break_iterator.h +++ b/naiveproxy/src/base/i18n/break_iterator.h @@ -176,7 +176,7 @@ class BASE_I18N_EXPORT BreakIterator { // have advanced to somewhere useful. std::u16string GetString() const; - std::u16string_view GetStringPiece() const; + std::u16string_view GetStringView() const; // Returns the value of pos() returned before Advance() was last called. size_t prev() const { return prev_; } diff --git a/naiveproxy/src/base/i18n/build_utf8_validator_tables.cc b/naiveproxy/src/base/i18n/build_utf8_validator_tables.cc index 72b5619331..1a8d0cfa2a 100644 --- a/naiveproxy/src/base/i18n/build_utf8_validator_tables.cc +++ b/naiveproxy/src/base/i18n/build_utf8_validator_tables.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + // Create a state machine for validating UTF-8. The algorithm in brief: // 1. Convert the complete unicode range of code points, except for the // surrogate code points, to an ordered array of sequences of bytes in diff --git a/naiveproxy/src/base/i18n/char_iterator.cc b/naiveproxy/src/base/i18n/char_iterator.cc index 3c152990a8..f77d392ea9 100644 --- a/naiveproxy/src/base/i18n/char_iterator.cc +++ b/naiveproxy/src/base/i18n/char_iterator.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/i18n/char_iterator.h" #include diff --git a/naiveproxy/src/base/i18n/file_util_icu.cc b/naiveproxy/src/base/i18n/file_util_icu.cc index fa93163576..8e1c286865 100644 --- a/naiveproxy/src/base/i18n/file_util_icu.cc +++ b/naiveproxy/src/base/i18n/file_util_icu.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + // File utilities that use the ICU library go in this file. #include "base/i18n/file_util_icu.h" diff --git a/naiveproxy/src/base/i18n/icu_mergeable_data_file.cc b/naiveproxy/src/base/i18n/icu_mergeable_data_file.cc index 07b71e4d68..4228fcc8f7 100644 --- a/naiveproxy/src/base/i18n/icu_mergeable_data_file.cc +++ b/naiveproxy/src/base/i18n/icu_mergeable_data_file.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/i18n/icu_mergeable_data_file.h" #include @@ -43,8 +48,7 @@ inline IcuMergeableDataFile::HashType HashPage(const uint8_t* page) { } IcuMergeableDataFile::HashType ReadHash(const uint8_t* data, size_t offset) { - // TODO(crbug/1503551): upgrade to CHECK. - DUMP_WILL_BE_CHECK_EQ(0ul, offset % kHashBytes); + CHECK_EQ(0ul, offset % kHashBytes); IcuMergeableDataFile::HashType hash = 0; for (size_t i = 0; i < kHashBytes; i++) { IcuMergeableDataFile::HashType byte = data[offset + i]; @@ -114,9 +118,8 @@ IcuMergeableDataFile::Hashes::~Hashes() = default; bool IcuMergeableDataFile::Initialize(File lacros_file, MemoryMappedFile::Region region) { - // TODO(crbug/1503551): upgrade to CHECK. - DUMP_WILL_BE_CHECK(region == MemoryMappedFile::Region::kWholeFile); - DUMP_WILL_BE_CHECK(!lacros_file_.IsValid()) + CHECK(region == MemoryMappedFile::Region::kWholeFile); + CHECK(!lacros_file_.IsValid()) << "ICUDataFile::Initialize called twice"; lacros_file_ = std::move(lacros_file); @@ -155,8 +158,7 @@ const uint8_t* IcuMergeableDataFile::data() const { bool IcuMergeableDataFile::MergeWithAshVersion(const FilePath& ash_file_path) { // Verify the assumption that page size is 4K. - // TODO(crbug/1503551): upgrade to CHECK. - DUMP_WILL_BE_CHECK_EQ(sysconf(_SC_PAGESIZE), kPageSize); + CHECK_EQ(sysconf(_SC_PAGESIZE), kPageSize); // Mmap Ash's data file. auto ash_file = MmapAshFile(ash_file_path); @@ -193,8 +195,7 @@ bool IcuMergeableDataFile::MmapLacrosFile(bool remap) { if (remap) { // If `remap` == true, we add the MAP_FIXED option to unmap the // existing map and replace it with the new one in a single operation. - // TODO(crbug/1503551): upgrade to CHECK. - DUMP_WILL_BE_CHECK_NE(lacros_data_, nullptr); + CHECK_NE(lacros_data_, nullptr); lacros_data_ = static_cast( mmap(lacros_data_, lacros_length_, PROT_READ, MAP_FIXED | MAP_PRIVATE, lacros_file_.GetPlatformFile(), 0)); @@ -260,13 +261,7 @@ size_t IcuMergeableDataFile::CountEqualPages( const AshMemoryMappedFile& ash_file, const uint8_t* ash_page, const uint8_t* lacros_page) const { - // TODO(crbug/1478718): Remove once the cause of this crash is identified. if (!ash_page || !lacros_page) { - const uint8_t* debug_ash_page = ash_page; - const uint8_t* debug_lacros_page = lacros_page; - base::debug::Alias(&debug_ash_page); - base::debug::Alias(&debug_lacros_page); - base::debug::DumpWithoutCrashing(); return 0; } @@ -381,9 +376,8 @@ FilePath IcuMergeableDataFile::GetLacrosFilePath() { // We read the content of the symbolic link to find the path of the // file associated with the file descriptor. int64_t path_len = readlink(proc_path.value().c_str(), path, sizeof(path)); - // TODO(crbug/1503551): upgrade to CHECK. - DUMP_WILL_BE_CHECK_NE(path_len, -1); - DUMP_WILL_BE_CHECK_LT(path_len, PATH_MAX); + CHECK_NE(path_len, -1); + CHECK_LT(path_len, PATH_MAX); return FilePath(std::string(path, 0, path_len)); } diff --git a/naiveproxy/src/base/i18n/icu_string_conversions.cc b/naiveproxy/src/base/i18n/icu_string_conversions.cc index a3796d7e9d..95af6cd82c 100644 --- a/naiveproxy/src/base/i18n/icu_string_conversions.cc +++ b/naiveproxy/src/base/i18n/icu_string_conversions.cc @@ -11,6 +11,7 @@ #include #include "base/check.h" +#include "base/containers/heap_array.h" #include "base/notreached.h" #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" @@ -175,17 +176,17 @@ bool CodepageToUTF16(std::string_view encoded, size_t uchar_max_length = encoded.length() + 1; SetUpErrorHandlerForToUChars(on_error, converter, &status); - std::unique_ptr buffer(new char16_t[uchar_max_length]); - int actual_size = ucnv_toUChars( - converter, buffer.get(), static_cast(uchar_max_length), - encoded.data(), static_cast(encoded.length()), &status); + auto buffer = base::HeapArray::Uninit(uchar_max_length); + int actual_size = + ucnv_toUChars(converter, buffer.data(), buffer.size(), encoded.data(), + static_cast(encoded.length()), &status); ucnv_close(converter); if (!U_SUCCESS(status)) { utf16->clear(); // Make sure the output is empty on error. return false; } - utf16->assign(buffer.get(), actual_size); + utf16->assign(buffer.data(), actual_size); return true; } diff --git a/naiveproxy/src/base/i18n/rtl.cc b/naiveproxy/src/base/i18n/rtl.cc index b1abf6f42c..a5e00fa5e7 100644 --- a/naiveproxy/src/base/i18n/rtl.cc +++ b/naiveproxy/src/base/i18n/rtl.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/i18n/rtl.h" #include @@ -203,6 +208,8 @@ TextDirection GetTextDirectionForLocaleInStartUp(const char* locale_name) { if (forced_direction != UNKNOWN_DIRECTION) return forced_direction; + CHECK(locale_name && locale_name[0]); + // This list needs to be updated in alphabetical order if we add more RTL // locales. static const char kRTLLanguageCodes[][3] = {"ar", "fa", "he", "iw", "ur"}; diff --git a/naiveproxy/src/base/i18n/streaming_utf8_validator.cc b/naiveproxy/src/base/i18n/streaming_utf8_validator.cc index 2f4ff73ac4..cf35ec61cf 100644 --- a/naiveproxy/src/base/i18n/streaming_utf8_validator.cc +++ b/naiveproxy/src/base/i18n/streaming_utf8_validator.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + // This implementation doesn't use ICU. The ICU macros are oriented towards // character-at-a-time processing, whereas byte-at-a-time processing is easier // with streaming input. diff --git a/naiveproxy/src/base/i18n/time_formatting.cc b/naiveproxy/src/base/i18n/time_formatting.cc index b5cc9824b3..f76e299660 100644 --- a/naiveproxy/src/base/i18n/time_formatting.cc +++ b/naiveproxy/src/base/i18n/time_formatting.cc @@ -31,7 +31,7 @@ namespace base { namespace { UDate ToUDate(const Time& time) { - // TODO(crbug.com/1392437): Consider using the `...IgnoringNull` variant and + // TODO(crbug.com/40247732): Consider using the `...IgnoringNull` variant and // adding a `CHECK(!time.is_null())`; trying to format a null Time as a string // is almost certainly an indication that the caller has made a mistake. return time.InMillisecondsFSinceUnixEpoch(); @@ -95,7 +95,7 @@ UMeasureFormatWidth DurationWidthToMeasureWidth(DurationFormatWidth width) { case DURATION_WIDTH_NARROW: return UMEASFMT_WIDTH_NARROW; case DURATION_WIDTH_NUMERIC: return UMEASFMT_WIDTH_NUMERIC; } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return UMEASFMT_WIDTH_COUNT; } @@ -106,7 +106,7 @@ const char* DateFormatToString(DateFormat format) { case DATE_FORMAT_MONTH_WEEKDAY_DAY: return UDAT_MONTH_WEEKDAY_DAY; } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return UDAT_YEAR_MONTH_DAY; } diff --git a/naiveproxy/src/base/immediate_crash.h b/naiveproxy/src/base/immediate_crash.h index 9e026900b9..f334dad3b2 100644 --- a/naiveproxy/src/base/immediate_crash.h +++ b/naiveproxy/src/base/immediate_crash.h @@ -66,7 +66,7 @@ extern "C" int __attribute__((weak)) __llvm_profile_write_file(void); #elif defined(ARCH_CPU_X86_FAMILY) -// TODO(https://crbug.com/958675): In theory, it should be possible to use just +// TODO(crbug.com/40625592): In theory, it should be possible to use just // int3. However, there are a number of crashes with SIGILL as the exception // code, so it seems likely that there's a signal handler that allows execution // to continue after SIGTRAP. @@ -86,14 +86,14 @@ extern "C" int __attribute__((weak)) __llvm_profile_write_file(void); // as a 32 bit userspace app on arm64. There doesn't seem to be any way to // cause a SIGTRAP from userspace without using a syscall (which would be a // problem for sandboxing). -// TODO(https://crbug.com/958675): Remove bkpt from this sequence. +// TODO(crbug.com/40625592): Remove bkpt from this sequence. #define TRAP_SEQUENCE1_() asm volatile("bkpt #0") #define TRAP_SEQUENCE2_() asm volatile("udf #0") #elif defined(ARCH_CPU_ARM64) // This will always generate a SIGTRAP on arm64. -// TODO(https://crbug.com/958675): Remove brk from this sequence. +// TODO(crbug.com/40625592): Remove brk from this sequence. #define TRAP_SEQUENCE1_() asm volatile("brk #0") #define TRAP_SEQUENCE2_() asm volatile("hlt #0") diff --git a/naiveproxy/src/base/ios/crb_protocol_observers.mm b/naiveproxy/src/base/ios/crb_protocol_observers.mm index 2eeb561b0f..d6701a99f6 100644 --- a/naiveproxy/src/base/ios/crb_protocol_observers.mm +++ b/naiveproxy/src/base/ios/crb_protocol_observers.mm @@ -85,7 +85,7 @@ id Iterator::GetNext() { } - (id)init { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return nil; } diff --git a/naiveproxy/src/base/ios/device_util.mm b/naiveproxy/src/base/ios/device_util.mm index 8bd38bfe7c..946b527f73 100644 --- a/naiveproxy/src/base/ios/device_util.mm +++ b/naiveproxy/src/base/ios/device_util.mm @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/ios/device_util.h" #include diff --git a/naiveproxy/src/base/ios/ios_util.mm b/naiveproxy/src/base/ios/ios_util.mm index 9570ec8ad0..129e8e9212 100644 --- a/naiveproxy/src/base/ios/ios_util.mm +++ b/naiveproxy/src/base/ios/ios_util.mm @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/ios/ios_util.h" #import diff --git a/naiveproxy/src/base/json/json_file_value_serializer.cc b/naiveproxy/src/base/json/json_file_value_serializer.cc index d7d72c0b9f..8bbdc90b48 100644 --- a/naiveproxy/src/base/json/json_file_value_serializer.cc +++ b/naiveproxy/src/base/json/json_file_value_serializer.cc @@ -87,7 +87,7 @@ const char* JSONFileValueDeserializer::GetErrorMessageForCode(int error_code) { case JSON_NO_SUCH_FILE: return kNoSuchFile; default: - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return ""; } } diff --git a/naiveproxy/src/base/json/json_parser.cc b/naiveproxy/src/base/json/json_parser.cc index 4406549465..9eef2de737 100644 --- a/naiveproxy/src/base/json/json_parser.cc +++ b/naiveproxy/src/base/json/json_parser.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/json/json_parser.h" #include @@ -59,7 +64,7 @@ std::string ErrorCodeToString(JSONParser::JsonParseError error_code) { case JSONParser::JSON_PARSE_ERROR_COUNT: break; } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return std::string(); } @@ -231,10 +236,19 @@ std::string JSONParser::StringBuilder::DestructiveAsString() { // JSONParser private ////////////////////////////////////////////////////////// std::optional JSONParser::PeekChars(size_t count) { - if (index_ + count > input_.length()) + if (count > input_.length() - index_) { return std::nullopt; - // Using StringPiece::substr() is significantly slower (according to - // base_perftests) than constructing a substring manually. + } + // Using string_view::substr() was historically significantly slower + // (according to base_perftests) than constructing a substring manually. + // + // TODO(crbug.com/40284755): Is this still the case? Ideally the bounds check + // performed by substr would be deleted by the optimizer for being redundant + // with the runtime check above. However, to do so, the compiler would need + // to know `index_ <= input_.length()` is a class invariant. If we + // restructured the code so that we only stored the remaining data, that + // would avoid this, but it would prevent rewinding (the places in this file + // which look at `input_[index_ - 1]`.) return std::string_view(input_.data() + index_, count); } diff --git a/naiveproxy/src/base/location.cc b/naiveproxy/src/base/location.cc index b38ec16bea..917460f05a 100644 --- a/naiveproxy/src/base/location.cc +++ b/naiveproxy/src/base/location.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/location.h" #include "base/compiler_specific.h" diff --git a/naiveproxy/src/base/logging.cc b/naiveproxy/src/base/logging.cc index c399875ff0..6ab92bf1d1 100644 --- a/naiveproxy/src/base/logging.cc +++ b/naiveproxy/src/base/logging.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/logging.h" #ifdef BASE_CHECK_H_ @@ -19,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -40,7 +46,7 @@ #include "base/pending_task.h" #include "base/posix/eintr_wrapper.h" #include "base/process/process_handle.h" -#include "base/strings/string_piece.h" +#include "base/scoped_clear_last_error.h" #include "base/strings/string_split.h" #include "base/strings/string_util.h" #include "base/strings/stringprintf.h" @@ -616,9 +622,8 @@ int GetVlogLevelHelper(const char* file, size_t N) { // Note: |g_vlog_info| may change on a different thread during startup // (but will always be valid or nullptr). VlogInfo* vlog_info = GetVlogInfo(); - return vlog_info ? - vlog_info->GetVlogLevel(base::StringPiece(file, N - 1)) : - GetVlogVerbosity(); + return vlog_info ? vlog_info->GetVlogLevel(std::string_view(file, N - 1)) + : GetVlogVerbosity(); } void SetLogItems(bool enable_process_id, bool enable_thread_id, @@ -698,6 +703,9 @@ LogMessage::~LogMessage() { } void LogMessage::Flush() { + // Don't let actions from this method affect the system error after returning. + base::ScopedClearLastError scoped_clear_last_error; + size_t stack_start = stream_.str().length(); #if !defined(OFFICIAL_BUILD) && !BUILDFLAG(IS_NACL) && !defined(__UCLIBC__) && \ !BUILDFLAG(IS_AIX) @@ -872,7 +880,7 @@ void LogMessage::Flush() { // LogMessage() will silently drop the message if the logger is not valid. // Skip the final character of |str_newline|, since LogMessage() will add // a newline. - const auto message = base::StringPiece(str_newline).substr(message_start_); + const auto message = std::string_view(str_newline).substr(message_start_); GetScopedFxLogger().LogMessage(file_, static_cast(line_), message.substr(0, message.size() - 1), LogSeverityToFuchsiaLogSeverity(severity_)); @@ -929,10 +937,14 @@ std::string LogMessage::BuildCrashString() const { // writes the common header info to the stream void LogMessage::Init(const char* file, int line) { - base::StringPiece filename(file); + // Don't let actions from this method affect the system error after returning. + base::ScopedClearLastError scoped_clear_last_error; + + std::string_view filename(file); size_t last_slash_pos = filename.find_last_of("\\/"); - if (last_slash_pos != base::StringPiece::npos) + if (last_slash_pos != std::string_view::npos) { filename.remove_prefix(last_slash_pos + 1); + } #if BUILDFLAG(IS_CHROMEOS) if (g_log_format == LogFormat::LOG_FORMAT_SYSLOG) { @@ -1010,9 +1022,9 @@ void LogMessage::HandleFatal(size_t stack_start, if (log_assert_handler) { log_assert_handler.Run( file_, line_, - base::StringPiece(str_newline.c_str() + message_start_, - stack_start - message_start_), - base::StringPiece(str_newline.c_str() + stack_start)); + std::string_view(str_newline.c_str() + message_start_, + stack_start - message_start_), + std::string_view(str_newline.c_str() + stack_start)); } } else { // Don't use the string with the newline, get a fresh version to send to @@ -1029,7 +1041,7 @@ void LogMessage::HandleFatal(size_t stack_start, #endif // Crash the process to generate a dump. - // TODO(crbug.com/1409729): Move ImmediateCrash() to an absl::Cleanup to + // TODO(crbug.com/40254046): Move ImmediateCrash() to an absl::Cleanup to // make sure it runs unconditionally. Currently LogAssertHandlers can abort // a FATAL message and tests rely on this. HandleFatal() should be // [[noreturn]]. @@ -1092,6 +1104,9 @@ Win32ErrorLogMessage::~Win32ErrorLogMessage() { } void Win32ErrorLogMessage::AppendError() { + // Don't let actions from this method affect the system error after returning. + base::ScopedClearLastError scoped_clear_last_error; + stream() << ": " << SystemErrorCodeToString(err_); // We're about to crash (CHECK). Put |err_| on the stack (by placing it in a // field) and use Alias in hopes that it makes it into crash dumps. @@ -1117,6 +1132,9 @@ ErrnoLogMessage::~ErrnoLogMessage() { } void ErrnoLogMessage::AppendError() { + // Don't let actions from this method affect the system error after returning. + base::ScopedClearLastError scoped_clear_last_error; + stream() << ": " << SystemErrorCodeToString(err_); // We're about to crash (CHECK). Put |err_| on the stack (by placing it in a // field) and use Alias in hopes that it makes it into crash dumps. diff --git a/naiveproxy/src/base/logging.h b/naiveproxy/src/base/logging.h index 2a6d49c294..da0e5d7b9c 100644 --- a/naiveproxy/src/base/logging.h +++ b/naiveproxy/src/base/logging.h @@ -19,8 +19,6 @@ #include "base/files/file_path.h" #include "base/functional/callback_forward.h" #include "base/memory/raw_ptr.h" -#include "base/scoped_clear_last_error.h" -#include "base/strings/string_piece.h" #include "base/strings/utf_ostream_operators.h" #include "build/build_config.h" #include "build/chromeos_buildflags.h" @@ -343,8 +341,8 @@ BASE_EXPORT void SetShowErrorDialogs(bool enable_dialogs); using LogAssertHandlerFunction = base::RepeatingCallback; + std::string_view message, + std::string_view stack_trace)>; class BASE_EXPORT ScopedLogAssertHandler { public: @@ -634,13 +632,8 @@ class BASE_EXPORT LogMessage { const char* const file_; const int line_; - // This is useful since the LogMessage class uses a lot of Win32 calls - // that will lose the value of GLE and the code that called the log function - // will have lost the thread error value when the log call returns. - base::ScopedClearLastError last_error_; - #if BUILDFLAG(IS_CHROMEOS) - void InitWithSyslogPrefix(base::StringPiece filename, + void InitWithSyslogPrefix(std::string_view filename, int line, uint64_t tick_count, const char* log_severity_name_c_str, diff --git a/naiveproxy/src/base/logging_chromeos.cc b/naiveproxy/src/base/logging_chromeos.cc index 3612843de0..27324270f2 100644 --- a/naiveproxy/src/base/logging_chromeos.cc +++ b/naiveproxy/src/base/logging_chromeos.cc @@ -15,9 +15,9 @@ #include #include +#include #include "base/process/process_handle.h" -#include "base/strings/string_piece.h" #include "base/threading/platform_thread.h" namespace logging { @@ -38,7 +38,7 @@ const char* GetProgramName() { // 2020-06-27T23:55:25.094701Z 1234 VERBOSE1 chrome[3816:3877]: // [drm_device_handle.cc(90)] Succeeded authenticating /dev/dri/card0 in 0 ms // with 1 attempt(s) -void LogMessage::InitWithSyslogPrefix(base::StringPiece filename, +void LogMessage::InitWithSyslogPrefix(std::string_view filename, int line, uint64_t tick_count, const char* log_severity_name_c_str, diff --git a/naiveproxy/src/base/logging_win.cc b/naiveproxy/src/base/logging_win.cc index 461277929d..c2d18a9415 100644 --- a/naiveproxy/src/base/logging_win.cc +++ b/naiveproxy/src/base/logging_win.cc @@ -2,9 +2,16 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/logging_win.h" + +#include + #include "base/memory/singleton.h" -#include // NOLINT namespace logging { diff --git a/naiveproxy/src/base/mac/authorization_util.mm b/naiveproxy/src/base/mac/authorization_util.mm index e276960a7a..6c7da8b563 100644 --- a/naiveproxy/src/base/mac/authorization_util.mm +++ b/naiveproxy/src/base/mac/authorization_util.mm @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/mac/authorization_util.h" #import diff --git a/naiveproxy/src/base/mac/mach_port_rendezvous.cc b/naiveproxy/src/base/mac/mach_port_rendezvous.cc index c9e6ad3538..8b578c03b4 100644 --- a/naiveproxy/src/base/mac/mach_port_rendezvous.cc +++ b/naiveproxy/src/base/mac/mach_port_rendezvous.cc @@ -95,8 +95,8 @@ void MachRendezvousPort::Destroy() { right = MACH_PORT_RIGHT_SEND_ONCE; break; default: - NOTREACHED() << "Leaking port name " << name_ << " with disposition " - << disposition_; + NOTREACHED_IN_MIGRATION() << "Leaking port name " << name_ + << " with disposition " << disposition_; return; } kern_return_t kr = mach_port_mod_refs(mach_task_self(), name_, right, -1); diff --git a/naiveproxy/src/base/mac/os_crash_dumps.cc b/naiveproxy/src/base/mac/os_crash_dumps.cc index d529e4549f..23c45c195c 100644 --- a/naiveproxy/src/base/mac/os_crash_dumps.cc +++ b/naiveproxy/src/base/mac/os_crash_dumps.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/mac/os_crash_dumps.h" #include diff --git a/naiveproxy/src/base/mac/test/launch_application_test_helper_main.m b/naiveproxy/src/base/mac/test/launch_application_test_helper_main.m index a43bf1fe11..a30e1c0447 100644 --- a/naiveproxy/src/base/mac/test/launch_application_test_helper_main.m +++ b/naiveproxy/src/base/mac/test/launch_application_test_helper_main.m @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + // This is a helper application for launch_application_unittest.mm. This // application records several events by writing them to a named pipe; // the unit tests then use this information to verify that this helper was diff --git a/naiveproxy/src/base/memory/discardable_memory.cc b/naiveproxy/src/base/memory/discardable_memory.cc index c3167a64bb..8f5c9265be 100644 --- a/naiveproxy/src/base/memory/discardable_memory.cc +++ b/naiveproxy/src/base/memory/discardable_memory.cc @@ -64,7 +64,7 @@ DiscardableMemoryBacking GetBackingForFieldTrial() { case DiscardableMemoryTrialGroup::kMadvFree: return DiscardableMemoryBacking::kMadvFree; } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) diff --git a/naiveproxy/src/base/memory/discardable_shared_memory.cc b/naiveproxy/src/base/memory/discardable_shared_memory.cc index ad51355844..f5d96a5204 100644 --- a/naiveproxy/src/base/memory/discardable_shared_memory.cc +++ b/naiveproxy/src/base/memory/discardable_shared_memory.cc @@ -140,15 +140,11 @@ bool UseAshmemUnpinningForDiscardableMemory() { } // namespace -DiscardableSharedMemory::DiscardableSharedMemory() - : mapped_size_(0), locked_page_count_(0) { -} +DiscardableSharedMemory::DiscardableSharedMemory() = default; DiscardableSharedMemory::DiscardableSharedMemory( UnsafeSharedMemoryRegion shared_memory_region) - : shared_memory_region_(std::move(shared_memory_region)), - mapped_size_(0), - locked_page_count_(0) {} + : shared_memory_region_(std::move(shared_memory_region)) {} DiscardableSharedMemory::~DiscardableSharedMemory() = default; @@ -168,10 +164,8 @@ bool DiscardableSharedMemory::CreateAndMap(size_t size) { if (!shared_memory_mapping_.IsValid()) return false; - mapped_size_ = shared_memory_mapping_.mapped_size() - - AlignToPageSize(sizeof(SharedState)); - - locked_page_count_ = AlignToPageSize(mapped_size_) / base::GetPageSize(); + locked_page_count_ = + AlignToPageSize(mapped_memory().size()) / base::GetPageSize(); #if DCHECK_IS_ON() for (size_t page = 0; page < locked_page_count_; ++page) locked_pages_.insert(page); @@ -195,10 +189,8 @@ bool DiscardableSharedMemory::Map(size_t size) { if (!shared_memory_mapping_.IsValid()) return false; - mapped_size_ = shared_memory_mapping_.mapped_size() - - AlignToPageSize(sizeof(SharedState)); - - locked_page_count_ = AlignToPageSize(mapped_size_) / base::GetPageSize(); + locked_page_count_ = + AlignToPageSize(mapped_memory().size()) / base::GetPageSize(); #if DCHECK_IS_ON() for (size_t page = 0; page < locked_page_count_; ++page) locked_pages_.insert(page); @@ -216,7 +208,6 @@ bool DiscardableSharedMemory::Unmap() { #if DCHECK_IS_ON() locked_pages_.clear(); #endif - mapped_size_ = 0; return true; } @@ -253,12 +244,12 @@ DiscardableSharedMemory::LockResult DiscardableSharedMemory::Lock( // Zero for length means "everything onward". if (!length) - length = AlignToPageSize(mapped_size_) - offset; + length = AlignToPageSize(mapped_memory().size()) - offset; size_t start = offset / base::GetPageSize(); size_t end = start + length / base::GetPageSize(); DCHECK_LE(start, end); - DCHECK_LE(end, AlignToPageSize(mapped_size_) / base::GetPageSize()); + DCHECK_LE(end, AlignToPageSize(mapped_memory().size()) / base::GetPageSize()); // Add pages to |locked_page_count_|. // Note: Locking a page that is already locked is an error. @@ -294,9 +285,8 @@ DiscardableSharedMemory::LockResult DiscardableSharedMemory::Lock( // // For more information, see // https://bugs.chromium.org/p/chromium/issues/detail?id=823915. - madvise(static_cast(shared_memory_mapping_.memory()) + - AlignToPageSize(sizeof(SharedState)), - AlignToPageSize(mapped_size_), MADV_FREE_REUSE); + base::span mapped = mapped_memory(); + madvise(mapped.data(), AlignToPageSize(mapped.size()), MADV_FREE_REUSE); return DiscardableSharedMemory::SUCCESS; #else return DiscardableSharedMemory::SUCCESS; @@ -311,9 +301,9 @@ void DiscardableSharedMemory::Unlock(size_t offset, size_t length) { DFAKE_SCOPED_LOCK(thread_collision_warner_); // Passing zero for |length| means "everything onward". Note that |length| may - // still be zero after this calculation, e.g. if |mapped_size_| is zero. + // still be zero after this calculation, e.g. if the mapped size is zero. if (!length) - length = AlignToPageSize(mapped_size_) - offset; + length = AlignToPageSize(mapped_memory().size()) - offset; DCHECK(shared_memory_mapping_.IsValid()); @@ -324,7 +314,7 @@ void DiscardableSharedMemory::Unlock(size_t offset, size_t length) { size_t start = offset / base::GetPageSize(); size_t end = start + length / base::GetPageSize(); DCHECK_LE(start, end); - DCHECK_LE(end, AlignToPageSize(mapped_size_) / base::GetPageSize()); + DCHECK_LE(end, AlignToPageSize(mapped_memory().size()) / base::GetPageSize()); // Remove pages from |locked_page_count_|. // Note: Unlocking a page that is not locked is an error. @@ -364,9 +354,14 @@ void DiscardableSharedMemory::Unlock(size_t offset, size_t length) { last_known_usage_ = current_time; } -void* DiscardableSharedMemory::memory() const { - return static_cast(shared_memory_mapping_.memory()) + - AlignToPageSize(sizeof(SharedState)); +span DiscardableSharedMemory::memory() const { + return shared_memory_mapping_.GetMemoryAsSpan().subspan( + AlignToPageSize(sizeof(SharedState))); +} + +span DiscardableSharedMemory::mapped_memory() const { + return shared_memory_mapping_.mapped_memory().subspan( + AlignToPageSize(sizeof(SharedState))); } bool DiscardableSharedMemory::Purge(Time current_time) { @@ -415,17 +410,16 @@ bool DiscardableSharedMemory::Purge(Time current_time) { // Advise the kernel to remove resources associated with purged pages. // Subsequent accesses of memory pages will succeed, but might result in // zero-fill-on-demand pages. - if (madvise(static_cast(shared_memory_mapping_.memory()) + - AlignToPageSize(sizeof(SharedState)), - AlignToPageSize(mapped_size_), MADV_PURGE_ARGUMENT)) { + base::span map = mapped_memory(); + if (madvise(map.data(), AlignToPageSize(map.size()), MADV_PURGE_ARGUMENT)) { DPLOG(ERROR) << "madvise() failed"; } #elif BUILDFLAG(IS_WIN) // On Windows, discarded pages are not returned to the system immediately and // not guaranteed to be zeroed when returned to the application. - char* address = static_cast(shared_memory_mapping_.memory()) + - AlignToPageSize(sizeof(SharedState)); - size_t length = AlignToPageSize(mapped_size_); + base::span mapped = mapped_memory(); + uint8_t* address = mapped.data(); + size_t length = AlignToPageSize(mapped.size()); DWORD ret = DiscardVirtualMemory(address, length); // DiscardVirtualMemory is buggy in Win10 SP0, so fall back to MEM_RESET on @@ -437,11 +431,10 @@ bool DiscardableSharedMemory::Purge(Time current_time) { #elif BUILDFLAG(IS_FUCHSIA) // De-commit via our VMAR, rather than relying on the VMO handle, since the // handle may have been closed after the memory was mapped into this process. - uint64_t address_int = reinterpret_cast( - static_cast(shared_memory_mapping_.memory()) + - AlignToPageSize(sizeof(SharedState))); + base::span mapped = mapped_memory(); + uint64_t address_int = reinterpret_cast(mapped.data()); zx_status_t status = zx::vmar::root_self()->op_range( - ZX_VMO_OP_DECOMMIT, address_int, AlignToPageSize(mapped_size_), nullptr, + ZX_VMO_OP_DECOMMIT, address_int, AlignToPageSize(mapped.size()), nullptr, 0); ZX_DCHECK(status == ZX_OK, status) << "zx_vmo_op_range(ZX_VMO_OP_DECOMMIT)"; #endif // BUILDFLAG(IS_FUCHSIA) @@ -450,36 +443,6 @@ bool DiscardableSharedMemory::Purge(Time current_time) { return true; } -void DiscardableSharedMemory::ReleaseMemoryIfPossible(size_t offset, - size_t length) { -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) -// Linux and Android provide MADV_REMOVE which is preferred as it has a -// behavior that can be verified in tests. Other POSIX flavors (MacOSX, BSDs), -// provide MADV_FREE which has the same result but memory is purged lazily. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -#define MADV_PURGE_ARGUMENT MADV_REMOVE -#elif BUILDFLAG(IS_APPLE) -// MADV_FREE_REUSABLE is similar to MADV_FREE, but also marks the pages with the -// reusable bit, which allows both Activity Monitor and memory-infra to -// correctly track the pages. -#define MADV_PURGE_ARGUMENT MADV_FREE_REUSABLE -#else // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -#define MADV_PURGE_ARGUMENT MADV_FREE -#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || - // BUILDFLAG(IS_ANDROID) - // Advise the kernel to remove resources associated with purged pages. - // Subsequent accesses of memory pages will succeed, but might result in - // zero-fill-on-demand pages. - if (madvise(static_cast(shared_memory_mapping_.memory()) + offset, - length, MADV_PURGE_ARGUMENT)) { - DPLOG(ERROR) << "madvise() failed"; - } -#else // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) - partition_alloc::DiscardSystemPages( - static_cast(shared_memory_mapping_.memory()) + offset, length); -#endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) -} - bool DiscardableSharedMemory::IsMemoryResident() const { DCHECK(shared_memory_mapping_.IsValid()); diff --git a/naiveproxy/src/base/memory/discardable_shared_memory.h b/naiveproxy/src/base/memory/discardable_shared_memory.h index 73ae10b311..8006deb78a 100644 --- a/naiveproxy/src/base/memory/discardable_shared_memory.h +++ b/naiveproxy/src/base/memory/discardable_shared_memory.h @@ -8,6 +8,7 @@ #include #include "base/base_export.h" +#include "base/containers/span.h" #include "base/dcheck_is_on.h" #include "base/memory/shared_memory_mapping.h" #include "base/memory/unsafe_shared_memory_region.h" @@ -71,8 +72,15 @@ class BASE_EXPORT DiscardableSharedMemory { // not mapped. bool Unmap(); - // The actual size of the mapped memory (may be larger than requested). - size_t mapped_size() const { return mapped_size_; } + // The actual size of the mapped memory (may be larger than requested). It is + // 0 when the memory has not been mapped via `Map()`. + size_t mapped_size() const { + if (shared_memory_mapping_.IsValid()) { + return mapped_memory().size(); + } else { + return 0u; + } + } // Returns a duplicated shared memory region for this DiscardableSharedMemory // object. @@ -109,22 +117,20 @@ class BASE_EXPORT DiscardableSharedMemory { // Passing 0 for |length| means "everything onward". void Unlock(size_t offset, size_t length); - // Gets a pointer to the opened discardable memory space. Discardable memory + // Gets a span over the opened discardable memory space. Discardable memory // must have been mapped via Map(). - void* memory() const; + // + // This gives the logical memory region, matching the size of what was + // requested. The actual mapped memory may be larger due to system alignment + // requirements. See `SharedMemoryMapping::size()` vs + // `SharedMemoryMapping::mapped_size()`. + span memory() const; // Returns the last known usage time for DiscardableSharedMemory object. This // may be earlier than the "true" usage time when memory has been used by a // different process. Returns NULL time if purged. Time last_known_usage() const { return last_known_usage_; } - // Releases any allocated pages in the specified range, if supported by the - // platform. Address space in the specified range continues to be reserved. - // The memory is not guaranteed to be released immediately. - // |offset| and |length| are both in bytes. |offset| and |length| must both be - // page aligned. - void ReleaseMemoryIfPossible(size_t offset, size_t length); - // This returns true and sets |last_known_usage_| to 0 if // DiscardableSharedMemory object was successfully purged. Purging can fail // for two reasons; object might be locked or our last known usage timestamp @@ -166,6 +172,12 @@ class BASE_EXPORT DiscardableSharedMemory { #endif private: + // Returns the full mapped memory region after the internal bookkeeping + // header. This may be larger than the region exposed through `memory()` due + // to platform alignment requirements. Discardable memory must have been + // mapped via Map(). + span mapped_memory() const; + // LockPages/UnlockPages are platform-native discardable page management // helper functions. Both expect |offset| to be specified relative to the // base address at which |memory| is mapped, and that |offset| and |length| @@ -184,8 +196,7 @@ class BASE_EXPORT DiscardableSharedMemory { UnsafeSharedMemoryRegion shared_memory_region_; WritableSharedMemoryMapping shared_memory_mapping_; - size_t mapped_size_; - size_t locked_page_count_; + size_t locked_page_count_ = 0u; #if DCHECK_IS_ON() std::set locked_pages_; #endif diff --git a/naiveproxy/src/base/memory/madv_free_discardable_memory_posix.cc b/naiveproxy/src/base/memory/madv_free_discardable_memory_posix.cc index a72aee6cff..a65a70a749 100644 --- a/naiveproxy/src/base/memory/madv_free_discardable_memory_posix.cc +++ b/naiveproxy/src/base/memory/madv_free_discardable_memory_posix.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/memory/madv_free_discardable_memory_posix.h" #include @@ -288,7 +293,7 @@ MadvFreeDiscardableMemoryPosix::CreateMemoryAllocatorDump( pmd->AddSuballocation(dump->guid(), allocator_dump_name); return dump; #else // BUILDFLAG(ENABLE_BASE_TRACING) - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return nullptr; #endif // BUILDFLAG(ENABLE_BASE_TRACING) } diff --git a/naiveproxy/src/base/memory/memory_pressure_listener.cc b/naiveproxy/src/base/memory/memory_pressure_listener.cc index 0df91b0fa1..a3e77033d5 100644 --- a/naiveproxy/src/base/memory/memory_pressure_listener.cc +++ b/naiveproxy/src/base/memory/memory_pressure_listener.cc @@ -27,7 +27,7 @@ class MemoryPressureObserver { ~MemoryPressureObserver() = delete; void AddObserver(MemoryPressureListener* listener, bool sync) { - // TODO(crbug.com/1063868): DCHECK instead of silently failing when a + // TODO(crbug.com/40123466): DCHECK instead of silently failing when a // MemoryPressureListener is created in a non-sequenced context. Tests will // need to be adjusted for that to work. if (SequencedTaskRunner::HasCurrentDefault()) { diff --git a/naiveproxy/src/base/memory/nonscannable_memory.cc b/naiveproxy/src/base/memory/nonscannable_memory.cc index 5a0c3ed6b1..5fc81e6d76 100644 --- a/naiveproxy/src/base/memory/nonscannable_memory.cc +++ b/naiveproxy/src/base/memory/nonscannable_memory.cc @@ -6,7 +6,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) #include "partition_alloc/shim/nonscannable_allocator.h" #else #include @@ -15,7 +15,7 @@ namespace base { void* AllocNonScannable(size_t size) { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) return allocator_shim::NonScannableAllocator::Instance().Alloc(size); #else return ::malloc(size); @@ -23,7 +23,7 @@ void* AllocNonScannable(size_t size) { } void FreeNonScannable(void* ptr) { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) allocator_shim::NonScannableAllocator::Instance().Free(ptr); #else return ::free(ptr); @@ -31,7 +31,7 @@ void FreeNonScannable(void* ptr) { } void* AllocNonQuarantinable(size_t size) { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) return allocator_shim::NonQuarantinableAllocator::Instance().Alloc(size); #else return ::malloc(size); @@ -39,7 +39,7 @@ void* AllocNonQuarantinable(size_t size) { } void FreeNonQuarantinable(void* ptr) { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) allocator_shim::NonQuarantinableAllocator::Instance().Free(ptr); #else return ::free(ptr); diff --git a/naiveproxy/src/base/memory/platform_shared_memory_mapper_android.cc b/naiveproxy/src/base/memory/platform_shared_memory_mapper_android.cc index 3e5370f219..c1cf53e477 100644 --- a/naiveproxy/src/base/memory/platform_shared_memory_mapper_android.cc +++ b/naiveproxy/src/base/memory/platform_shared_memory_mapper_android.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/memory/platform_shared_memory_mapper.h" #include "base/logging.h" diff --git a/naiveproxy/src/base/memory/platform_shared_memory_mapper_apple.cc b/naiveproxy/src/base/memory/platform_shared_memory_mapper_apple.cc index 39dafe61d5..1400d070de 100644 --- a/naiveproxy/src/base/memory/platform_shared_memory_mapper_apple.cc +++ b/naiveproxy/src/base/memory/platform_shared_memory_mapper_apple.cc @@ -4,10 +4,11 @@ #include "base/memory/platform_shared_memory_mapper.h" -#include "base/logging.h" - #include + #include "base/apple/mach_logging.h" +#include "base/containers/span.h" +#include "base/logging.h" namespace base { @@ -32,7 +33,10 @@ std::optional> PlatformSharedMemoryMapper::Map( return std::nullopt; } - return make_span(reinterpret_cast(address), size); + // SAFETY: vm_map() maps a memory segment of `size` bytes. Since + // `VM_FLAGS_ANYWHERE` is used, the address will be chosen by vm_map() and + // returned in `address`. + return UNSAFE_BUFFERS(base::span(reinterpret_cast(address), size)); } void PlatformSharedMemoryMapper::Unmap(span mapping) { diff --git a/naiveproxy/src/base/memory/platform_shared_memory_mapper_fuchsia.cc b/naiveproxy/src/base/memory/platform_shared_memory_mapper_fuchsia.cc index 8925593e0c..db6bd7cd39 100644 --- a/naiveproxy/src/base/memory/platform_shared_memory_mapper_fuchsia.cc +++ b/naiveproxy/src/base/memory/platform_shared_memory_mapper_fuchsia.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/memory/platform_shared_memory_mapper.h" #include "base/logging.h" diff --git a/naiveproxy/src/base/memory/platform_shared_memory_mapper_posix.cc b/naiveproxy/src/base/memory/platform_shared_memory_mapper_posix.cc index a4a2a8e2e8..192f5d17aa 100644 --- a/naiveproxy/src/base/memory/platform_shared_memory_mapper_posix.cc +++ b/naiveproxy/src/base/memory/platform_shared_memory_mapper_posix.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/memory/platform_shared_memory_mapper.h" #include "base/logging.h" diff --git a/naiveproxy/src/base/memory/platform_shared_memory_mapper_win.cc b/naiveproxy/src/base/memory/platform_shared_memory_mapper_win.cc index 6e70d44b49..eef28adb9a 100644 --- a/naiveproxy/src/base/memory/platform_shared_memory_mapper_win.cc +++ b/naiveproxy/src/base/memory/platform_shared_memory_mapper_win.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/memory/platform_shared_memory_mapper.h" #include "base/logging.h" diff --git a/naiveproxy/src/base/memory/platform_shared_memory_region.h b/naiveproxy/src/base/memory/platform_shared_memory_region.h index 191af0eba7..ba8e812019 100644 --- a/naiveproxy/src/base/memory/platform_shared_memory_region.h +++ b/naiveproxy/src/base/memory/platform_shared_memory_region.h @@ -95,7 +95,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion { // // This is only used to support sandbox_ipc_linux.cc, and should not be used // anywhere else in chrome. This is restricted via AllowCreateExecutable. - // TODO(crbug.com/982879): remove this when NaCl is unshipped. + // TODO(crbug.com/41470149): remove this when NaCl is unshipped. // // Returns an invalid ScopedFD if the call fails. static ScopedFD CreateFD(size_t size); diff --git a/naiveproxy/src/base/memory/platform_shared_memory_region_android.cc b/naiveproxy/src/base/memory/platform_shared_memory_region_android.cc index 1b68a244f3..76f064aa7b 100644 --- a/naiveproxy/src/base/memory/platform_shared_memory_region_android.cc +++ b/naiveproxy/src/base/memory/platform_shared_memory_region_android.cc @@ -27,7 +27,7 @@ namespace { int GetAshmemRegionProtectionMask(int fd) { int prot = ashmem_get_prot_region(fd); if (prot < 0) { - // TODO(crbug.com/838365): convert to DLOG when bug fixed. + // TODO(crbug.com/40574272): convert to DLOG when bug fixed. PLOG(ERROR) << "ashmem_get_prot_region failed"; return -1; } @@ -165,7 +165,7 @@ bool PlatformSharedMemoryRegion::CheckPlatformHandlePermissionsCorrespondToMode( bool expected_read_only = mode == Mode::kReadOnly; if (is_read_only != expected_read_only) { - // TODO(crbug.com/838365): convert to DLOG when bug fixed. + // TODO(crbug.com/40574272): convert to DLOG when bug fixed. LOG(ERROR) << "Ashmem region has a wrong protection mask: it is" << (is_read_only ? " " : " not ") << "read-only but it should" << (expected_read_only ? " " : " not ") << "be"; diff --git a/naiveproxy/src/base/memory/platform_shared_memory_region_apple.cc b/naiveproxy/src/base/memory/platform_shared_memory_region_apple.cc index 1699d1ecca..3bd054aa97 100644 --- a/naiveproxy/src/base/memory/platform_shared_memory_region_apple.cc +++ b/naiveproxy/src/base/memory/platform_shared_memory_region_apple.cc @@ -167,7 +167,7 @@ bool PlatformSharedMemoryRegion::CheckPlatformHandlePermissionsCorrespondToMode( if (kr == KERN_SUCCESS) { kern_return_t kr_deallocate = vm_deallocate(mach_task_self(), temp_addr, size); - // TODO(https://crbug.com/838365): convert to DLOG when bug fixed. + // TODO(crbug.com/40574272): convert to DLOG when bug fixed. MACH_LOG_IF(ERROR, kr_deallocate != KERN_SUCCESS, kr_deallocate) << "vm_deallocate"; } else if (kr != KERN_INVALID_RIGHT) { @@ -179,7 +179,7 @@ bool PlatformSharedMemoryRegion::CheckPlatformHandlePermissionsCorrespondToMode( bool expected_read_only = mode == Mode::kReadOnly; if (is_read_only != expected_read_only) { - // TODO(https://crbug.com/838365): convert to DLOG when bug fixed. + // TODO(crbug.com/40574272): convert to DLOG when bug fixed. LOG(ERROR) << "VM region has a wrong protection mask: it is" << (is_read_only ? " " : " not ") << "read-only but it should" << (expected_read_only ? " " : " not ") << "be"; diff --git a/naiveproxy/src/base/memory/platform_shared_memory_region_fuchsia.cc b/naiveproxy/src/base/memory/platform_shared_memory_region_fuchsia.cc index 17a25c184a..2aeac15abc 100644 --- a/naiveproxy/src/base/memory/platform_shared_memory_region_fuchsia.cc +++ b/naiveproxy/src/base/memory/platform_shared_memory_region_fuchsia.cc @@ -118,7 +118,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Create(Mode mode, return {}; } - // TODO(crbug.com/991805): Take base::Location from the caller and use it to + // TODO(crbug.com/40639453): Take base::Location from the caller and use it to // generate the name here. constexpr char kVmoName[] = "cr-shared-memory-region"; status = vmo.set_property(ZX_PROP_NAME, kVmoName, strlen(kVmoName)); @@ -146,7 +146,7 @@ bool PlatformSharedMemoryRegion::CheckPlatformHandlePermissionsCorrespondToMode( ZX_CHECK(status == ZX_OK, status) << "zx_object_get_info"; if (basic.type != ZX_OBJ_TYPE_VMO) { - // TODO(crbug.com/838365): convert to DLOG when bug fixed. + // TODO(crbug.com/40574272): convert to DLOG when bug fixed. LOG(ERROR) << "Received zircon handle is not a VMO"; return false; } @@ -155,7 +155,7 @@ bool PlatformSharedMemoryRegion::CheckPlatformHandlePermissionsCorrespondToMode( bool expected_read_only = mode == Mode::kReadOnly; if (is_read_only != expected_read_only) { - // TODO(crbug.com/838365): convert to DLOG when bug fixed. + // TODO(crbug.com/40574272): convert to DLOG when bug fixed. LOG(ERROR) << "VMO object has wrong access rights: it is" << (is_read_only ? " " : " not ") << "read-only but it should" << (expected_read_only ? " " : " not ") << "be"; diff --git a/naiveproxy/src/base/memory/platform_shared_memory_region_posix.cc b/naiveproxy/src/base/memory/platform_shared_memory_region_posix.cc index f1d82cd28a..c2913a5c7f 100644 --- a/naiveproxy/src/base/memory/platform_shared_memory_region_posix.cc +++ b/naiveproxy/src/base/memory/platform_shared_memory_region_posix.cc @@ -36,14 +36,14 @@ using ScopedPathUnlinker = bool CheckFDAccessMode(int fd, int expected_mode) { int fd_status = fcntl(fd, F_GETFL); if (fd_status == -1) { - // TODO(crbug.com/838365): convert to DLOG when bug fixed. + // TODO(crbug.com/40574272): convert to DLOG when bug fixed. PLOG(ERROR) << "fcntl(" << fd << ", F_GETFL) failed"; return false; } int mode = fd_status & O_ACCMODE; if (mode != expected_mode) { - // TODO(crbug.com/838365): convert to DLOG when bug fixed. + // TODO(crbug.com/40574272): convert to DLOG when bug fixed. LOG(ERROR) << "Descriptor access mode (" << mode << ") differs from expected (" << expected_mode << ")"; return false; @@ -283,7 +283,7 @@ bool PlatformSharedMemoryRegion::CheckPlatformHandlePermissionsCorrespondToMode( // The second descriptor must be invalid in kReadOnly and kUnsafe modes. if (handle.readonly_fd != -1) { - // TODO(crbug.com/838365): convert to DLOG when bug fixed. + // TODO(crbug.com/40574272): convert to DLOG when bug fixed. LOG(ERROR) << "The second descriptor must be invalid"; return false; } diff --git a/naiveproxy/src/base/memory/platform_shared_memory_region_win.cc b/naiveproxy/src/base/memory/platform_shared_memory_region_win.cc index 9a126e096b..7a3d851063 100644 --- a/naiveproxy/src/base/memory/platform_shared_memory_region_win.cc +++ b/naiveproxy/src/base/memory/platform_shared_memory_region_win.cc @@ -180,7 +180,7 @@ bool PlatformSharedMemoryRegion::ConvertToUnsafe() { // static PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Create(Mode mode, size_t size) { - // TODO(crbug.com/210609): NaCl forces us to round up 64k here, wasting 32k + // TODO(crbug.com/40307662): NaCl forces us to round up 64k here, wasting 32k // per mapping on average. static const size_t kSectionSize = 65536; if (size == 0) { diff --git a/naiveproxy/src/base/memory/protected_memory.h b/naiveproxy/src/base/memory/protected_memory.h index be79e9e773..710f6c8179 100644 --- a/naiveproxy/src/base/memory/protected_memory.h +++ b/naiveproxy/src/base/memory/protected_memory.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + // Protected memory is memory holding security-sensitive data intended to be // left read-only for the majority of its lifetime to avoid being overwritten // by attackers. ProtectedMemory is a simple wrapper around platform-specific diff --git a/naiveproxy/src/base/memory/raw_ptr.h b/naiveproxy/src/base/memory/raw_ptr.h index 9789f91f90..dd9123fb9a 100644 --- a/naiveproxy/src/base/memory/raw_ptr.h +++ b/naiveproxy/src/base/memory/raw_ptr.h @@ -5,8 +5,6 @@ #ifndef BASE_MEMORY_RAW_PTR_H_ #define BASE_MEMORY_RAW_PTR_H_ -#include "base/compiler_specific.h" - // Although `raw_ptr` is part of the standalone PA distribution, it is // easier to use the shorter path in `//base/memory`. We retain this // facade header for ease of typing. diff --git a/naiveproxy/src/base/memory/raw_ptr.md b/naiveproxy/src/base/memory/raw_ptr.md index 5bf062e7cf..c600dde2f8 100644 --- a/naiveproxy/src/base/memory/raw_ptr.md +++ b/naiveproxy/src/base/memory/raw_ptr.md @@ -38,8 +38,8 @@ with questions or concerns. `raw_ptr` is a non-owning smart pointer that has improved memory-safety over raw pointers. It behaves just like a raw pointer on platforms where -ENABLE_BACKUP_REF_PTR_SUPPORT is off, and almost like one when it's on. The main -difference is that when ENABLE_BACKUP_REF_PTR_SUPPORT is enabled, `raw_ptr` +USE_RAW_PTR_BACKUP_REF_IMPL is off, and almost like one when it's on. The main +difference is that when USE_RAW_PTR_BACKUP_REF_IMPL is enabled, `raw_ptr` is beneficial for security, because it can prevent a significant percentage of Use-after-Free (UaF) bugs from being exploitable. It achieves this by quarantining the freed memory as long as any dangling `raw_ptr` pointing to @@ -144,7 +144,7 @@ below. ### Performance impact of using |raw_ptr<T>| instead of |T\*| -Compared to a raw C++ pointer, on platforms where ENABLE_BACKUP_REF_PTR_SUPPORT +Compared to a raw C++ pointer, on platforms where USE_RAW_PTR_BACKUP_REF_IMPL is on, `raw_ptr` incurs additional runtime overhead for initialization, destruction, and assignment (including `ptr++`, `ptr += ...`, etc.). @@ -169,7 +169,7 @@ below.) Some additional overhead comes from setting `raw_ptr` to `nullptr` when default-constructed, destructed, or moved. (Yes, we said above to not rely on it, but to be precise this will always happen when -ENABLE_BACKUP_REF_PTR_SUPPORT is on; no guarantees otherwise.) +USE_RAW_PTR_BACKUP_REF_IMPL is on; no guarantees otherwise.) During [the "Big Rewrite"](https://groups.google.com/a/chromium.org/g/chromium-dev/c/vAEeVifyf78/m/SkBUc6PhBAAJ) diff --git a/naiveproxy/src/base/memory/raw_ptr_asan_bound_arg_tracker.cc b/naiveproxy/src/base/memory/raw_ptr_asan_bound_arg_tracker.cc index 3b149715ce..6dceff4b17 100644 --- a/naiveproxy/src/base/memory/raw_ptr_asan_bound_arg_tracker.cc +++ b/naiveproxy/src/base/memory/raw_ptr_asan_bound_arg_tracker.cc @@ -6,7 +6,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#if PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) #include #include @@ -67,4 +67,4 @@ void RawPtrAsanBoundArgTracker::Add(uintptr_t ptr) { } // namespace base -#endif // BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#endif // PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) diff --git a/naiveproxy/src/base/memory/raw_ptr_asan_bound_arg_tracker.h b/naiveproxy/src/base/memory/raw_ptr_asan_bound_arg_tracker.h index 5d720e576d..17c8aaf207 100644 --- a/naiveproxy/src/base/memory/raw_ptr_asan_bound_arg_tracker.h +++ b/naiveproxy/src/base/memory/raw_ptr_asan_bound_arg_tracker.h @@ -7,7 +7,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#if PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) #include #include #include @@ -119,5 +119,5 @@ class BASE_EXPORT RawPtrAsanBoundArgTracker { } // namespace base -#endif // BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#endif // PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) #endif // BASE_MEMORY_RAW_PTR_ASAN_BOUND_ARG_TRACKER_H_ diff --git a/naiveproxy/src/base/memory/raw_ptr_asan_hooks.cc b/naiveproxy/src/base/memory/raw_ptr_asan_hooks.cc index 4cda382148..06c717834b 100644 --- a/naiveproxy/src/base/memory/raw_ptr_asan_hooks.cc +++ b/naiveproxy/src/base/memory/raw_ptr_asan_hooks.cc @@ -4,7 +4,7 @@ #include "base/memory/raw_ptr_asan_hooks.h" -#if BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#if PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) #include @@ -125,4 +125,4 @@ const RawPtrHooks* GetRawPtrAsanHooks() { } // namespace base::internal -#endif // BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#endif // PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) diff --git a/naiveproxy/src/base/memory/raw_ptr_asan_hooks.h b/naiveproxy/src/base/memory/raw_ptr_asan_hooks.h index 6e1e31bd36..052c1f7374 100644 --- a/naiveproxy/src/base/memory/raw_ptr_asan_hooks.h +++ b/naiveproxy/src/base/memory/raw_ptr_asan_hooks.h @@ -7,7 +7,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#if PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) #include "base/memory/raw_ptr.h" @@ -17,6 +17,6 @@ const RawPtrHooks* GetRawPtrAsanHooks(); } -#endif // BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#endif // PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) #endif // BASE_MEMORY_RAW_PTR_ASAN_HOOKS_H_ diff --git a/naiveproxy/src/base/memory/raw_ptr_asan_service.cc b/naiveproxy/src/base/memory/raw_ptr_asan_service.cc index 194c9c6be4..c50deae131 100644 --- a/naiveproxy/src/base/memory/raw_ptr_asan_service.cc +++ b/naiveproxy/src/base/memory/raw_ptr_asan_service.cc @@ -2,9 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/memory/raw_ptr_asan_service.h" -#if BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#if PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) #include #include @@ -363,4 +368,4 @@ void RawPtrAsanService::CrashOnDanglingInstantiation( } // namespace base -#endif // BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#endif // PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) diff --git a/naiveproxy/src/base/memory/raw_ptr_asan_service.h b/naiveproxy/src/base/memory/raw_ptr_asan_service.h index 3e4eaa828d..224c877eca 100644 --- a/naiveproxy/src/base/memory/raw_ptr_asan_service.h +++ b/naiveproxy/src/base/memory/raw_ptr_asan_service.h @@ -7,7 +7,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#if PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) #include #include @@ -97,5 +97,5 @@ class BASE_EXPORT RawPtrAsanService { } // namespace base -#endif // BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) +#endif // PA_BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) #endif // BASE_MEMORY_RAW_PTR_ASAN_SERVICE_H_ diff --git a/naiveproxy/src/base/memory/raw_ref.h b/naiveproxy/src/base/memory/raw_ref.h index 62184f9ab8..e557a26c11 100644 --- a/naiveproxy/src/base/memory/raw_ref.h +++ b/naiveproxy/src/base/memory/raw_ref.h @@ -5,8 +5,6 @@ #ifndef BASE_MEMORY_RAW_REF_H_ #define BASE_MEMORY_RAW_REF_H_ -#include "base/compiler_specific.h" - // Although `raw_ref` is part of the standalone PA distribution, it is // easier to use the shorter path in `//base/memory`. We retain this // facade header for ease of typing. diff --git a/naiveproxy/src/base/memory/raw_scoped_refptr_mismatch_checker.h b/naiveproxy/src/base/memory/raw_scoped_refptr_mismatch_checker.h index ab1f813810..c06bb778c2 100644 --- a/naiveproxy/src/base/memory/raw_scoped_refptr_mismatch_checker.h +++ b/naiveproxy/src/base/memory/raw_scoped_refptr_mismatch_checker.h @@ -9,7 +9,6 @@ #include "base/memory/raw_ptr.h" #include "base/memory/raw_ref.h" -#include "base/template_util.h" // It is dangerous to post a task with a T* argument where T is a subtype of // RefCounted(Base|ThreadSafeBase), since by the time the parameter is used, the diff --git a/naiveproxy/src/base/memory/ref_counted.h b/naiveproxy/src/base/memory/ref_counted.h index d6667292bb..45bdab4319 100644 --- a/naiveproxy/src/base/memory/ref_counted.h +++ b/naiveproxy/src/base/memory/ref_counted.h @@ -18,7 +18,6 @@ #include "base/dcheck_is_on.h" #include "base/memory/scoped_refptr.h" #include "base/sequence_checker.h" -#include "base/template_util.h" #include "base/threading/thread_collision_warner.h" #include "build/build_config.h" #include "third_party/abseil-cpp/absl/utility/utility.h" diff --git a/naiveproxy/src/base/memory/ref_counted_memory.cc b/naiveproxy/src/base/memory/ref_counted_memory.cc index b43e509199..3ca8854a57 100644 --- a/naiveproxy/src/base/memory/ref_counted_memory.cc +++ b/naiveproxy/src/base/memory/ref_counted_memory.cc @@ -13,100 +13,76 @@ namespace base { bool RefCountedMemory::Equals( const scoped_refptr& other) const { - return other.get() && size() == other->size() && - (size() == 0 || (memcmp(front(), other->front(), size()) == 0)); + return other && AsSpan() == other->AsSpan(); } RefCountedMemory::RefCountedMemory() = default; - RefCountedMemory::~RefCountedMemory() = default; -const unsigned char* RefCountedStaticMemory::front() const { - return data_; -} - -size_t RefCountedStaticMemory::size() const { - return length_; -} - +RefCountedStaticMemory::RefCountedStaticMemory() = default; RefCountedStaticMemory::~RefCountedStaticMemory() = default; +RefCountedStaticMemory::RefCountedStaticMemory(base::span bytes) + : bytes_(bytes) {} + +base::span RefCountedStaticMemory::AsSpan() const { + return bytes_; +} + RefCountedBytes::RefCountedBytes() = default; +RefCountedBytes::~RefCountedBytes() = default; -RefCountedBytes::RefCountedBytes(const std::vector& initializer) - : data_(initializer) {} +RefCountedBytes::RefCountedBytes(std::vector initializer) + : bytes_(std::move(initializer)) {} -RefCountedBytes::RefCountedBytes(base::span initializer) - : data_(initializer.begin(), initializer.end()) {} +RefCountedBytes::RefCountedBytes(base::span initializer) + : bytes_(initializer.begin(), initializer.end()) {} -RefCountedBytes::RefCountedBytes(const unsigned char* p, size_t size) - : data_(p, p + size) {} +RefCountedBytes::RefCountedBytes(const uint8_t* p, size_t size) + : bytes_(p, p + size) {} -RefCountedBytes::RefCountedBytes(size_t size) : data_(size, 0) {} +RefCountedBytes::RefCountedBytes(size_t size) : bytes_(size, 0u) {} scoped_refptr RefCountedBytes::TakeVector( - std::vector* to_destroy) { + std::vector* to_destroy) { auto bytes = MakeRefCounted(); - bytes->data_.swap(*to_destroy); + bytes->bytes_.swap(*to_destroy); return bytes; } -const unsigned char* RefCountedBytes::front() const { - // STL will assert if we do front() on an empty vector, but calling code - // expects a NULL. - return size() ? &data_.front() : nullptr; +base::span RefCountedBytes::AsSpan() const { + return bytes_; } -size_t RefCountedBytes::size() const { - return data_.size(); -} - -RefCountedBytes::~RefCountedBytes() = default; - RefCountedString::RefCountedString() = default; - RefCountedString::~RefCountedString() = default; -RefCountedString::RefCountedString(std::string str) : data_(std::move(str)) {} +RefCountedString::RefCountedString(std::string str) : string_(std::move(str)) {} -const unsigned char* RefCountedString::front() const { - return data_.empty() ? nullptr - : reinterpret_cast(data_.data()); -} - -size_t RefCountedString::size() const { - return data_.size(); +base::span RefCountedString::AsSpan() const { + return base::as_byte_span(string_); } RefCountedString16::RefCountedString16() = default; - RefCountedString16::~RefCountedString16() = default; RefCountedString16::RefCountedString16(std::u16string str) - : data_(std::move(str)) {} + : string_(std::move(str)) {} -const unsigned char* RefCountedString16::front() const { - return reinterpret_cast(data_.data()); -} - -size_t RefCountedString16::size() const { - return data_.size() * sizeof(char16_t); +base::span RefCountedString16::AsSpan() const { + return base::as_byte_span(string_); } RefCountedSharedMemoryMapping::RefCountedSharedMemoryMapping( ReadOnlySharedMemoryMapping mapping) - : mapping_(std::move(mapping)), size_(mapping_.size()) { - DCHECK_GT(size_, 0U); + : mapping_(std::move(mapping)) { + DCHECK_GT(mapping_.size(), 0u); } RefCountedSharedMemoryMapping::~RefCountedSharedMemoryMapping() = default; -const unsigned char* RefCountedSharedMemoryMapping::front() const { - return static_cast(mapping_.memory()); -} - -size_t RefCountedSharedMemoryMapping::size() const { - return size_; +base::span RefCountedSharedMemoryMapping::AsSpan() const { + return mapping_.GetMemoryAsSpan(); } // static diff --git a/naiveproxy/src/base/memory/ref_counted_memory.h b/naiveproxy/src/base/memory/ref_counted_memory.h index 8705d9d2e7..f388c464b5 100644 --- a/naiveproxy/src/base/memory/ref_counted_memory.h +++ b/naiveproxy/src/base/memory/ref_counted_memory.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_MEMORY_REF_COUNTED_MEMORY_H_ #define BASE_MEMORY_REF_COUNTED_MEMORY_H_ @@ -12,6 +17,7 @@ #include #include "base/base_export.h" +#include "base/compiler_specific.h" #include "base/containers/span.h" #include "base/memory/ref_counted.h" #include "base/memory/shared_memory_mapping.h" @@ -23,56 +29,76 @@ class ReadOnlySharedMemoryRegion; // A generic interface to memory. This object is reference counted because most // of its subclasses own the data they carry, and this interface needs to // support heterogeneous containers of these different types of memory. +// +// The RefCountedMemory class provides a const view of the data it holds, as it +// does not require all subclassing implementations to hold mutable data. If a +// mutable view is required, the code must maintain awareness of the subclass +// type, and can access it through there, such as: +// - RefCountedBytes provides `as_vector()` to give mutable access to its data. +// - RefCountedString provides `as_string()` to give mutable access to its data. class BASE_EXPORT RefCountedMemory : public RefCountedThreadSafe { public: - // Retrieves a pointer to the beginning of the data we point to. If the data - // is empty, this will return NULL. - virtual const unsigned char* front() const = 0; - - // Size of the memory pointed to. - virtual size_t size() const = 0; - - // Returns true if |other| is byte for byte equal. + // Returns true if `other` is byte for byte equal. bool Equals(const scoped_refptr& other) const; - // Handy method to simplify calling front() with a reinterpret_cast. - template const T* front_as() const { - return reinterpret_cast(front()); + // Allow explicit conversion to `base::span`. Use a span to + // access the data in a safe way, rather than calling `data()` explicitly. + // + // Example: + // ``` + // auto data = base::MakeRefCounted( + // std::vector{1, 2, 3}); + // base::span v = base::span(data); + // v[2] = uint8_t{4}; + // ``` + const uint8_t* data() const LIFETIME_BOUND { return AsSpan().data(); } + size_t size() const { return AsSpan().size(); } + + using iterator = base::span::iterator; + iterator begin() const LIFETIME_BOUND { return AsSpan().begin(); } + iterator end() const LIFETIME_BOUND { return AsSpan().end(); } + + // TODO(danakj): Remove all callers and remove this. + const uint8_t* front() const LIFETIME_BOUND { return AsSpan().data(); } + + // The data/size members (or begin/end) give conversion to span already, but + // we provide this operator as an optimization to combine two virtual method + // calls into one. + explicit operator base::span() const LIFETIME_BOUND { + return AsSpan(); } - const unsigned char* data() const { return front(); } - - const unsigned char* begin() const { return data(); } - const unsigned char* end() const { return data() + size(); } - protected: friend class RefCountedThreadSafe; RefCountedMemory(); virtual ~RefCountedMemory(); + + virtual base::span AsSpan() const LIFETIME_BOUND = 0; }; -// An implementation of RefCountedMemory, where the ref counting does not -// matter. +// An implementation of RefCountedMemory, for pointing to memory with a static +// lifetime. Since the memory exists for the life of the program, the class can +// not and does not need to take ownership of it. class BASE_EXPORT RefCountedStaticMemory : public RefCountedMemory { public: - RefCountedStaticMemory() : data_(nullptr), length_(0) {} + RefCountedStaticMemory(); + explicit RefCountedStaticMemory(base::span bytes); + + // TODO(crbug.com/40284755): Remove this overload, use the span ctor instead. RefCountedStaticMemory(const void* data, size_t length) - : data_(static_cast(length ? data : nullptr)), - length_(length) {} + : UNSAFE_BUFFERS(bytes_(static_cast(data), length)) {} RefCountedStaticMemory(const RefCountedStaticMemory&) = delete; RefCountedStaticMemory& operator=(const RefCountedStaticMemory&) = delete; - // RefCountedMemory: - const unsigned char* front() const override; - size_t size() const override; - private: ~RefCountedStaticMemory() override; - const unsigned char* data_; - size_t length_; + // RefCountedMemory: + base::span AsSpan() const LIFETIME_BOUND override; + + base::span bytes_; }; // An implementation of RefCountedMemory, where the data is stored in a STL @@ -82,11 +108,13 @@ class BASE_EXPORT RefCountedBytes : public RefCountedMemory { RefCountedBytes(); // Constructs a RefCountedBytes object by copying from |initializer|. - explicit RefCountedBytes(const std::vector& initializer); - explicit RefCountedBytes(base::span initializer); + explicit RefCountedBytes(std::vector initializer); + explicit RefCountedBytes(base::span initializer); // Constructs a RefCountedBytes object by copying |size| bytes from |p|. - RefCountedBytes(const unsigned char* p, size_t size); + // + // TODO(crbug.com/40284755): Remove this overload, use the span ctor instead. + RefCountedBytes(const uint8_t* p, size_t size); // Constructs a RefCountedBytes object by zero-initializing a new vector of // |size| bytes. @@ -98,28 +126,22 @@ class BASE_EXPORT RefCountedBytes : public RefCountedMemory { // Constructs a RefCountedBytes object by performing a swap. (To non // destructively build a RefCountedBytes, use the constructor that takes a // vector.) + // + // TODO(danakj): This can be removed, as callers can now move() the vector to + // the ctor instead. static scoped_refptr TakeVector( - std::vector* to_destroy); + std::vector* to_destroy); - // RefCountedMemory: - const unsigned char* front() const override; - size_t size() const override; - - const std::vector& data() const { return data_; } - std::vector& data() { return data_; } - - // Non-const versions of front() and front_as() that are simply shorthand for - // data().data(). - unsigned char* front() { return data_.data(); } - template - T* front_as() { - return reinterpret_cast(front()); - } + const std::vector& as_vector() const { return bytes_; } + std::vector& as_vector() { return bytes_; } private: ~RefCountedBytes() override; - std::vector data_; + // RefCountedMemory: + base::span AsSpan() const LIFETIME_BOUND override; + + std::vector bytes_; }; // An implementation of RefCountedMemory, where the bytes are stored in a STL @@ -132,17 +154,16 @@ class BASE_EXPORT RefCountedString : public RefCountedMemory { RefCountedString(const RefCountedString&) = delete; RefCountedString& operator=(const RefCountedString&) = delete; - // RefCountedMemory: - const unsigned char* front() const override; - size_t size() const override; - - const std::string& data() const { return data_; } - std::string& data() { return data_; } + const std::string& as_string() const { return string_; } + std::string& as_string() { return string_; } private: ~RefCountedString() override; - std::string data_; + // RefCountedMemory: + base::span AsSpan() const LIFETIME_BOUND override; + + std::string string_; }; // An implementation of RefCountedMemory, where the bytes are stored in a @@ -155,15 +176,16 @@ class BASE_EXPORT RefCountedString16 : public base::RefCountedMemory { RefCountedString16(const RefCountedString16&) = delete; RefCountedString16& operator=(const RefCountedString16&) = delete; - // RefCountedMemory: - const unsigned char* front() const override; - size_t size() const override; - - protected: - ~RefCountedString16() override; + const std::u16string& as_string() const { return string_; } + std::u16string& as_string() { return string_; } private: - std::u16string data_; + ~RefCountedString16() override; + + // RefCountedMemory: + base::span AsSpan() const LIFETIME_BOUND override; + + std::u16string string_; }; // An implementation of RefCountedMemory, where the bytes are stored in @@ -178,20 +200,18 @@ class BASE_EXPORT RefCountedSharedMemoryMapping : public RefCountedMemory { RefCountedSharedMemoryMapping& operator=( const RefCountedSharedMemoryMapping&) = delete; - // Convenience method to map all of |region| and take ownership of the - // mapping. Returns an empty scoped_refptr if the map operation fails. + // Convenience method to map all of `region` and take ownership of the + // mapping. Returns a null `scoped_refptr` if the map operation fails. static scoped_refptr CreateFromWholeRegion( const ReadOnlySharedMemoryRegion& region); - // RefCountedMemory: - const unsigned char* front() const override; - size_t size() const override; - private: ~RefCountedSharedMemoryMapping() override; + // RefCountedMemory: + base::span AsSpan() const LIFETIME_BOUND override; + const ReadOnlySharedMemoryMapping mapping_; - const size_t size_; }; } // namespace base diff --git a/naiveproxy/src/base/memory/safety_checks.h b/naiveproxy/src/base/memory/safety_checks.h index 804601568b..136acdd411 100644 --- a/naiveproxy/src/base/memory/safety_checks.h +++ b/naiveproxy/src/base/memory/safety_checks.h @@ -13,23 +13,41 @@ #include "partition_alloc/partition_alloc_buildflags.h" #include "partition_alloc/partition_alloc_constants.h" -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) #include "partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.h" -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) -// This header defines following macros: -// - ADVANCED_MEMORY_SAFETY_CHECKS() +// This header defines `ADVANCED_MEMORY_SAFETY_CHECKS()` macro. // They can be used to specify a class/struct that is targeted to perform // additional CHECKS across variety of memory safety mechanisms such as // PartitionAllocator. -// +// ``` // class Foo { // ADVANCED_MEMORY_SAFETY_CHECKS(); // } -// +// ``` // Checks here are disabled by default because of their performance cost. // Currently, the macro is managed by the memory safety team internally and // you should not add / remove it manually. +// +// Additional checks here are categorized into either one of enum +// `MemorySafetyCheck`. Some of them are too costly and disabled even for +// `ADVANCED_MEMORY_SAFETY_CHECKS()` annotated types. These checks can be +// enabled by passing optional arguments to the macro. +// ``` +// class Foo { +// ADVANCED_MEMORY_SAFETY_CHECKS( +// /*enable=*/ kFoo | kBar); +// } +// ``` +// It is also possible to disable default checks for annotated types. +// ``` +// class Foo { +// ADVANCED_MEMORY_SAFETY_CHECKS( +// /*enable=*/ kFoo, +// /*disable=*/ kBaz); +// } +// ``` // We cannot hide things behind anonymous namespace because they are referenced // via macro, which can be defined anywhere. @@ -37,6 +55,7 @@ namespace base::internal { enum class MemorySafetyCheck : uint32_t { + kNone = 0, kForcePartitionAlloc = (1u << 0), // Enables |FreeFlags::kSchedulerLoopQuarantine|. // Requires PA-E. @@ -59,6 +78,10 @@ constexpr MemorySafetyCheck operator&(MemorySafetyCheck a, static_cast(b)); } +constexpr MemorySafetyCheck operator~(MemorySafetyCheck a) { + return static_cast(~static_cast(a)); +} + // Set of checks for ADVANCED_MEMORY_SAFETY_CHECKS() annotated objects. constexpr auto kAdvancedMemorySafetyChecks = MemorySafetyCheck::kForcePartitionAlloc | @@ -69,14 +92,14 @@ namespace { // Allocator type traits. constexpr bool ShouldUsePartitionAlloc(MemorySafetyCheck checks) { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) return static_cast(checks & (MemorySafetyCheck::kForcePartitionAlloc | MemorySafetyCheck::kSchedulerLoopQuarantine | MemorySafetyCheck::kZapOnFree)); #else return false; -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) } // Returns |partition_alloc::AllocFlags| corresponding to |checks|. @@ -114,21 +137,21 @@ inline constexpr bool is_memory_safety_checked = (get_memory_safety_checks & c) == c; // Allocator functions. -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) ALWAYS_INLINE partition_alloc::PartitionRoot* GetPartitionRootForMemorySafetyCheckedAllocation() { return allocator_shim::internal::PartitionAllocMalloc::Allocator(); } -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) template NOINLINE void* HandleMemorySafetyCheckedOperatorNew(std::size_t count) { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) if constexpr (ShouldUsePartitionAlloc(checks)) { return GetPartitionRootForMemorySafetyCheckedAllocation() ->AllocInline(count); } -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) return ::operator new(count); } @@ -136,25 +159,25 @@ template NOINLINE void* HandleMemorySafetyCheckedOperatorNew( std::size_t count, std::align_val_t alignment) { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) if constexpr (ShouldUsePartitionAlloc(checks)) { return GetPartitionRootForMemorySafetyCheckedAllocation() ->AlignedAlloc(static_cast(alignment), count); } -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) return ::operator new(count, alignment); } template NOINLINE void HandleMemorySafetyCheckedOperatorDelete(void* ptr) { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) if constexpr (ShouldUsePartitionAlloc(checks)) { GetPartitionRootForMemorySafetyCheckedAllocation() ->Free(ptr); return; } -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) ::operator delete(ptr); } @@ -162,13 +185,13 @@ template NOINLINE void HandleMemorySafetyCheckedOperatorDelete( void* ptr, std::align_val_t alignment) { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) if constexpr (ShouldUsePartitionAlloc(checks)) { GetPartitionRootForMemorySafetyCheckedAllocation() ->Free(ptr); return; } -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) ::operator delete(ptr, alignment); } @@ -187,10 +210,13 @@ NOINLINE void HandleMemorySafetyCheckedOperatorDelete( // public: // int public_field; // }; -#define ADVANCED_MEMORY_SAFETY_CHECKS_INTERNAL(SPECIFIER) \ +#define MEMORY_SAFETY_CHECKS_INTERNAL(SPECIFIER, DEFAULT_CHECKS, \ + ENABLED_CHECKS, DISABLED_CHECKS, ...) \ public: \ - static constexpr auto kMemorySafetyChecks = \ - base::internal::kAdvancedMemorySafetyChecks; \ + static constexpr auto kMemorySafetyChecks = []() { \ + using enum base::internal::MemorySafetyCheck; \ + return (DEFAULT_CHECKS | ENABLED_CHECKS) & ~(DISABLED_CHECKS); \ + }(); \ SPECIFIER static void* operator new(std::size_t count) { \ return base::internal::HandleMemorySafetyCheckedOperatorNew< \ kMemorySafetyChecks>(count); \ @@ -220,11 +246,23 @@ NOINLINE void HandleMemorySafetyCheckedOperatorDelete( #if DCHECK_IS_ON() // Specify NOINLINE to display the operator on a stack trace. -#define ADVANCED_MEMORY_SAFETY_CHECKS() \ - ADVANCED_MEMORY_SAFETY_CHECKS_INTERNAL(NOINLINE NOT_TAIL_CALLED) +// When 2 args provided, these two are passed to `ENABLED_CHECKS` and +// `DISABLED_CHECKS`. A couple of `MemorySafetyCheck::kNone` is ignored. +// When 1 arg provided, the one is passed to `ENABLED_CHECKS` and the first +// `MemorySafetyCheck::kNone` serves a default value for `DISABLED_CHECKS`. +// When 0 arg provided, both of `MemorySafetyCheck::kNone`s serve as default +// values for `ENABLED_CHECKS` and `DISABLED_CHECKS` accordingly. +#define ADVANCED_MEMORY_SAFETY_CHECKS(...) \ + MEMORY_SAFETY_CHECKS_INTERNAL( \ + NOINLINE NOT_TAIL_CALLED, \ + base::internal::kAdvancedMemorySafetyChecks __VA_OPT__(, ) __VA_ARGS__, \ + kNone, kNone) #else -#define ADVANCED_MEMORY_SAFETY_CHECKS() \ - ADVANCED_MEMORY_SAFETY_CHECKS_INTERNAL(ALWAYS_INLINE) +#define ADVANCED_MEMORY_SAFETY_CHECKS(...) \ + MEMORY_SAFETY_CHECKS_INTERNAL( \ + ALWAYS_INLINE, \ + base::internal::kAdvancedMemorySafetyChecks __VA_OPT__(, ) __VA_ARGS__, \ + kNone, kNone) #endif // DCHECK_IS_ON() // When a struct/class with `ADVANCED_MEMORY_SAFETY_CHECKS()` is inherited, a @@ -238,44 +276,33 @@ NOINLINE void HandleMemorySafetyCheckedOperatorDelete( // Explicitly exports operators from given `BaseClass` to re-apply // checks specified in the parent class. This is the recommended option as // a derived class is likely to have the same characteristics to its baes -// class. +// class. This macro accepts additional arguments to overwrite +// `BaseClass`'s opted-in checks. +// ``` +// INHERIT_MEMORY_SAFETY_CHECKS(BaseClass, +// /*enable=*/ kFoo | kBar, +// /*disable=*/ kBaz); +// ``` // - `DEFAULT_MEMORY_SAFETY_CHECKS()` // Re-define default `operator new()` and `operator delete()` using -// global operators that comes with default checks. +// global operators that comes with default checks. This macro accepts +// additional arguments to enable some checks manually. +// ``` +// DEFAULT_MEMORY_SAFETY_CHECKS(BaseClass, +// /*enable=*/ kFoo | kBar); +// ``` // // Note that if you use these macros at the top of struct declaration, the // declaration context would be left as |private|. Please switch it back to // |public| manually if needed. -#define INHERIT_MEMORY_SAFETY_CHECKS(BASE_CLASS) \ - public: \ - using BASE_CLASS::kMemorySafetyChecks; \ - using BASE_CLASS::operator new; \ - using BASE_CLASS::operator delete; \ - \ - private: \ - static_assert(true) /* semicolon here */ +#define INHERIT_MEMORY_SAFETY_CHECKS(BASE_CLASS, ...) \ + MEMORY_SAFETY_CHECKS_INTERNAL(ALWAYS_INLINE, \ + BASE_CLASS::kMemorySafetyChecks __VA_OPT__(, ) \ + __VA_ARGS__, \ + kNone, kNone) -#define DEFAULT_MEMORY_SAFETY_CHECKS() \ - public: \ - ALWAYS_INLINE static void* operator new(std::size_t count) { \ - return ::operator new(count); \ - } \ - ALWAYS_INLINE static void* operator new(std::size_t count, \ - std::align_val_t alignment) { \ - return ::operator new(count, alignment); \ - } \ - ALWAYS_INLINE static void* operator new(std::size_t count, void* ptr) { \ - return ::operator new(count, ptr); \ - } \ - ALWAYS_INLINE static void operator delete(void* ptr) noexcept { \ - return ::operator delete(ptr); \ - } \ - ALWAYS_INLINE static void operator delete( \ - void* ptr, std::align_val_t alignment) noexcept { \ - return ::operator delete(ptr, alignment); \ - } \ - \ - private: \ - static_assert(true) /* semicolon here */ +#define DEFAULT_MEMORY_SAFETY_CHECKS(...) \ + MEMORY_SAFETY_CHECKS_INTERNAL( \ + ALWAYS_INLINE, kNone __VA_OPT__(, ) __VA_ARGS__, kNone, kNone) #endif // BASE_MEMORY_SAFETY_CHECKS_H_ diff --git a/naiveproxy/src/base/memory/shared_memory_mapping.cc b/naiveproxy/src/base/memory/shared_memory_mapping.cc index 0fc4ba5e26..868493fde4 100644 --- a/naiveproxy/src/base/memory/shared_memory_mapping.cc +++ b/naiveproxy/src/base/memory/shared_memory_mapping.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/memory/shared_memory_mapping.h" #include diff --git a/naiveproxy/src/base/memory/shared_memory_mapping.h b/naiveproxy/src/base/memory/shared_memory_mapping.h index d546deb538..42d53a14f3 100644 --- a/naiveproxy/src/base/memory/shared_memory_mapping.h +++ b/naiveproxy/src/base/memory/shared_memory_mapping.h @@ -242,6 +242,18 @@ class BASE_EXPORT WritableSharedMemoryMapping : public SharedMemoryMapping { size_t size, const UnguessableToken& guid, SharedMemoryMapper* mapper); + + friend class DiscardableSharedMemory; + // Returns a span over the entire mapped memory, which may be more than the + // logical requested memory. Bytes outside of the logical size should not be + // used. + span mapped_memory() const { + if (!IsValid()) { + return span(); + } + return UNSAFE_BUFFERS( + span(static_cast(raw_memory_ptr()), mapped_size())); + } }; } // namespace base diff --git a/naiveproxy/src/base/memory/shared_memory_security_policy.cc b/naiveproxy/src/base/memory/shared_memory_security_policy.cc index 915eb2005d..220e6b633e 100644 --- a/naiveproxy/src/base/memory/shared_memory_security_policy.cc +++ b/naiveproxy/src/base/memory/shared_memory_security_policy.cc @@ -33,7 +33,7 @@ static std::atomic_size_t total_mapped_size_; std::optional AlignWithPageSize(size_t size) { #if BUILDFLAG(IS_WIN) - // TODO(crbug.com/210609): Matches alignment requirements defined in + // TODO(crbug.com/40307662): Matches alignment requirements defined in // platform_shared_memory_region_win.cc:PlatformSharedMemoryRegion::Create. // Remove this when NaCl is gone. static const size_t kSectionSize = 65536; diff --git a/naiveproxy/src/base/memory/shared_memory_switch.cc b/naiveproxy/src/base/memory/shared_memory_switch.cc index afa3c1c8e0..dad1ca9f79 100644 --- a/naiveproxy/src/base/memory/shared_memory_switch.cc +++ b/naiveproxy/src/base/memory/shared_memory_switch.cc @@ -156,12 +156,12 @@ std::string Serialize(PlatformSharedMemoryRegion shmem_region, // caller, who is responsible for updating |launch_options| or the zygote // launch parameters, as appropriate. // - // TODO(crbug.com/1028263): Create a wrapper to release and return the primary - // descriptor for android (ScopedFD) vs non-android (ScopedFDPair). + // TODO(crbug.com/40109064): Create a wrapper to release and return the + // primary descriptor for android (ScopedFD) vs non-android (ScopedFDPair). // - // TODO(crbug.com/1028263): Get rid of |descriptor_to_share| and just populate - // |launch_options|. The caller should be responsible for translating between - // |launch_options| and zygote parameters as necessary. + // TODO(crbug.com/40109064): Get rid of |descriptor_to_share| and just + // populate |launch_options|. The caller should be responsible for translating + // between |launch_options| and zygote parameters as necessary. #if BUILDFLAG(IS_ANDROID) descriptor_to_share = std::move(shmem_handle); #else diff --git a/naiveproxy/src/base/memory/shared_memory_tracker.cc b/naiveproxy/src/base/memory/shared_memory_tracker.cc index 91387ecde0..7021891d52 100644 --- a/naiveproxy/src/base/memory/shared_memory_tracker.cc +++ b/naiveproxy/src/base/memory/shared_memory_tracker.cc @@ -132,7 +132,7 @@ SharedMemoryTracker::GetOrCreateSharedMemoryDumpInternal( 0 /* importance */); return local_dump; #else // BUILDFLAG(ENABLE_BASE_TRACING) - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return nullptr; #endif // BUILDFLAG(ENABLE_BASE_TRACING) } diff --git a/naiveproxy/src/base/message_loop/message_pump.cc b/naiveproxy/src/base/message_loop/message_pump.cc index 128912471c..692aa865af 100644 --- a/naiveproxy/src/base/message_loop/message_pump.cc +++ b/naiveproxy/src/base/message_loop/message_pump.cc @@ -75,7 +75,7 @@ std::unique_ptr MessagePump::Create(MessagePumpType type) { #elif BUILDFLAG(IS_NACL) || BUILDFLAG(IS_AIX) // Currently NaCl and AIX don't have a UI MessagePump. // TODO(abarth): Figure out if we need this. - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return nullptr; #elif BUILDFLAG(IS_ANDROID) { @@ -101,7 +101,7 @@ std::unique_ptr MessagePump::Create(MessagePumpType type) { #endif case MessagePumpType::CUSTOM: - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return nullptr; case MessagePumpType::DEFAULT: diff --git a/naiveproxy/src/base/message_loop/message_pump.h b/naiveproxy/src/base/message_loop/message_pump.h index aee9030cc1..1b595e0920 100644 --- a/naiveproxy/src/base/message_loop/message_pump.h +++ b/naiveproxy/src/base/message_loop/message_pump.h @@ -149,9 +149,9 @@ class BASE_EXPORT MessagePump { // Called before a unit of work is executed. This allows reports // about individual units of work to be produced. The unit of work ends when // the returned ScopedDoWorkItem goes out of scope. - // TODO(crbug.com/851163): Place calls for all platforms. Without this, some - // state like the top-level "ThreadController active" trace event will not - // be correct when work is performed. + // TODO(crbug.com/40580088): Place calls for all platforms. Without this, + // some state like the top-level "ThreadController active" trace event will + // not be correct when work is performed. [[nodiscard]] ScopedDoWorkItem BeginWorkItem() { return ScopedDoWorkItem(this); } @@ -266,7 +266,7 @@ class BASE_EXPORT MessagePump { // // It isn't necessary to call this during normal execution, as the pump wakes // up as requested by the return value of DoWork(). - // TODO(crbug.com/885371): Determine if this must be called to ensure that + // TODO(crbug.com/40594269): Determine if this must be called to ensure that // delayed tasks run when a message pump outside the control of Run is // entered. virtual void ScheduleDelayedWork( diff --git a/naiveproxy/src/base/message_loop/message_pump_android.cc b/naiveproxy/src/base/message_loop/message_pump_android.cc index 18ef1039e9..e1ed57aeac 100644 --- a/naiveproxy/src/base/message_loop/message_pump_android.cc +++ b/naiveproxy/src/base/message_loop/message_pump_android.cc @@ -284,7 +284,7 @@ void MessagePumpAndroid::Attach(Delegate* delegate) { // Since the RunLoop was just created above, BeforeRun should be guaranteed to // return true (it only returns false if the RunLoop has been Quit already). if (!run_loop_->BeforeRun()) - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } void MessagePumpAndroid::Quit() { diff --git a/naiveproxy/src/base/message_loop/message_pump_apple.mm b/naiveproxy/src/base/message_loop/message_pump_apple.mm index 5e9d5f082e..570a758351 100644 --- a/naiveproxy/src/base/message_loop/message_pump_apple.mm +++ b/naiveproxy/src/base/message_loop/message_pump_apple.mm @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #import "base/message_loop/message_pump_apple.h" #import @@ -729,11 +734,11 @@ MessagePumpUIApplication::MessagePumpUIApplication() MessagePumpUIApplication::~MessagePumpUIApplication() = default; void MessagePumpUIApplication::DoRun(Delegate* delegate) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } bool MessagePumpUIApplication::DoQuit() { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return false; } diff --git a/naiveproxy/src/base/message_loop/message_pump_epoll.cc b/naiveproxy/src/base/message_loop/message_pump_epoll.cc index 303db62c20..07cf1fbf54 100644 --- a/naiveproxy/src/base/message_loop/message_pump_epoll.cc +++ b/naiveproxy/src/base/message_loop/message_pump_epoll.cc @@ -218,7 +218,7 @@ bool MessagePumpEpoll::WaitForEpollEvents(TimeDelta timeout) { // `timeout` has microsecond resolution, but timeouts accepted by epoll_wait() // are integral milliseconds. Round up to the next millisecond. - // TODO(https://crbug.com/1382894): Consider higher-resolution timeouts. + // TODO(crbug.com/40245876): Consider higher-resolution timeouts. const int epoll_timeout = timeout.is_max() ? -1 : saturated_cast(timeout.InMillisecondsRoundedUp()); diff --git a/naiveproxy/src/base/message_loop/message_pump_fuchsia.cc b/naiveproxy/src/base/message_loop/message_pump_fuchsia.cc index 449b6ed48f..8ab12146be 100644 --- a/naiveproxy/src/base/message_loop/message_pump_fuchsia.cc +++ b/naiveproxy/src/base/message_loop/message_pump_fuchsia.cc @@ -24,7 +24,7 @@ MessagePumpFuchsia::ZxHandleWatchController::ZxHandleWatchController( MessagePumpFuchsia::ZxHandleWatchController::~ZxHandleWatchController() { if (!StopWatchingZxHandle()) - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } bool MessagePumpFuchsia::ZxHandleWatchController::WaitBegin() { @@ -157,7 +157,7 @@ MessagePumpFuchsia::FdWatchController::FdWatchController( MessagePumpFuchsia::FdWatchController::~FdWatchController() { if (!StopWatchingFileDescriptor()) - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } bool MessagePumpFuchsia::FdWatchController::WaitBegin() { @@ -198,7 +198,7 @@ bool MessagePumpFuchsia::WatchFileDescriptor(int fd, DCHECK(delegate); if (!controller->StopWatchingFileDescriptor()) - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); controller->fd_ = fd; controller->watcher_ = delegate; @@ -221,7 +221,7 @@ bool MessagePumpFuchsia::WatchFileDescriptor(int fd, controller->desired_events_ = FDIO_EVT_READABLE | FDIO_EVT_WRITABLE; break; default: - NOTREACHED() << "unexpected mode: " << mode; + NOTREACHED_IN_MIGRATION() << "unexpected mode: " << mode; return false; } @@ -247,7 +247,7 @@ bool MessagePumpFuchsia::WatchZxHandle(zx_handle_t handle, handle == controller->async_wait_t::object); if (!controller->StopWatchingZxHandle()) - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); controller->async_wait_t::object = handle; controller->persistent_ = persistent; @@ -333,7 +333,7 @@ void MessagePumpFuchsia::ScheduleDelayedWork( // Since this is always called from the same thread as Run(), there is nothing // to do as the loop is already running. It will wait in Run() with the // correct timeout when it's out of immediate tasks. - // TODO(https://crbug.com/885371): Consider removing ScheduleDelayedWork() + // TODO(crbug.com/40594269): Consider removing ScheduleDelayedWork() // when all pumps function this way (bit.ly/merge-message-pump-do-work). } diff --git a/naiveproxy/src/base/message_loop/message_pump_glib.cc b/naiveproxy/src/base/message_loop/message_pump_glib.cc index 6101b56361..fa7c17dc7d 100644 --- a/naiveproxy/src/base/message_loop/message_pump_glib.cc +++ b/naiveproxy/src/base/message_loop/message_pump_glib.cc @@ -619,7 +619,7 @@ bool MessagePumpGlib::HandleCheck() { char msg[2]; const long num_bytes = HANDLE_EINTR(read(wakeup_pipe_read_, msg, 2)); if (num_bytes < 1) { - NOTREACHED() << "Error reading from the wakeup pipe."; + NOTREACHED_IN_MIGRATION() << "Error reading from the wakeup pipe."; } DCHECK((num_bytes == 1 && msg[0] == '!') || (num_bytes == 2 && msg[0] == '!' && msg[1] == '!')); @@ -713,7 +713,7 @@ void MessagePumpGlib::Quit() { if (state_) { state_->should_quit = true; } else { - NOTREACHED() << "Quit called outside Run!"; + NOTREACHED_IN_MIGRATION() << "Quit called outside Run!"; } } @@ -723,7 +723,8 @@ void MessagePumpGlib::ScheduleWork() { // we are sleeping in a poll that we will wake up. char msg = '!'; if (HANDLE_EINTR(write(wakeup_pipe_write_, &msg, 1)) != 1) { - NOTREACHED() << "Could not write to the UI message loop wakeup pipe!"; + NOTREACHED_IN_MIGRATION() + << "Could not write to the UI message loop wakeup pipe!"; } } diff --git a/naiveproxy/src/base/message_loop/message_pump_io_ios.cc b/naiveproxy/src/base/message_loop/message_pump_io_ios.cc index 999a929461..5b539ccac9 100644 --- a/naiveproxy/src/base/message_loop/message_pump_io_ios.cc +++ b/naiveproxy/src/base/message_loop/message_pump_io_ios.cc @@ -95,7 +95,7 @@ bool MessagePumpIOSForIO::WatchFileDescriptor(int fd, CFFileDescriptorCreate(kCFAllocatorDefault, fd, false, HandleFdIOEvent, &source_context)); if (scoped_fdref == NULL) { - NOTREACHED() << "CFFileDescriptorCreate failed"; + NOTREACHED_IN_MIGRATION() << "CFFileDescriptorCreate failed"; return false; } @@ -106,7 +106,7 @@ bool MessagePumpIOSForIO::WatchFileDescriptor(int fd, CFFileDescriptorCreateRunLoopSource(kCFAllocatorDefault, scoped_fdref, 0)); if (scoped_fd_source == NULL) { - NOTREACHED() << "CFFileDescriptorCreateRunLoopSource failed"; + NOTREACHED_IN_MIGRATION() << "CFFileDescriptorCreateRunLoopSource failed"; return false; } CFRunLoopAddSource(run_loop(), scoped_fd_source, kCFRunLoopCommonModes); @@ -118,13 +118,13 @@ bool MessagePumpIOSForIO::WatchFileDescriptor(int fd, // It's illegal to use this function to listen on 2 separate fds with the // same |controller|. if (CFFileDescriptorGetNativeDescriptor(fdref) != fd) { - NOTREACHED() << "FDs don't match: " - << CFFileDescriptorGetNativeDescriptor(fdref) - << " != " << fd; + NOTREACHED_IN_MIGRATION() + << "FDs don't match: " << CFFileDescriptorGetNativeDescriptor(fdref) + << " != " << fd; return false; } if (persistent != controller->is_persistent_) { - NOTREACHED() << "persistent doesn't match"; + NOTREACHED_IN_MIGRATION() << "persistent doesn't match"; return false; } diff --git a/naiveproxy/src/base/message_loop/message_pump_kqueue.cc b/naiveproxy/src/base/message_loop/message_pump_kqueue.cc index 9529305440..2cb56b637d 100644 --- a/naiveproxy/src/base/message_loop/message_pump_kqueue.cc +++ b/naiveproxy/src/base/message_loop/message_pump_kqueue.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/message_loop/message_pump_kqueue.h" #include @@ -532,7 +537,8 @@ bool MessagePumpKqueue::ProcessEvents(Delegate* delegate, size_t count) { scheduled_wakeup_time_ = base::TimeTicks::Max(); --event_count_; } else { - NOTREACHED() << "Unexpected event for filter " << event->filter; + NOTREACHED_IN_MIGRATION() + << "Unexpected event for filter " << event->filter; } } diff --git a/naiveproxy/src/base/message_loop/message_pump_libevent.cc b/naiveproxy/src/base/message_loop/message_pump_libevent.cc index cdebe4c67e..d75b3a1be3 100644 --- a/naiveproxy/src/base/message_loop/message_pump_libevent.cc +++ b/naiveproxy/src/base/message_loop/message_pump_libevent.cc @@ -143,7 +143,7 @@ MessagePumpLibevent::MessagePumpLibevent() { #endif if (!Init()) - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); DCHECK_NE(wakeup_pipe_in_, -1); DCHECK_NE(wakeup_pipe_out_, -1); DCHECK(wakeup_event_); @@ -231,7 +231,8 @@ bool MessagePumpLibevent::WatchFileDescriptor(int fd, // It's illegal to use this function to listen on 2 separate fds with the // same |controller|. if (EVENT_FD(evt.get()) != fd) { - NOTREACHED() << "FDs don't match" << EVENT_FD(evt.get()) << "!=" << fd; + NOTREACHED_IN_MIGRATION() + << "FDs don't match" << EVENT_FD(evt.get()) << "!=" << fd; return false; } } diff --git a/naiveproxy/src/base/message_loop/message_pump_win.cc b/naiveproxy/src/base/message_loop/message_pump_win.cc index b136708121..5a48d5b098 100644 --- a/naiveproxy/src/base/message_loop/message_pump_win.cc +++ b/naiveproxy/src/base/message_loop/message_pump_win.cc @@ -105,7 +105,7 @@ void MessagePumpForUI::ScheduleWork() { // |bound_thread_|. if (g_ui_pump_improvements_win && - nested_state_ != NestedState::kNestedNativeLoopAnnounced) { + !in_nested_native_loop_with_application_tasks_) { // The pump is running using `event_` as its chrome-side synchronization // variable. In this case, no deduplication is done, since the event has its // own state. @@ -160,7 +160,7 @@ void MessagePumpForUI::ScheduleDelayedWork( // See MessageLoopTest.PostDelayedTaskFromSystemPump for an example. // TODO(gab): This could potentially be replaced by a ForegroundIdleProc hook // if Windows ends up being the only platform requiring ScheduleDelayedWork(). - if (nested_state_ == NestedState::kNestedNativeLoopAnnounced && + if (in_nested_native_loop_with_application_tasks_ && !native_msg_scheduled_.load(std::memory_order_relaxed)) { ScheduleNativeTimer(next_work_info); } @@ -168,16 +168,13 @@ void MessagePumpForUI::ScheduleDelayedWork( bool MessagePumpForUI::HandleNestedNativeLoopWithApplicationTasks( bool application_tasks_desired) { + // It is here assumed that we will be in a native loop until either + // DoRunLoop() gets control back, or this is called with `false`, and thus the + // Windows event queue is to be used for synchronization. This is to prevent + // being unable to wake up for application tasks in the case of a nested loop. + in_nested_native_loop_with_application_tasks_ = application_tasks_desired; if (application_tasks_desired) { - // It is here assumed that we will be in a native loop until either - // DoRunLoop() gets control back, or this is called with `false`, and thus - // must `use_windows_event_queue_for_synchronization_`. This is to prevent - // being unable to wake up for application tasks in the case of a nested - // loop. - nested_state_ = NestedState::kNestedNativeLoopAnnounced; ScheduleWork(); - } else { - nested_state_ = NestedState::kNone; } return true; } @@ -237,7 +234,7 @@ void MessagePumpForUI::DoRunLoop() { // work, then it is a good time to consider sleeping (waiting) for more // work. - nested_state_ = NestedState::kNone; + in_nested_native_loop_with_application_tasks_ = false; bool more_work_is_plausible = false; if (!g_ui_pump_improvements_win || @@ -246,14 +243,16 @@ void MessagePumpForUI::DoRunLoop() { // We can end up in native loops which allow application tasks outside of // DoWork() when Windows calls back a Win32 message window owned by some // Chromium code. - nested_state_ = NestedState::kNone; + in_nested_native_loop_with_application_tasks_ = false; if (run_state_->should_quit) { break; } } Delegate::NextWorkInfo next_work_info = run_state_->delegate->DoWork(); - nested_state_ = NestedState::kNone; + // Since nested native loops with application tasks are initiated by a + // scoper, they should always be cleared before exiting DoWork(). + DCHECK(!in_nested_native_loop_with_application_tasks_); wakeup_state_ = WakeupState::kRunning; more_work_is_plausible |= next_work_info.is_immediate(); @@ -276,7 +275,7 @@ void MessagePumpForUI::DoRunLoop() { // DoIdleWork() shouldn't end up in native nested loops, nor should it // permit native nested loops, and thus shouldn't have any chance of // reinstalling a native timer. - DCHECK_EQ(nested_state_, NestedState::kNone); + DCHECK(!in_nested_native_loop_with_application_tasks_); DCHECK(!installed_native_timer_); if (run_state_->should_quit) { break; @@ -388,12 +387,6 @@ void MessagePumpForUI::WaitForWork(Delegate::NextWorkInfo next_work_info) { void MessagePumpForUI::HandleWorkMessage() { DCHECK_CALLED_ON_VALID_THREAD(bound_thread_); - if (nested_state_ != NestedState::kNestedNativeLoopAnnounced) { - // The kMsgHaveWork message was consumed by a native loop, we must assume - // we're in one until DoRunLoop() gets control back. - nested_state_ = NestedState::kNestedNativeLoopDetected; - } - // If we are being called outside of the context of Run, then don't try to do // any work. This could correspond to a MessageBox call or something of that // sort. @@ -452,8 +445,10 @@ void MessagePumpForUI::HandleTimerMessage() { void MessagePumpForUI::ScheduleNativeTimer( Delegate::NextWorkInfo next_work_info) { DCHECK(!next_work_info.is_immediate()); - // Ensure we are nested in some way. - DCHECK_NE(nested_state_, NestedState::kNone); + // We should only ScheduleNativeTimer() under the new pump implementation + // while nested with application tasks. + DCHECK(!g_ui_pump_improvements_win || + in_nested_native_loop_with_application_tasks_); // Do not redundantly set the same native timer again if it was already set. // This can happen when a nested native loop goes idle with pending delayed @@ -675,7 +670,7 @@ bool MessagePumpForUI::ProcessPumpReplacementMessage() { // again and repost WM_QUIT+ScheduleWork() again, etc.). Not leaving a // kMsgHaveWork message behind however is also problematic as unwinding // multiple layers of nested ::GetMessage() loops can result in starving - // application tasks. TODO(https://crbug.com/890016) : Fix this. + // application tasks. TODO(crbug.com/40595757) : Fix this. // The return value is mostly irrelevant but return true like we would after // processing a QuitClosure() task. diff --git a/naiveproxy/src/base/message_loop/message_pump_win.h b/naiveproxy/src/base/message_loop/message_pump_win.h index 3607f76822..b5d1faf1f1 100644 --- a/naiveproxy/src/base/message_loop/message_pump_win.h +++ b/naiveproxy/src/base/message_loop/message_pump_win.h @@ -183,26 +183,19 @@ class BASE_EXPORT MessagePumpForUI : public MessagePumpWin { // is enabled. WaitableEvent event_{WaitableEvent::ResetPolicy::AUTOMATIC}; - enum class NestedState { - // There are no nested message loops running. - kNone, - // kMsgHaveWork was pumped from a native queue. The state will return to - // `kNormal` whenever DoRunLoop() regains control. - // - // It is reset to `kNone` when DoRunLoop() gets control back after - // ProcessNextWindowsMessage() or DoWork(). - kNestedNativeLoopDetected, - // HandleNestedNativeLoopWithApplicationTasks(true) was called (when a - // `ScopedAllowApplicationTasksInNativeNestedLoop` is instantiated). When - // running with `event_`, switches to pumping `kMsgHaveWork` MSGs when there - // are application tasks to be done during native runloops. In this state, - // ScheduleDelayedWork() will start a native timer. - // - // It is reset to `kNone` when: - // - DoRunLoop() gets control back after ProcessNextWindowsMessage(). - // - HandleNestedNativeLoopWithApplicationTasks(false) is called. - kNestedNativeLoopAnnounced - } nested_state_ = NestedState::kNone; + // This is set when HandleNestedNativeLoopWithApplicationTasks(true) was + // called (when a `ScopedAllowApplicationTasksInNativeNestedLoop` is + // instantiated). + // + // When running with `event_`, switches to pumping + // `kMsgHaveWork` MSGs when there are application tasks to be done during + // native runloops. In this state, ScheduleDelayedWork() will start a native + // timer. + // + // It is reset when: + // - DoRunLoop() gets control back after ProcessNextWindowsMessage(). + // - HandleNestedNativeLoopWithApplicationTasks(false) is called. + bool in_nested_native_loop_with_application_tasks_ = false; enum class WakeupState { kApplicationTask, diff --git a/naiveproxy/src/base/metrics/crc32.cc b/naiveproxy/src/base/metrics/crc32.cc index e273d16db8..5117f7ea3d 100644 --- a/naiveproxy/src/base/metrics/crc32.cc +++ b/naiveproxy/src/base/metrics/crc32.cc @@ -7,7 +7,7 @@ namespace base { // Static table of checksums for all possible 8 bit bytes. -const uint32_t kCrcTable[256] = { +const std::array kCrcTable = { 0x0, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x76dc419L, 0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0xedb8832L, 0x79dcb8a4L, 0xe0d5e91eL, 0x97d2d988L, 0x9b64c2bL, 0x7eb17cbdL, 0xe7b82d07L, diff --git a/naiveproxy/src/base/metrics/crc32.h b/naiveproxy/src/base/metrics/crc32.h index 55fcb526c5..9e4e9134ef 100644 --- a/naiveproxy/src/base/metrics/crc32.h +++ b/naiveproxy/src/base/metrics/crc32.h @@ -8,12 +8,14 @@ #include #include +#include + #include "base/base_export.h" #include "base/containers/span.h" namespace base { -BASE_EXPORT extern const uint32_t kCrcTable[256]; +BASE_EXPORT extern const std::array kCrcTable; // This provides a simple, fast CRC-32 calculation that can be used for checking // the integrity of data. It is not a "secure" calculation! |sum| can start diff --git a/naiveproxy/src/base/metrics/dummy_histogram.cc b/naiveproxy/src/base/metrics/dummy_histogram.cc index dd19905c0a..51fd1a6800 100644 --- a/naiveproxy/src/base/metrics/dummy_histogram.cc +++ b/naiveproxy/src/base/metrics/dummy_histogram.cc @@ -26,11 +26,11 @@ class DummySampleCountIterator : public SampleCountIterator { // SampleCountIterator: bool Done() const override { return true; } - void Next() override { NOTREACHED(); } + void Next() override { NOTREACHED_IN_MIGRATION(); } void Get(HistogramBase::Sample* min, int64_t* max, HistogramBase::Count* count) override { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } }; @@ -57,7 +57,7 @@ class DummyHistogramSamples : public HistogramSamples { return std::make_unique(); } bool IsDefinitelyEmpty() const override { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return true; } bool AddSubtractImpl(SampleCountIterator* iter, Operator op) override { diff --git a/naiveproxy/src/base/metrics/field_trial.cc b/naiveproxy/src/base/metrics/field_trial.cc index 9e91637caf..72aebc7813 100644 --- a/naiveproxy/src/base/metrics/field_trial.cc +++ b/naiveproxy/src/base/metrics/field_trial.cc @@ -698,7 +698,7 @@ void FieldTrialList::CreateTrialsInChildProcess(const CommandLine& cmd_line) { global_->create_trials_in_child_process_called_ = true; #if BUILDFLAG(USE_BLINK) - // TODO(crbug.com/867558): Change to a CHECK. + // TODO(crbug.com/41403903): Change to a CHECK. if (cmd_line.HasSwitch(switches::kFieldTrialHandle)) { std::string switch_value = cmd_line.GetSwitchValueASCII(switches::kFieldTrialHandle); @@ -714,7 +714,7 @@ void FieldTrialList::CreateTrialsInChildProcess(const CommandLine& cmd_line) { void FieldTrialList::ApplyFeatureOverridesInChildProcess( FeatureList* feature_list) { CHECK(global_->create_trials_in_child_process_called_); - // TODO(crbug.com/867558): Change to a CHECK. + // TODO(crbug.com/41403903): Change to a CHECK. if (global_->field_trial_allocator_) { feature_list->InitFromSharedMemory(global_->field_trial_allocator_.get()); } @@ -1096,7 +1096,7 @@ bool FieldTrialList::CreateTrialsFromSharedMemoryMapping( if (!entry->GetState(trial_name, group_name, is_overridden)) { return false; } - // TODO(crbug.com/1431156): Don't set is_low_anonymity=false, but instead + // TODO(crbug.com/40263398): Don't set is_low_anonymity=false, but instead // propagate the is_low_anonymity state to the child process. FieldTrial* trial = CreateFieldTrial( trial_name, group_name, /*is_low_anonymity=*/false, is_overridden); @@ -1173,7 +1173,7 @@ void FieldTrialList::AddToAllocatorWhileLocked( FieldTrial::FieldTrialRef ref = allocator->Allocate( total_size, FieldTrial::FieldTrialEntry::kPersistentTypeId); if (ref == FieldTrialAllocator::kReferenceNull) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return; } diff --git a/naiveproxy/src/base/metrics/field_trial.h b/naiveproxy/src/base/metrics/field_trial.h index d29313a0b7..9c59ce4ba6 100644 --- a/naiveproxy/src/base/metrics/field_trial.h +++ b/naiveproxy/src/base/metrics/field_trial.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + // The FieldTrial class handles the lower level configuration of running A/B // tests. // @@ -321,8 +326,8 @@ class BASE_EXPORT FieldTrial : public RefCounted { // Whether this field trial is low anonymity or not (see // |FieldTrialListIncludingLowAnonymity|). - // TODO(crbug.com/1431156): remove this once all call sites have been properly - // migrated to use an appropriate observer. + // TODO(crbug.com/40263398): remove this once all call sites have been + // properly migrated to use an appropriate observer. bool is_low_anonymity() const { return is_low_anonymity_; } private: diff --git a/naiveproxy/src/base/metrics/field_trial_params.h b/naiveproxy/src/base/metrics/field_trial_params.h index 1cf2bf4cfc..47916fd093 100644 --- a/naiveproxy/src/base/metrics/field_trial_params.h +++ b/naiveproxy/src/base/metrics/field_trial_params.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_METRICS_FIELD_TRIAL_PARAMS_H_ #define BASE_METRICS_FIELD_TRIAL_PARAMS_H_ @@ -143,7 +148,7 @@ struct FeatureParam { // Declares a string-valued parameter. Example: // -// constexpr FeatureParam kAssistantName{ +// constexpr FeatureParam kAssistantName = { // &kAssistantFeature, "assistant_name", "HAL"}; // // If the feature is not enabled, the parameter is not set, or set to the empty @@ -168,7 +173,7 @@ struct FeatureParam { // Declares a double-valued parameter. Example: // -// constexpr FeatureParam kAssistantTriggerThreshold{ +// constexpr FeatureParam kAssistantTriggerThreshold = { // &kAssistantFeature, "trigger_threshold", 0.10}; // // If the feature is not enabled, the parameter is not set, or set to an invalid @@ -193,7 +198,7 @@ struct FeatureParam { // Declares an int-valued parameter. Example: // -// constexpr FeatureParam kAssistantParallelism{ +// constexpr FeatureParam kAssistantParallelism = { // &kAssistantFeature, "parallelism", 4}; // // If the feature is not enabled, the parameter is not set, or set to an invalid @@ -218,7 +223,7 @@ struct FeatureParam { // Declares a bool-valued parameter. Example: // -// constexpr FeatureParam kAssistantIsHelpful{ +// constexpr FeatureParam kAssistantIsHelpful = { // &kAssistantFeature, "is_helpful", true}; // // If the feature is not enabled, the parameter is not set, or set to value @@ -278,7 +283,7 @@ BASE_EXPORT void LogInvalidEnumValue(const Feature& feature, // {SHAPE_CIRCLE, "circle"}, // {SHAPE_CYLINDER, "cylinder"}, // {SHAPE_PAPERCLIP, "paperclip"}}; -// constexpr FeatureParam kAssistantShapeParam{ +// constexpr FeatureParam kAssistantShapeParam = { // &kAssistantFeature, "shape", SHAPE_CIRCLE, &kShapeParamOptions}; // // With this declaration, the parameter may be set to "circle", "cylinder", or @@ -327,7 +332,7 @@ struct FeatureParam { if (value == options[i].value) return options[i].name; } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return ""; } diff --git a/naiveproxy/src/base/metrics/field_trial_params_nocompile.nc b/naiveproxy/src/base/metrics/field_trial_params_nocompile.nc index 24e06e9e58..e40b27c2c1 100644 --- a/naiveproxy/src/base/metrics/field_trial_params_nocompile.nc +++ b/naiveproxy/src/base/metrics/field_trial_params_nocompile.nc @@ -10,19 +10,19 @@ namespace base { -constexpr Feature kFeature{"NoCompileFeature", FEATURE_DISABLED_BY_DEFAULT}; +BASE_FEATURE(kNoCompileFeature, "NoCompileFeature", FEATURE_DISABLED_BY_DEFAULT); // Must supply an enum template argument. -constexpr FeatureParam<> kParam1{&kFeature, "Param"}; // expected-error {{too few template arguments}} -constexpr FeatureParam kParam2{&kFeature, "Param"}; // expected-error@*:* {{unsupported FeatureParam<> type}} -constexpr FeatureParam kParam3{&kFeature, "Param", 1u}; // expected-error@*:* {{unsupported FeatureParam<> type}} +constexpr FeatureParam<> kParam1{&kNoCompileFeature, "Param"}; // expected-error {{too few template arguments}} +constexpr FeatureParam kParam2{&kNoCompileFeature, "Param"}; // expected-error@*:* {{unsupported FeatureParam<> type}} +constexpr FeatureParam kParam3{&kNoCompileFeature, "Param", 1u}; // expected-error@*:* {{unsupported FeatureParam<> type}} enum Param { kFoo, kBar }; // Options pointer must be non-null. -constexpr FeatureParam kParam4{&kFeature, "Param", kFoo, nullptr}; // expected-error {{no matching constructor}} +constexpr FeatureParam kParam4{&kNoCompileFeature, "Param", kFoo, nullptr}; // expected-error {{no matching constructor}} constexpr FeatureParam::Option kParamOptions[] = {}; -constexpr FeatureParam kParam5{&kFeature, "Param", kFoo, &kParamOptions}; // expected-error {{no matching constructor}} +constexpr FeatureParam kParam5{&kNoCompileFeature, "Param", kFoo, &kParamOptions}; // expected-error {{no matching constructor}} } // namespace base diff --git a/naiveproxy/src/base/metrics/histogram.cc b/naiveproxy/src/base/metrics/histogram.cc index 2465add670..b89aea5ba0 100644 --- a/naiveproxy/src/base/metrics/histogram.cc +++ b/naiveproxy/src/base/metrics/histogram.cc @@ -418,7 +418,7 @@ bool Histogram::InspectConstructionArguments(std::string_view name, // Defensive code for backward compatibility. if (*minimum < 1) { - // TODO(crbug.com/1288842): Temporarily disabled during cleanup. + // TODO(crbug.com/40211696): Temporarily disabled during cleanup. // DLOG(ERROR) << "Histogram: " << name << " has bad minimum: " << *minimum; *minimum = 1; if (*maximum < 1) @@ -500,7 +500,7 @@ void Histogram::AddCount(int value, int count) { if (value < 0) value = 0; if (count <= 0) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return; } unlogged_samples_->Accumulate(value, count); diff --git a/naiveproxy/src/base/metrics/histogram_base.cc b/naiveproxy/src/base/metrics/histogram_base.cc index 74de9e9991..4aaddeb315 100644 --- a/naiveproxy/src/base/metrics/histogram_base.cc +++ b/naiveproxy/src/base/metrics/histogram_base.cc @@ -45,7 +45,7 @@ std::string HistogramTypeToString(HistogramType type) { case DUMMY_HISTOGRAM: return "DUMMY_HISTOGRAM"; } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return "UNKNOWN"; } @@ -209,8 +209,8 @@ HistogramBase::CountAndBucketData HistogramBase::GetCountAndBucketData() const { Value::Dict bucket_value; bucket_value.Set("low", bucket_min); - // TODO(crbug.com/1334256): Make base::Value able to hold int64_t and remove - // this cast. + // TODO(crbug.com/40228085): Make base::Value able to hold int64_t and + // remove this cast. bucket_value.Set("high", static_cast(bucket_max)); bucket_value.Set("count", bucket_count); buckets.Append(std::move(bucket_value)); diff --git a/naiveproxy/src/base/metrics/histogram_base.h b/naiveproxy/src/base/metrics/histogram_base.h index c4d2ec0c0c..a7033d67dc 100644 --- a/naiveproxy/src/base/metrics/histogram_base.h +++ b/naiveproxy/src/base/metrics/histogram_base.h @@ -239,7 +239,7 @@ class BASE_EXPORT HistogramBase { // WARNING: This may be called from a background thread by the metrics // collection system. Do not make a call to this unless it was properly vetted // by someone familiar with the system. - // TODO(crbug/1052796): Consider gating this behind a PassKey, so that + // TODO(crbug.com/40119012): Consider gating this behind a PassKey, so that // eventually, only StatisticsRecorder can use this. virtual std::unique_ptr SnapshotUnloggedSamples() const = 0; @@ -252,7 +252,7 @@ class BASE_EXPORT HistogramBase { // WARNING: This may be called from a background thread by the metrics // collection system. Do not make a call to this unless it was properly vetted // by someone familiar with the system. - // TODO(crbug/1052796): Consider gating this behind a PassKey, so that + // TODO(crbug.com/40119012): Consider gating this behind a PassKey, so that // eventually, only StatisticsRecorder can use this. virtual void MarkSamplesAsLogged(const HistogramSamples& samples) = 0; diff --git a/naiveproxy/src/base/metrics/histogram_functions.h b/naiveproxy/src/base/metrics/histogram_functions.h index e46afc1c67..eb532f7d35 100644 --- a/naiveproxy/src/base/metrics/histogram_functions.h +++ b/naiveproxy/src/base/metrics/histogram_functions.h @@ -14,8 +14,8 @@ #include "base/metrics/histogram_base.h" #include "base/time/time.h" -// TODO(crbug/1265443): Update this file's function comments to provide more -// detail, like histogram_macros.h. +// TODO(crbug.com/40801421): Update this file's function comments to provide +// more detail, like histogram_macros.h. // // Functions for recording metrics. // diff --git a/naiveproxy/src/base/metrics/histogram_shared_memory.cc b/naiveproxy/src/base/metrics/histogram_shared_memory.cc index 6d02d016de..a01bafdcba 100644 --- a/naiveproxy/src/base/metrics/histogram_shared_memory.cc +++ b/naiveproxy/src/base/metrics/histogram_shared_memory.cc @@ -63,7 +63,7 @@ // 4. The low 64 bits of the shared memory block GUID. // 5. The size of the shared memory segment as a string. // -// TODO(crbug.com/1028263): Refactor the common logic here and in +// TODO(crbug.com/40109064): Refactor the common logic here and in // base/metrics/field_trial.cc namespace base { @@ -127,7 +127,7 @@ bool HistogramSharedMemory::PassOnCommandLineIsEnabled( // Example: The call to OpenSymbolFiles() in base/debug/stack_trace_posix.cc // grabs a read-only handle to the shmem region for some process types. // - // TODO(crbug.com/1028263): Fix ChromeOS and utility processes. + // TODO(crbug.com/40109064): Fix ChromeOS and utility processes. return (FeatureList::IsEnabled(kPassHistogramSharedMemoryOnLaunch) #if BUILDFLAG(IS_CHROMEOS) && process_type != "gpu-process" @@ -172,7 +172,7 @@ void HistogramSharedMemory::AddToLaunchParameters( // static void HistogramSharedMemory::InitFromLaunchParameters( const CommandLine& command_line) { - // TODO(crbug.com/1028263): Clean up once fully launched. + // TODO(crbug.com/40109064): Clean up once fully launched. if (!command_line.HasSwitch(switches::kMetricsSharedMemoryHandle)) { return; } diff --git a/naiveproxy/src/base/metrics/persistent_histogram_allocator.cc b/naiveproxy/src/base/metrics/persistent_histogram_allocator.cc index 824be640a0..d3d1f9b335 100644 --- a/naiveproxy/src/base/metrics/persistent_histogram_allocator.cc +++ b/naiveproxy/src/base/metrics/persistent_histogram_allocator.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/metrics/persistent_histogram_allocator.h" #include @@ -110,8 +115,8 @@ void MergeSamplesToExistingHistogram( // things may happen further down the line. This may be indicative that a // child process is emitting a histogram with different parameters than the // browser process, for example. - // TODO(crbug/1432981): Remove this. Used to investigate failures when merging - // histograms from an allocator to the global StatisticsRecorder. + // TODO(crbug.com/40064026): Remove this. Used to investigate failures when + // merging histograms from an allocator to the global StatisticsRecorder. bool histograms_match = true; HistogramType existing_type = existing->GetHistogramType(); if (histogram->GetHistogramType() != existing_type) { @@ -139,11 +144,11 @@ void MergeSamplesToExistingHistogram( if (!histograms_match) { // If the histograms do not match, then the call to AddSamples() below might - // trigger a NOTREACHED(). Include the histogram name here for debugging - // purposes. This is not done in GetOrCreateStatisticsRecorderHistogram() - // directly, since that could incorrectly create crash reports for enum - // histograms that have newly appended entries (different bucket max and - // count). + // trigger a NOTREACHED_IN_MIGRATION(). Include the histogram name here for + // debugging purposes. This is not done in + // GetOrCreateStatisticsRecorderHistogram() directly, since that could + // incorrectly create crash reports for enum histograms that have newly + // appended entries (different bucket max and count). SCOPED_CRASH_KEY_STRING256("PersistentHistogramAllocator", "histogram", existing->histogram_name()); existing->AddSamples(*samples); @@ -387,7 +392,7 @@ std::unique_ptr PersistentHistogramAllocator::AllocateHistogram( // should always be the case, manually zero it out again here in case there // was memory corruption (e.g. if the memory was mapped from a corrupted // spare file). - // TODO(crbug.com/1432981): Remove this if this has no effect, and try to + // TODO(crbug.com/40064026): Remove this if this has no effect, and try to // understand better why there is sometimes garbage written in this field. histogram_data->counts_ref.store(0, std::memory_order_relaxed); } @@ -738,7 +743,7 @@ PersistentHistogramAllocator::GetOrCreateStatisticsRecorderHistogram( GlobalHistogramAllocator::~GlobalHistogramAllocator() { // GlobalHistogramAllocator should never be destroyed because Histogram // objects may keep pointers to its memory. - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } // static @@ -964,9 +969,9 @@ void GlobalHistogramAllocator::Set(GlobalHistogramAllocator* allocator) { // Record the number of histograms that were sampled before the global // histogram allocator was initialized. // - // TODO(crbug/1504919): CHECK(histogram_count == 0) and remove emit of early - // histogram count once |histogram_count| is reliably zero (0) for all process - // types. + // TODO(crbug.com/40945497): CHECK(histogram_count == 0) and remove emit of + // early histogram count once |histogram_count| is reliably zero (0) for all + // process types. size_t histogram_count = StatisticsRecorder::GetHistogramCount(); if (histogram_count != 0) { DVLOG(1) << histogram_count @@ -1038,13 +1043,14 @@ bool GlobalHistogramAllocator::MovePersistentFile(const FilePath& dir) { bool GlobalHistogramAllocator::WriteToPersistentLocation() { #if BUILDFLAG(IS_NACL) // NACL doesn't support file operations, including ImportantFileWriter. - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return false; #else // Stop if no destination is set. if (!HasPersistentLocation()) { - NOTREACHED() << "Could not write \"" << Name() << "\" persistent histograms" - << " to file because no location was set."; + NOTREACHED_IN_MIGRATION() + << "Could not write \"" << Name() << "\" persistent histograms" + << " to file because no location was set."; return false; } @@ -1064,7 +1070,7 @@ void GlobalHistogramAllocator::DeletePersistentLocation() { memory_allocator()->SetMemoryState(PersistentMemoryAllocator::MEMORY_DELETED); #if BUILDFLAG(IS_NACL) - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); #else if (!HasPersistentLocation()) { return; diff --git a/naiveproxy/src/base/metrics/persistent_memory_allocator.cc b/naiveproxy/src/base/metrics/persistent_memory_allocator.cc index 1950ba4342..4d394756c6 100644 --- a/naiveproxy/src/base/metrics/persistent_memory_allocator.cc +++ b/naiveproxy/src/base/metrics/persistent_memory_allocator.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/metrics/persistent_memory_allocator.h" #include @@ -189,7 +194,7 @@ void PersistentMemoryAllocator::Iterator::Reset(Reference starting_after) { const volatile BlockHeader* block = allocator_->GetBlock(starting_after, 0, 0, false, false); if (!block || block->next.load(std::memory_order_relaxed) == 0) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); last_record_.store(kReferenceQueue, std::memory_order_release); } } @@ -477,7 +482,7 @@ const char* PersistentMemoryAllocator::Name() const { size_t name_length = GetAllocSize(name_ref); if (name_cstr[name_length - 1] != '\0') { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); SetCorrupt(); return ""; } @@ -657,7 +662,7 @@ PersistentMemoryAllocator::Reference PersistentMemoryAllocator::AllocateImpl( // Validate req_size to ensure it won't overflow when used as 32-bit value. if (req_size > kSegmentMaxSize - sizeof(BlockHeader)) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return kReferenceNull; } @@ -714,7 +719,7 @@ PersistentMemoryAllocator::Reference PersistentMemoryAllocator::AllocateImpl( // In production, with the current state of the code, this code path // should not be reached. However, crash reports have been hinting that it // is. Add crash keys to investigate this. - // TODO(crbug.com/1432981): Remove them once done. + // TODO(crbug.com/40064026): Remove them once done. SCOPED_CRASH_KEY_NUMBER("PersistentMemoryAllocator", "mem_size_", mem_size_); SCOPED_CRASH_KEY_NUMBER("PersistentMemoryAllocator", "mem_page_", @@ -1264,8 +1269,8 @@ span DelayedPersistentAllocation::GetUntyped() const { Reference ref = reference_->load(std::memory_order_acquire); #if !BUILDFLAG(IS_NACL) - // TODO(crbug/1432981): Remove these. They are used to investigate unexpected - // failures. + // TODO(crbug.com/40064026): Remove these. They are used to investigate + // unexpected failures. bool ref_found = (ref != 0); bool raced = false; #endif // !BUILDFLAG(IS_NACL) @@ -1299,7 +1304,7 @@ span DelayedPersistentAllocation::GetUntyped() const { uint8_t* mem = allocator_->GetAsArray(ref, type_, size_); if (!mem) { #if !BUILDFLAG(IS_NACL) - // TODO(crbug/1432981): Remove these. They are used to investigate + // TODO(crbug.com/40064026): Remove these. They are used to investigate // unexpected failures. SCOPED_CRASH_KEY_BOOL("PersistentMemoryAllocator", "full", allocator_->IsFull()); diff --git a/naiveproxy/src/base/metrics/persistent_memory_allocator.h b/naiveproxy/src/base/metrics/persistent_memory_allocator.h index 0862206885..532324947b 100644 --- a/naiveproxy/src/base/metrics/persistent_memory_allocator.h +++ b/naiveproxy/src/base/metrics/persistent_memory_allocator.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_METRICS_PERSISTENT_MEMORY_ALLOCATOR_H_ #define BASE_METRICS_PERSISTENT_MEMORY_ALLOCATOR_H_ @@ -760,7 +765,7 @@ class BASE_EXPORT PersistentMemoryAllocator { // Histogram recording errors. raw_ptr errors_histogram_ = nullptr; - // TODO(crbug.com/1432981) For debugging purposes. Remove these once done. + // TODO(crbug.com/40064026) For debugging purposes. Remove these once done. friend class DelayedPersistentAllocation; friend class metrics::FileMetricsProvider; diff --git a/naiveproxy/src/base/metrics/persistent_sample_map.cc b/naiveproxy/src/base/metrics/persistent_sample_map.cc index e40e591563..f48eab0dde 100644 --- a/naiveproxy/src/base/metrics/persistent_sample_map.cc +++ b/naiveproxy/src/base/metrics/persistent_sample_map.cc @@ -174,7 +174,7 @@ std::unique_ptr PersistentSampleMap::ExtractingIterator() { bool PersistentSampleMap::IsDefinitelyEmpty() const { // Not implemented. - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); // Always return false. If we are wrong, this will just make the caller // perform some extra work thinking that |this| is non-empty. @@ -207,7 +207,7 @@ PersistentSampleMap::CreatePersistentRecord( if (!record) { if (!allocator->IsFull()) { #if !BUILDFLAG(IS_NACL) - // TODO(crbug/1432981): Remove these. They are used to investigate + // TODO(crbug.com/40064026): Remove these. They are used to investigate // unexpected failures. SCOPED_CRASH_KEY_BOOL("PersistentSampleMap", "corrupted", allocator->IsCorrupt()); diff --git a/naiveproxy/src/base/metrics/sample_vector.cc b/naiveproxy/src/base/metrics/sample_vector.cc index 216a1c9d0d..1dd0c4e3ee 100644 --- a/naiveproxy/src/base/metrics/sample_vector.cc +++ b/naiveproxy/src/base/metrics/sample_vector.cc @@ -361,7 +361,7 @@ bool SampleVectorBase::AddSubtractImpl(SampleCountIterator* iter, if (min != bucket_ranges_->range(dest_index) || max != bucket_ranges_->range(dest_index + 1)) { #if !BUILDFLAG(IS_NACL) - // TODO(crbug/1432981): Remove these. They are used to investigate + // TODO(crbug.com/40064026): Remove these. They are used to investigate // unexpected failures. SCOPED_CRASH_KEY_NUMBER("SampleVector", "min", min); SCOPED_CRASH_KEY_NUMBER("SampleVector", "max", max); @@ -370,9 +370,10 @@ bool SampleVectorBase::AddSubtractImpl(SampleCountIterator* iter, SCOPED_CRASH_KEY_NUMBER("SampleVector", "range_max", bucket_ranges_->range(dest_index + 1)); #endif // !BUILDFLAG(IS_NACL) - NOTREACHED() << "sample=" << min << "," << max - << "; range=" << bucket_ranges_->range(dest_index) << "," - << bucket_ranges_->range(dest_index + 1); + NOTREACHED_IN_MIGRATION() + << "sample=" << min << "," << max + << "; range=" << bucket_ranges_->range(dest_index) << "," + << bucket_ranges_->range(dest_index + 1); return false; } @@ -650,7 +651,7 @@ PersistentSampleVector::~PersistentSampleVector() = default; bool PersistentSampleVector::IsDefinitelyEmpty() const { // Not implemented. - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); // Always return false. If we are wrong, this will just make the caller // perform some extra work thinking that |this| is non-empty. diff --git a/naiveproxy/src/base/metrics/sample_vector.h b/naiveproxy/src/base/metrics/sample_vector.h index 55facb75f4..75d049f551 100644 --- a/naiveproxy/src/base/metrics/sample_vector.h +++ b/naiveproxy/src/base/metrics/sample_vector.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + // SampleVector implements HistogramSamples interface. It is used by all // Histogram based classes to store samples. diff --git a/naiveproxy/src/base/metrics/sparse_histogram.cc b/naiveproxy/src/base/metrics/sparse_histogram.cc index 0f28187089..3d1278b642 100644 --- a/naiveproxy/src/base/metrics/sparse_histogram.cc +++ b/naiveproxy/src/base/metrics/sparse_histogram.cc @@ -110,7 +110,7 @@ void SparseHistogram::Add(Sample value) { void SparseHistogram::AddCount(Sample value, int count) { if (count <= 0) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return; } { diff --git a/naiveproxy/src/base/metrics/statistics_recorder.cc b/naiveproxy/src/base/metrics/statistics_recorder.cc index 25a9f68630..edb951a72e 100644 --- a/naiveproxy/src/base/metrics/statistics_recorder.cc +++ b/naiveproxy/src/base/metrics/statistics_recorder.cc @@ -356,7 +356,8 @@ void StatisticsRecorder::AddHistogramSampleObserver( auto iter = top_->observers_.find(hash); if (iter == top_->observers_.end()) { top_->observers_.insert( - {hash, base::MakeRefCounted()}); + {hash, base::MakeRefCounted( + ObserverListPolicy::EXISTING_ONLY)}); } top_->observers_[hash]->AddObserver(observer); diff --git a/naiveproxy/src/base/metrics/statistics_recorder.h b/naiveproxy/src/base/metrics/statistics_recorder.h index 441f3ee3ac..b253fe5b3f 100644 --- a/naiveproxy/src/base/metrics/statistics_recorder.h +++ b/naiveproxy/src/base/metrics/statistics_recorder.h @@ -83,7 +83,8 @@ class BASE_EXPORT StatisticsRecorder { // name and the callback to be invoked. The class starts observing on // construction and removes itself from the observer list on destruction. The // clients are always notified on the same sequence in which they were - // registered. + // registered. This will not get a notification if created while sending out + // that notification. class BASE_EXPORT ScopedHistogramSampleObserver { public: // Constructor. Called with the desired histogram name and the callback to @@ -333,9 +334,10 @@ class BASE_EXPORT StatisticsRecorder { std::string_view name) const EXCLUSIVE_LOCKS_REQUIRED(GetLock()); - // Adds an observer to be notified when a new sample is recorded on the - // histogram referred to by |histogram_name|. Can be called before or after - // the histogram is created. + // Adds an observer to be notified when a new sample is recorded on + // the histogram referred to by |histogram_name|. Observers added + // while sending out notification are not notified. Can be called + // before or after the histogram is created. // // This method is thread safe. static void AddHistogramSampleObserver( diff --git a/naiveproxy/src/base/native_library_fuchsia.cc b/naiveproxy/src/base/native_library_fuchsia.cc index 1379438a93..52c7d19bb2 100644 --- a/naiveproxy/src/base/native_library_fuchsia.cc +++ b/naiveproxy/src/base/native_library_fuchsia.cc @@ -59,7 +59,7 @@ NativeLibrary LoadNativeLibraryWithOptions(const FilePath& library_path, // Use fdio_open_fd (a Fuchsia-specific API) here so we can pass the // appropriate FS rights flags to request executability. - // TODO(crbug.com/1018538): Teach base::File about FLAG_WIN_EXECUTE on + // TODO(crbug.com/40655456): Teach base::File about FLAG_WIN_EXECUTE on // Fuchsia, and then use it here instead of using fdio_open_fd() directly. base::ScopedFD fd; zx_status_t status = fdio_open_fd( diff --git a/naiveproxy/src/base/native_library_posix.cc b/naiveproxy/src/base/native_library_posix.cc index d001113c68..ab8587de9e 100644 --- a/naiveproxy/src/base/native_library_posix.cc +++ b/naiveproxy/src/base/native_library_posix.cc @@ -53,7 +53,7 @@ void UnloadNativeLibrary(NativeLibrary library) { int ret = dlclose(library); if (ret < 0) { DLOG(ERROR) << "dlclose failed: " << dlerror(); - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } } diff --git a/naiveproxy/src/base/nix/mime_util_xdg.cc b/naiveproxy/src/base/nix/mime_util_xdg.cc index e150d6d970..2f77bedc0d 100644 --- a/naiveproxy/src/base/nix/mime_util_xdg.cc +++ b/naiveproxy/src/base/nix/mime_util_xdg.cc @@ -4,7 +4,6 @@ #include "base/nix/mime_util_xdg.h" -#include #include #include @@ -16,6 +15,7 @@ #include "base/logging.h" #include "base/nix/xdg_util.h" #include "base/no_destructor.h" +#include "base/numerics/byte_conversions.h" #include "base/ranges/algorithm.h" #include "base/strings/string_util.h" #include "base/strings/utf_string_conversion_utils.h" @@ -76,7 +76,8 @@ bool ReadInt(const std::string& buf, << ", string size=" << buf.size(); return false; } - *result = ntohl(*reinterpret_cast(buf.c_str() + offset)); + auto bytes = base::as_byte_span(buf); + *result = base::U32FromBigEndian(bytes.subspan(offset).first<4u>()); if (*result < min_result || *result > max_result) { LOG(ERROR) << "Invalid " << field_name << "=" << *result << " not between min_result=" << min_result @@ -192,11 +193,13 @@ bool ParseMimeTypes(const FilePath& file_path, MimeTypeMap& out_mime_types) { } p += 4; if (n.ext.size() > 0 && n.ext[0] == '.') { - std::string ext = n.ext.substr(1); + std::string_view ext = std::string_view(n.ext).substr(1u); auto it = out_mime_types.find(ext); if (it == out_mime_types.end() || weight > it->second.weight) { - out_mime_types[ext] = {std::string(buf.c_str() + mime_type_offset), - weight}; + // Use the mime type string from `buf` up to the first NUL. + auto mime_type = std::string_view(buf).substr(mime_type_offset); + mime_type = mime_type.substr(0u, mime_type.find('\0')); + out_mime_types[std::string(ext)] = {std::string(mime_type), weight}; } } continue; diff --git a/naiveproxy/src/base/nix/mime_util_xdg.h b/naiveproxy/src/base/nix/mime_util_xdg.h index cbb03725ed..ebb22dffcf 100644 --- a/naiveproxy/src/base/nix/mime_util_xdg.h +++ b/naiveproxy/src/base/nix/mime_util_xdg.h @@ -26,7 +26,7 @@ struct WeightedMime { }; // Map of file extension to weighted mime type. -using MimeTypeMap = std::map; +using MimeTypeMap = std::map>; // Parses a file at `file_path` which should be in the same format as the // /usr/share/mime/mime.cache file on Linux. diff --git a/naiveproxy/src/base/no_destructor.h b/naiveproxy/src/base/no_destructor.h index 8a431ba4c2..9c035c1b65 100644 --- a/naiveproxy/src/base/no_destructor.h +++ b/naiveproxy/src/base/no_destructor.h @@ -122,7 +122,7 @@ class NoDestructor { alignas(T) char storage_[sizeof(T)]; #if defined(LEAK_SANITIZER) - // TODO(https://crbug.com/812277): This is a hack to work around the fact + // TODO(crbug.com/40562930): This is a hack to work around the fact // that LSan doesn't seem to treat NoDestructor as a root for reachability // analysis. This means that code like this: // static base::NoDestructor> v({1, 2, 3}); diff --git a/naiveproxy/src/base/notreached.h b/naiveproxy/src/base/notreached.h index be7aaaa07d..248fe96a8c 100644 --- a/naiveproxy/src/base/notreached.h +++ b/naiveproxy/src/base/notreached.h @@ -10,12 +10,19 @@ #include "base/dcheck_is_on.h" #include "base/logging_buildflags.h" -// TODO(crbug.com/1520664): Remove once NOTIMPLEMENTED() call sites include +// TODO(crbug.com/41493641): Remove once NOTIMPLEMENTED() call sites include // base/notimplemented.h. #include "base/notimplemented.h" namespace logging { +// Migration in progress: For new code call either NOTREACHED_NORETURN() or +// NOTREACHED(base::NotFatalUntil::M*). Do not add new callers to NOTREACHED() +// without a parameter until this comment is updated. Existing NOTREACHED() +// instances will be renamed to NOTREACHED_IN_MIGRATION() ASAP, then +// NOTREACHED() without a parameter will refer to the [[noreturn]] +// always-fatal version which is currently spelled NOTREACHED_NORETURN(). +// // NOTREACHED() annotates should-be unreachable code. When a base::NotFatalUntil // milestone is provided the instance is non-fatal (dumps without crashing) // until that milestone is hit. That is: `NOTREACHED(base::NotFatalUntil::M120)` @@ -26,28 +33,31 @@ namespace logging { // Canary and Dev with intent to roll out to stable in M124 absent any blocking // issues that come up. // -// TODO(crbug.com/851128): After kNotReachedIsFatal is universally rolled out +// TODO(crbug.com/40580068): After kNotReachedIsFatal is universally rolled out // then move callers without a non-fatal milestone argument to // NOTREACHED_NORETURN(). Then rename the [[noreturn]] version back to // NOTREACHED(). #if CHECK_WILL_STREAM() || BUILDFLAG(ENABLE_LOG_ERROR_NOT_REACHED) -#define NOTREACHED(...) \ - LOGGING_CHECK_FUNCTION_IMPL( \ - ::logging::NotReachedError::NotReached(__VA_ARGS__), false) +#define NOTREACHED_IN_MIGRATION() \ + LOGGING_CHECK_FUNCTION_IMPL(::logging::NotReachedError::NotReached(), false) #else -#define BASE_HAS_VA_ARGS(...) 1 -#define NOTREACHED(...) \ - BASE_IF(BASE_IS_EMPTY(__VA_ARGS__), \ - (true) ? ::logging::NotReachedError::TriggerNotReached() \ - : EAT_CHECK_STREAM_PARAMS(), \ - LOGGING_CHECK_FUNCTION_IMPL( \ - ::logging::NotReachedError::NotReached(__VA_ARGS__), false)) +#define NOTREACHED_IN_MIGRATION() \ + (true) ? ::logging::NotReachedError::TriggerNotReached() \ + : EAT_CHECK_STREAM_PARAMS() #endif +// TODO(crbug.com/40580068): Migrate existing NOTREACHED() instances to +// NOTREACHED_IN_MIGRATION() then replace the NOTREACHED_IN_MIGRATION() branch +// here with the NOTREACHED_NORETURN() implementation. +#define NOTREACHED(...) \ + BASE_IF(BASE_IS_EMPTY(__VA_ARGS__), NOTREACHED_IN_MIGRATION(), \ + LOGGING_CHECK_FUNCTION_IMPL( \ + ::logging::NotReachedError::NotReached(__VA_ARGS__), false)) + // NOTREACHED_NORETURN() annotates paths that are supposed to be unreachable. // They crash if they are ever hit. -// TODO(crbug.com/851128): Rename back to NOTREACHED() once there are no callers -// of the old non-CHECK-fatal macro. +// TODO(crbug.com/40580068): Rename back to NOTREACHED() once there are no +// callers of the old non-CHECK-fatal macro. #if CHECK_WILL_STREAM() #define NOTREACHED_NORETURN() ::logging::NotReachedNoreturnError() #else diff --git a/naiveproxy/src/base/numerics/.clang-tidy b/naiveproxy/src/base/numerics/.clang-tidy new file mode 100644 index 0000000000..f403894854 --- /dev/null +++ b/naiveproxy/src/base/numerics/.clang-tidy @@ -0,0 +1,2 @@ +InheritParentConfig: true +Checks: misc-include-cleaner diff --git a/naiveproxy/src/base/numerics/.clangd b/naiveproxy/src/base/numerics/.clangd new file mode 100644 index 0000000000..f8cd025750 --- /dev/null +++ b/naiveproxy/src/base/numerics/.clangd @@ -0,0 +1,3 @@ +Diagnostics: + UnusedIncludes: Strict + MissingIncludes: Strict diff --git a/naiveproxy/src/base/numerics/basic_ops_impl.h b/naiveproxy/src/base/numerics/basic_ops_impl.h index 16922d93cf..857c7e2a89 100644 --- a/naiveproxy/src/base/numerics/basic_ops_impl.h +++ b/naiveproxy/src/base/numerics/basic_ops_impl.h @@ -5,7 +5,7 @@ #ifndef BASE_NUMERICS_BASIC_OPS_IMPL_H_ #define BASE_NUMERICS_BASIC_OPS_IMPL_H_ -#include +#include #include #include #include diff --git a/naiveproxy/src/base/numerics/checked_math.h b/naiveproxy/src/base/numerics/checked_math.h index bc1959e267..36e5ab65de 100644 --- a/naiveproxy/src/base/numerics/checked_math.h +++ b/naiveproxy/src/base/numerics/checked_math.h @@ -5,12 +5,13 @@ #ifndef BASE_NUMERICS_CHECKED_MATH_H_ #define BASE_NUMERICS_CHECKED_MATH_H_ -#include - +#include #include #include -#include "base/numerics/checked_math_impl.h" +#include "base/numerics/checked_math_impl.h" // IWYU pragma: export +#include "base/numerics/safe_conversions.h" +#include "base/numerics/safe_math_shared_impl.h" // IWYU pragma: export namespace base { namespace internal { diff --git a/naiveproxy/src/base/numerics/checked_math_impl.h b/naiveproxy/src/base/numerics/checked_math_impl.h index 03e86bae54..90fe4c25a3 100644 --- a/naiveproxy/src/base/numerics/checked_math_impl.h +++ b/naiveproxy/src/base/numerics/checked_math_impl.h @@ -5,18 +5,17 @@ #ifndef BASE_NUMERICS_CHECKED_MATH_IMPL_H_ #define BASE_NUMERICS_CHECKED_MATH_IMPL_H_ -#include +// IWYU pragma: private, include "base/numerics/checked_math.h" + #include -#include #include #include -#include #include #include #include "base/numerics/safe_conversions.h" -#include "base/numerics/safe_math_shared_impl.h" +#include "base/numerics/safe_math_shared_impl.h" // IWYU pragma: export namespace base { namespace internal { diff --git a/naiveproxy/src/base/numerics/clamped_math.h b/naiveproxy/src/base/numerics/clamped_math.h index fad5bba128..76ae970f6a 100644 --- a/naiveproxy/src/base/numerics/clamped_math.h +++ b/naiveproxy/src/base/numerics/clamped_math.h @@ -5,12 +5,11 @@ #ifndef BASE_NUMERICS_CLAMPED_MATH_H_ #define BASE_NUMERICS_CLAMPED_MATH_H_ -#include - -#include #include -#include "base/numerics/clamped_math_impl.h" +#include "base/numerics/clamped_math_impl.h" // IWYU pragma: export +#include "base/numerics/safe_conversions.h" +#include "base/numerics/safe_math_shared_impl.h" // IWYU pragma: export namespace base { namespace internal { diff --git a/naiveproxy/src/base/numerics/clamped_math_impl.h b/naiveproxy/src/base/numerics/clamped_math_impl.h index 6e411071be..f4511913da 100644 --- a/naiveproxy/src/base/numerics/clamped_math_impl.h +++ b/naiveproxy/src/base/numerics/clamped_math_impl.h @@ -5,19 +5,15 @@ #ifndef BASE_NUMERICS_CLAMPED_MATH_IMPL_H_ #define BASE_NUMERICS_CLAMPED_MATH_IMPL_H_ -#include -#include +// IWYU pragma: private, include "base/numerics/clamped_math.h" -#include -#include #include -#include #include #include #include "base/numerics/checked_math.h" #include "base/numerics/safe_conversions.h" -#include "base/numerics/safe_math_shared_impl.h" +#include "base/numerics/safe_math_shared_impl.h" // IWYU pragma: export namespace base { namespace internal { diff --git a/naiveproxy/src/base/numerics/safe_conversions.h b/naiveproxy/src/base/numerics/safe_conversions.h index 34e3f12ced..ab447d3fd6 100644 --- a/naiveproxy/src/base/numerics/safe_conversions.h +++ b/naiveproxy/src/base/numerics/safe_conversions.h @@ -12,10 +12,10 @@ #include #include -#include "base/numerics/safe_conversions_impl.h" +#include "base/numerics/safe_conversions_impl.h" // IWYU pragma: export #if defined(__ARMEL__) && !defined(__native_client__) -#include "base/numerics/safe_conversions_arm_impl.h" +#include "base/numerics/safe_conversions_arm_impl.h" // IWYU pragma: export #define BASE_HAS_OPTIMIZED_SAFE_CONVERSIONS (1) #else #define BASE_HAS_OPTIMIZED_SAFE_CONVERSIONS (0) diff --git a/naiveproxy/src/base/numerics/safe_conversions_arm_impl.h b/naiveproxy/src/base/numerics/safe_conversions_arm_impl.h index abbf71e86c..179d555454 100644 --- a/naiveproxy/src/base/numerics/safe_conversions_arm_impl.h +++ b/naiveproxy/src/base/numerics/safe_conversions_arm_impl.h @@ -5,8 +5,9 @@ #ifndef BASE_NUMERICS_SAFE_CONVERSIONS_ARM_IMPL_H_ #define BASE_NUMERICS_SAFE_CONVERSIONS_ARM_IMPL_H_ -#include -#include +// IWYU pragma: private, include "base/numerics/safe_conversions.h" + +#include #include #include "base/numerics/safe_conversions_impl.h" diff --git a/naiveproxy/src/base/numerics/safe_conversions_impl.h b/naiveproxy/src/base/numerics/safe_conversions_impl.h index c5c4726c09..d322fafd60 100644 --- a/naiveproxy/src/base/numerics/safe_conversions_impl.h +++ b/naiveproxy/src/base/numerics/safe_conversions_impl.h @@ -5,6 +5,9 @@ #ifndef BASE_NUMERICS_SAFE_CONVERSIONS_IMPL_H_ #define BASE_NUMERICS_SAFE_CONVERSIONS_IMPL_H_ +// IWYU pragma: private, include "base/numerics/safe_conversions.h" + +#include #include #include diff --git a/naiveproxy/src/base/numerics/safe_math.h b/naiveproxy/src/base/numerics/safe_math.h index 25d10f6981..abe5eb7f08 100644 --- a/naiveproxy/src/base/numerics/safe_math.h +++ b/naiveproxy/src/base/numerics/safe_math.h @@ -5,8 +5,8 @@ #ifndef BASE_NUMERICS_SAFE_MATH_H_ #define BASE_NUMERICS_SAFE_MATH_H_ -#include "base/numerics/checked_math.h" -#include "base/numerics/clamped_math.h" -#include "base/numerics/safe_conversions.h" +#include "base/numerics/checked_math.h" // IWYU pragma: export +#include "base/numerics/clamped_math.h" // IWYU pragma: export +#include "base/numerics/safe_conversions.h" // IWYU pragma: export #endif // BASE_NUMERICS_SAFE_MATH_H_ diff --git a/naiveproxy/src/base/numerics/safe_math_arm_impl.h b/naiveproxy/src/base/numerics/safe_math_arm_impl.h index e513775cdd..952a7424aa 100644 --- a/naiveproxy/src/base/numerics/safe_math_arm_impl.h +++ b/naiveproxy/src/base/numerics/safe_math_arm_impl.h @@ -5,8 +5,10 @@ #ifndef BASE_NUMERICS_SAFE_MATH_ARM_IMPL_H_ #define BASE_NUMERICS_SAFE_MATH_ARM_IMPL_H_ +// IWYU pragma: private + +#include #include -#include #include "base/numerics/safe_conversions.h" diff --git a/naiveproxy/src/base/numerics/safe_math_clang_gcc_impl.h b/naiveproxy/src/base/numerics/safe_math_clang_gcc_impl.h index c5a89d99d2..a31d61ed5b 100644 --- a/naiveproxy/src/base/numerics/safe_math_clang_gcc_impl.h +++ b/naiveproxy/src/base/numerics/safe_math_clang_gcc_impl.h @@ -5,14 +5,16 @@ #ifndef BASE_NUMERICS_SAFE_MATH_CLANG_GCC_IMPL_H_ #define BASE_NUMERICS_SAFE_MATH_CLANG_GCC_IMPL_H_ -#include +// IWYU pragma: private + +#include #include #include #include "base/numerics/safe_conversions.h" #if !defined(__native_client__) && (defined(__ARMEL__) || defined(__arch64__)) -#include "base/numerics/safe_math_arm_impl.h" +#include "base/numerics/safe_math_arm_impl.h" // IWYU pragma: export #define BASE_HAS_ASSEMBLER_SAFE_MATH (1) #else #define BASE_HAS_ASSEMBLER_SAFE_MATH (0) diff --git a/naiveproxy/src/base/numerics/safe_math_shared_impl.h b/naiveproxy/src/base/numerics/safe_math_shared_impl.h index 8f567f333c..313048256a 100644 --- a/naiveproxy/src/base/numerics/safe_math_shared_impl.h +++ b/naiveproxy/src/base/numerics/safe_math_shared_impl.h @@ -5,15 +5,9 @@ #ifndef BASE_NUMERICS_SAFE_MATH_SHARED_IMPL_H_ #define BASE_NUMERICS_SAFE_MATH_SHARED_IMPL_H_ -#include -#include +// IWYU pragma: private -#include -#include -#include #include -#include -#include #include #include "base/numerics/safe_conversions.h" @@ -28,7 +22,7 @@ ((__clang_major__ > 3) || \ (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ (defined(__GNUC__) && __GNUC__ >= 5)) -#include "base/numerics/safe_math_clang_gcc_impl.h" +#include "base/numerics/safe_math_clang_gcc_impl.h" // IWYU pragma: export #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) #else #define BASE_HAS_OPTIMIZED_SAFE_MATH (0) diff --git a/naiveproxy/src/base/observer_list.h b/naiveproxy/src/base/observer_list.h index 70f006bc8d..8f9165c94e 100644 --- a/naiveproxy/src/base/observer_list.h +++ b/naiveproxy/src/base/observer_list.h @@ -145,7 +145,7 @@ class ObserverList { ? std::numeric_limits::max() : list->observers_.size()) { DCHECK(list); - // TODO(crbug.com/1423093): Turn into CHECK once very prevalent failures + // TODO(crbug.com/40063488): Turn into CHECK once very prevalent failures // are weeded out. DUMP_WILL_BE_CHECK(allow_reentrancy || list_.IsOnlyRemainingNode()); // Bind to this sequence when creating the first iterator. @@ -276,8 +276,8 @@ class ObserverList { live_iterators_.head()->value()->Invalidate(); if (check_empty) { Compact(); - // TODO(crbug.com/1423093): Turn into a CHECK once very prevalent failures - // are weeded out. + // TODO(crbug.com/40063488): Turn into a CHECK once very prevalent + // failures are weeded out. DUMP_WILL_BE_CHECK(observers_.empty()) << "\n" << GetObserversCreationStackString(); @@ -291,7 +291,7 @@ class ObserverList { // Precondition: !HasObserver(obs) void AddObserver(ObserverType* obs) { DCHECK(obs); - // TODO(crbug.com/1423093): Turn this into a CHECK once very prevalent + // TODO(crbug.com/40063488): Turn this into a CHECK once very prevalent // failures are weeded out. if (HasObserver(obs)) { DUMP_WILL_BE_NOTREACHED_NORETURN() << "Observers can only be added once!"; @@ -322,7 +322,7 @@ class ObserverList { // Determine whether a particular observer is in the list. bool HasObserver(const ObserverType* obs) const { // Client code passing null could be confused by the treatment of observers - // removed mid-iteration. TODO(https://crbug.com/876588): This should + // removed mid-iteration. TODO(crbug.com/40590447): This should // probably DCHECK, but some client code currently does pass null. if (obs == nullptr) return false; diff --git a/naiveproxy/src/base/os_compat_android.cc b/naiveproxy/src/base/os_compat_android.cc index 9e95a849dc..8bdd84a558 100644 --- a/naiveproxy/src/base/os_compat_android.cc +++ b/naiveproxy/src/base/os_compat_android.cc @@ -4,31 +4,25 @@ #include "base/os_compat_android.h" +#include + #include #include -#include -#include -#include #include #include -#include "base/strings/string_util.h" -#if !defined(__LP64__) -#include -#endif - -#include "base/files/file.h" +#include "base/containers/span.h" #include "base/numerics/safe_conversions.h" -#include "base/rand_util.h" -#include "base/strings/string_piece.h" extern "C" { -// There is no futimes() avaiable in Bionic, so we provide our own -// implementation until it is there. -int futimes(int fd, const struct timeval tv[2]) { - if (tv == nullptr) +#if __ANDROID_API__ < 26 +int futimes(int fd, const struct timeval tv_ptr[2]) { + if (tv_ptr == nullptr) { return base::checked_cast(syscall(__NR_utimensat, fd, NULL, NULL, 0)); + } + // SAFETY: The caller is required to give an array of two elements. + auto tv = UNSAFE_BUFFERS(base::make_span<2u>(tv_ptr, 2u)); if (tv[0].tv_usec < 0 || tv[0].tv_usec >= 1000000 || tv[1].tv_usec < 0 || tv[1].tv_usec >= 1000000) { errno = EINVAL; @@ -36,143 +30,14 @@ int futimes(int fd, const struct timeval tv[2]) { } // Convert timeval to timespec. - struct timespec ts[2]; + std::array ts; ts[0].tv_sec = tv[0].tv_sec; ts[0].tv_nsec = tv[0].tv_usec * 1000; ts[1].tv_sec = tv[1].tv_sec; ts[1].tv_nsec = tv[1].tv_usec * 1000; - return base::checked_cast(syscall(__NR_utimensat, fd, NULL, ts, 0)); -} - -#if !defined(__LP64__) -// 32-bit Android has only timegm64() and not timegm(). -// We replicate the behaviour of timegm() when the result overflows time_t. -time_t timegm(struct tm* const t) { - // time_t is signed on Android. - static const time_t kTimeMax = ~(1L << (sizeof(time_t) * CHAR_BIT - 1)); - static const time_t kTimeMin = (1L << (sizeof(time_t) * CHAR_BIT - 1)); - time64_t result = timegm64(t); - if (result < kTimeMin || result > kTimeMax) - return -1; - return static_cast(result); + return base::checked_cast( + syscall(__NR_utimensat, fd, NULL, ts.data(), 0)); } #endif -// The following is only needed when building with GCC 4.6 or higher -// (i.e. not with Android GCC 4.4.3, nor with Clang). -// -// GCC is now capable of optimizing successive calls to sin() and cos() into -// a single call to sincos(). This means that source code that looks like: -// -// double c, s; -// c = cos(angle); -// s = sin(angle); -// -// Will generate machine code that looks like: -// -// double c, s; -// sincos(angle, &s, &c); -// -// Unfortunately, sincos() and friends are not part of the Android libm.so -// library provided by the NDK for API level 9. When the optimization kicks -// in, it makes the final build fail with a puzzling message (puzzling -// because 'sincos' doesn't appear anywhere in the sources!). -// -// To solve this, we provide our own implementation of the sincos() function -// and related friends. Note that we must also explicitely tell GCC to disable -// optimizations when generating these. Otherwise, the generated machine code -// for each function would simply end up calling itself, resulting in a -// runtime crash due to stack overflow. -// -#if defined(__GNUC__) && !defined(__clang__) && \ - !defined(ANDROID_SINCOS_PROVIDED) - -// For the record, Clang does not support the 'optimize' attribute. -// In the unlikely event that it begins performing this optimization too, -// we'll have to find a different way to achieve this. NOTE: Tested with O1 -// which still performs the optimization. -// -#define GCC_NO_OPTIMIZE __attribute__((optimize("O0"))) - -GCC_NO_OPTIMIZE -void sincos(double angle, double* s, double *c) { - *c = cos(angle); - *s = sin(angle); -} - -GCC_NO_OPTIMIZE -void sincosf(float angle, float* s, float* c) { - *c = cosf(angle); - *s = sinf(angle); -} - -#endif // __GNUC__ && !__clang__ - -// An implementation of mkdtemp, since it is not exposed by the NDK -// for native API level 9 that we target. -// -// For any changes in the mkdtemp function, you should manually run the unittest -// OsCompatAndroidTest.DISABLED_TestMkdTemp in your local machine to check if it -// passes. Please don't enable it, since it creates a directory and may be -// source of flakyness. -char* mkdtemp(char* path) { - if (!path) { - errno = EINVAL; - return nullptr; - } - - const size_t path_len = strlen(path); - - // The last six characters of 'path' must be XXXXXX. - const base::StringPiece kSuffix("XXXXXX"); - const size_t kSuffixLen = kSuffix.length(); - if (!base::EndsWith(base::StringPiece(path, path_len), kSuffix)) { - errno = EINVAL; - return nullptr; - } - - // If the path contains a directory, as in /tmp/foo/XXXXXXXX, make sure - // that /tmp/foo exists, otherwise we're going to loop a really long - // time for nothing below - char* dirsep = strrchr(path, '/'); - if (dirsep) { - *dirsep = '\0'; // Terminating directory path temporarily - - base::stat_wrapper_t st; - int ret = base::File::Stat(path, &st); - - *dirsep = '/'; // Restoring directory separator - if (ret < 0) // Directory probably does not exist - return nullptr; - if (!S_ISDIR(st.st_mode)) { // Not a directory - errno = ENOTDIR; - return nullptr; - } - } - - // Max number of tries using different random suffixes. - const int kMaxTries = 100; - - // Now loop until we CAN create a directory by that name or we reach the max - // number of tries. - for (int i = 0; i < kMaxTries; ++i) { - // Fill the suffix XXXXXX with a random string composed of a-z chars. - for (size_t pos = 0; pos < kSuffixLen; ++pos) { - char rand_char = static_cast(base::RandInt('a', 'z')); - path[path_len - kSuffixLen + pos] = rand_char; - } - if (mkdir(path, 0700) == 0) { - // We just created the directory succesfully. - return path; - } - if (errno != EEXIST) { - // The directory doesn't exist, but an error occured - return nullptr; - } - } - - // We reached the max number of tries. - return nullptr; -} - } // extern "C" diff --git a/naiveproxy/src/base/os_compat_android.h b/naiveproxy/src/base/os_compat_android.h index 21dfcc1516..2c5e425683 100644 --- a/naiveproxy/src/base/os_compat_android.h +++ b/naiveproxy/src/base/os_compat_android.h @@ -9,13 +9,8 @@ #include #include -// Not implemented in Bionic. +#if __ANDROID_API__ < 26 extern "C" int futimes(int fd, const struct timeval tv[2]); - -// Not exposed or implemented in Bionic. -extern "C" char* mkdtemp(char* path); - -// Android has no timegm(). -extern "C" time_t timegm(struct tm* const t); +#endif #endif // BASE_OS_COMPAT_ANDROID_H_ diff --git a/naiveproxy/src/base/pickle.cc b/naiveproxy/src/base/pickle.cc index 841985698e..e67971e565 100644 --- a/naiveproxy/src/base/pickle.cc +++ b/naiveproxy/src/base/pickle.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/pickle.h" #include diff --git a/naiveproxy/src/base/pickle.h b/naiveproxy/src/base/pickle.h index 5b355b58fc..ec297d38b9 100644 --- a/naiveproxy/src/base/pickle.h +++ b/naiveproxy/src/base/pickle.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_PICKLE_H_ #define BASE_PICKLE_H_ diff --git a/naiveproxy/src/base/posix/safe_strerror.cc b/naiveproxy/src/base/posix/safe_strerror.cc index d9242fafc4..837412bafc 100644 --- a/naiveproxy/src/base/posix/safe_strerror.cc +++ b/naiveproxy/src/base/posix/safe_strerror.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/posix/safe_strerror.h" #include diff --git a/naiveproxy/src/base/posix/unix_domain_socket.cc b/naiveproxy/src/base/posix/unix_domain_socket.cc index cb3b0a4558..b64bb33a3b 100644 --- a/naiveproxy/src/base/posix/unix_domain_socket.cc +++ b/naiveproxy/src/base/posix/unix_domain_socket.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/posix/unix_domain_socket.h" #include @@ -274,7 +279,7 @@ ssize_t UnixDomainSocket::SendRecvMsgWithFlags(int fd, // If we received more file descriptors than caller expected, then we treat // that as an error. if (recv_fds.size() > (result_fd != nullptr ? 1 : 0)) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return -1; } diff --git a/naiveproxy/src/base/power_monitor/battery_level_provider.cc b/naiveproxy/src/base/power_monitor/battery_level_provider.cc index 8b9ccd01dc..cd6e6ca83f 100644 --- a/naiveproxy/src/base/power_monitor/battery_level_provider.cc +++ b/naiveproxy/src/base/power_monitor/battery_level_provider.cc @@ -12,10 +12,10 @@ namespace base { #if !BUILDFLAG(HAS_BATTERY_LEVEL_PROVIDER_IMPL) std::unique_ptr BatteryLevelProvider::Create() { #if BUILDFLAG(IS_CHROMEOS_ASH) - // TODO(crbug.com/1373560): ChromeOS doesn't define + // TODO(crbug.com/40871810): ChromeOS doesn't define // `HAS_BATTERY_LEVEL_PROVIDER_IMPL` but still supplies its own // `BatteryLevelProvider` - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); #endif return nullptr; } diff --git a/naiveproxy/src/base/power_monitor/battery_level_provider_win.cc b/naiveproxy/src/base/power_monitor/battery_level_provider_win.cc index 4e0d9f62bf..97efdc0e1d 100644 --- a/naiveproxy/src/base/power_monitor/battery_level_provider_win.cc +++ b/naiveproxy/src/base/power_monitor/battery_level_provider_win.cc @@ -79,7 +79,7 @@ std::optional GetBatteryTag(HANDLE battery) { if (::GetLastError() == ERROR_FILE_NOT_FOUND) { // No battery present in this interface. // - // TODO(crbug.com/1191045): Change CHECK to DCHECK in October 2022 after + // TODO(crbug.com/40756364): Change CHECK to DCHECK in October 2022 after // verifying that there are no crash reports. CHECK_EQ(battery_tag, static_cast(BATTERY_TAG_INVALID)); return battery_tag; diff --git a/naiveproxy/src/base/power_monitor/battery_state_sampler.cc b/naiveproxy/src/base/power_monitor/battery_state_sampler.cc index e1a9278c0b..32941516ec 100644 --- a/naiveproxy/src/base/power_monitor/battery_state_sampler.cc +++ b/naiveproxy/src/base/power_monitor/battery_state_sampler.cc @@ -52,7 +52,7 @@ BatteryStateSampler::~BatteryStateSampler() { BatteryStateSampler* BatteryStateSampler::Get() { // On a platform with a BatteryLevelProvider implementation, the global // instance must be created before accessing it. - // TODO(crbug.com/1373560): ChromeOS currently doesn't define + // TODO(crbug.com/40871810): ChromeOS currently doesn't define // `HAS_BATTERY_LEVEL_PROVIDER_IMPL` but it should once the locations of the // providers and sampling sources are consolidated. #if BUILDFLAG(HAS_BATTERY_LEVEL_PROVIDER_IMPL) || BUILDFLAG(IS_CHROMEOS_ASH) diff --git a/naiveproxy/src/base/power_monitor/power_monitor_source.cc b/naiveproxy/src/base/power_monitor/power_monitor_source.cc index b1428f6b3d..6c3340f2cd 100644 --- a/naiveproxy/src/base/power_monitor/power_monitor_source.cc +++ b/naiveproxy/src/base/power_monitor/power_monitor_source.cc @@ -81,7 +81,7 @@ const char* PowerMonitorSource::DeviceThermalStateToString( case PowerThermalObserver::DeviceThermalState::kCritical: return "Critical"; } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return "Unknown"; } diff --git a/naiveproxy/src/base/power_monitor/thermal_state_observer_mac.mm b/naiveproxy/src/base/power_monitor/thermal_state_observer_mac.mm index 44f2a65677..38b4d79ed5 100644 --- a/naiveproxy/src/base/power_monitor/thermal_state_observer_mac.mm +++ b/naiveproxy/src/base/power_monitor/thermal_state_observer_mac.mm @@ -35,7 +35,7 @@ NSProcessInfoThermalStateToDeviceThermalState( case NSProcessInfoThermalStateCritical: return base::PowerThermalObserver::DeviceThermalState::kCritical; } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return base::PowerThermalObserver::DeviceThermalState::kUnknown; } } diff --git a/naiveproxy/src/base/process/environment_internal.cc b/naiveproxy/src/base/process/environment_internal.cc index c1dacc4397..f5532f848b 100644 --- a/naiveproxy/src/base/process/environment_internal.cc +++ b/naiveproxy/src/base/process/environment_internal.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/process/environment_internal.h" #include diff --git a/naiveproxy/src/base/process/internal_aix.cc b/naiveproxy/src/base/process/internal_aix.cc index 78c20a4351..cf2dcbf3db 100644 --- a/naiveproxy/src/base/process/internal_aix.cc +++ b/naiveproxy/src/base/process/internal_aix.cc @@ -51,7 +51,7 @@ pid_t ProcDirSlotToPid(const char* d_name) { pid_t pid; std::string pid_string(d_name); if (!StringToInt(pid_string, &pid)) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return 0; } return pid; diff --git a/naiveproxy/src/base/process/internal_linux.cc b/naiveproxy/src/base/process/internal_linux.cc index 67d3528834..382dd64696 100644 --- a/naiveproxy/src/base/process/internal_linux.cc +++ b/naiveproxy/src/base/process/internal_linux.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/process/internal_linux.h" #include @@ -64,7 +69,7 @@ pid_t ProcDirSlotToPid(const char* d_name) { pid_t pid; std::string pid_string(d_name); if (!StringToInt(pid_string, &pid)) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return 0; } return pid; @@ -77,7 +82,6 @@ bool ReadProcFile(const FilePath& file, std::string* buffer) { ScopedAllowBlocking scoped_allow_blocking; if (!ReadFileToString(file, buffer)) { - DLOG(WARNING) << "Failed to read " << file.MaybeAsASCII(); return false; } return !buffer->empty(); @@ -112,12 +116,12 @@ size_t ReadProcStatusAndGetKbFieldAsSizeT(pid_t pid, std::string_view field) { std::vector split_value_str = SplitStringPiece(value_str, " ", TRIM_WHITESPACE, SPLIT_WANT_ALL); if (split_value_str.size() != 2 || split_value_str[1] != "kB") { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return 0; } size_t value; if (!StringToSizeT(split_value_str[0], &value)) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return 0; } return value; @@ -174,7 +178,7 @@ bool ParseProcStats(const std::string& stats_data, close_parens_idx == std::string::npos || open_parens_idx > close_parens_idx) { DLOG(WARNING) << "Failed to find matched parens in '" << stats_data << "'"; - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return false; } open_parens_idx++; diff --git a/naiveproxy/src/base/process/kill.h b/naiveproxy/src/base/process/kill.h index d25be223c6..c78f182ae0 100644 --- a/naiveproxy/src/base/process/kill.h +++ b/naiveproxy/src/base/process/kill.h @@ -50,6 +50,8 @@ const DWORD kProcessKilledExitCode = 1; // // Used for metrics. Keep in sync with the "TerminationStatus" histogram enum. // Do not repurpose previously used indexes. +// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.base +// GENERATED_JAVA_PREFIX_TO_STRIP: TERMINATION_STATUS_ enum TerminationStatus { // Zero exit status. TERMINATION_STATUS_NORMAL_TERMINATION = 0, @@ -132,7 +134,7 @@ BASE_EXPORT void EnsureProcessGetsReaped(Process process); // terminated if necessary, and reaped on exit. The caller should have signalled // |process| to exit before calling this API. The API will allow a couple of // seconds grace period before forcibly terminating |process|. -// TODO(https://crbug.com/806451): The Mac implementation currently blocks the +// TODO(crbug.com/41367359): The Mac implementation currently blocks the // calling thread for up to two seconds. BASE_EXPORT void EnsureProcessTerminated(Process process); diff --git a/naiveproxy/src/base/process/launch_posix.cc b/naiveproxy/src/base/process/launch_posix.cc index 11b5bac17c..0e53a62fae 100644 --- a/naiveproxy/src/base/process/launch_posix.cc +++ b/naiveproxy/src/base/process/launch_posix.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/process/launch.h" #include diff --git a/naiveproxy/src/base/process/memory.cc b/naiveproxy/src/base/process/memory.cc index a5b8f9710d..e0c256137b 100644 --- a/naiveproxy/src/base/process/memory.cc +++ b/naiveproxy/src/base/process/memory.cc @@ -13,7 +13,7 @@ #include "build/build_config.h" #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_PARTITION_ALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC) #include "partition_alloc/page_allocator.h" #endif @@ -28,7 +28,7 @@ namespace base { // Defined in memory_mac.mm for macOS + use_partition_alloc_as_malloc=false. // In case of use_partition_alloc_as_malloc=true, no need to route the call to // the system default calloc of macOS. -#if !BUILDFLAG(IS_APPLE) || BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if !BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) bool UncheckedCalloc(size_t num_items, size_t size, void** result) { const size_t alloc_size = num_items * size; @@ -46,11 +46,11 @@ bool UncheckedCalloc(size_t num_items, size_t size, void** result) { return true; } -#endif // !BUILDFLAG(IS_APPLE) || BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // !BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) namespace internal { bool ReleaseAddressSpaceReservation() { -#if BUILDFLAG(USE_PARTITION_ALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC) return partition_alloc::ReleaseReservation(); #else return false; diff --git a/naiveproxy/src/base/process/memory.h b/naiveproxy/src/base/process/memory.h index e37846d98b..7922b37997 100644 --- a/naiveproxy/src/base/process/memory.h +++ b/naiveproxy/src/base/process/memory.h @@ -75,7 +75,7 @@ using partition_alloc::win::kOomExceptionCode; // *Must* be used to free memory allocated with base::UncheckedMalloc() and // base::UncheckedCalloc(). -// TODO(crbug.com/1279371): Enforce it, when all callers are converted. +// TODO(crbug.com/40208525): Enforce it, when all callers are converted. BASE_EXPORT void UncheckedFree(void* ptr); // Function object which invokes 'UncheckedFree' on its parameter, which should diff --git a/naiveproxy/src/base/process/memory_fuchsia.cc b/naiveproxy/src/base/process/memory_fuchsia.cc index 59add70b43..121c7f24d0 100644 --- a/naiveproxy/src/base/process/memory_fuchsia.cc +++ b/naiveproxy/src/base/process/memory_fuchsia.cc @@ -6,7 +6,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #include "partition_alloc/shim/allocator_shim.h" #endif @@ -23,7 +23,7 @@ void EnableTerminationOnHeapCorruption() { } bool UncheckedMalloc(size_t size, void** result) { -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) *result = allocator_shim::UncheckedAlloc(size); #else *result = malloc(size); @@ -32,7 +32,7 @@ bool UncheckedMalloc(size_t size, void** result) { } void UncheckedFree(void* ptr) { -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) allocator_shim::UncheckedFree(ptr); #else free(ptr); diff --git a/naiveproxy/src/base/process/memory_linux.cc b/naiveproxy/src/base/process/memory_linux.cc index d712594363..9399786288 100644 --- a/naiveproxy/src/base/process/memory_linux.cc +++ b/naiveproxy/src/base/process/memory_linux.cc @@ -18,7 +18,7 @@ #include "partition_alloc/partition_alloc_buildflags.h" #include "partition_alloc/shim/allocator_shim.h" -#if !BUILDFLAG(USE_ALLOCATOR_SHIM) && \ +#if !PA_BUILDFLAG(USE_ALLOCATOR_SHIM) && \ !defined(MEMORY_TOOL_REPLACES_ALLOCATOR) && defined(LIBC_GLIBC) extern "C" { void* __libc_malloc(size_t); @@ -48,7 +48,7 @@ void EnableTerminationOnOutOfMemory() { // If we're using glibc's allocator, the above functions will override // malloc and friends and make them die on out of memory. -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) allocator_shim::SetCallNewHandlerOnMallocFailure(true); #endif } @@ -114,7 +114,7 @@ bool AdjustOOMScore(ProcessId process, int score) { } bool UncheckedMalloc(size_t size, void** result) { -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) *result = allocator_shim::UncheckedAlloc(size); #elif defined(MEMORY_TOOL_REPLACES_ALLOCATOR) || !defined(LIBC_GLIBC) *result = malloc(size); @@ -125,7 +125,7 @@ bool UncheckedMalloc(size_t size, void** result) { } void UncheckedFree(void* ptr) { -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) allocator_shim::UncheckedFree(ptr); #elif defined(MEMORY_TOOL_REPLACES_ALLOCATOR) || !defined(LIBC_GLIBC) free(ptr); diff --git a/naiveproxy/src/base/process/memory_mac.mm b/naiveproxy/src/base/process/memory_mac.mm index bbecc1a9ee..bb14d92ffc 100644 --- a/naiveproxy/src/base/process/memory_mac.mm +++ b/naiveproxy/src/base/process/memory_mac.mm @@ -27,7 +27,7 @@ void EnableTerminationOnHeapCorruption() { } bool UncheckedMalloc(size_t size, void** result) { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) // Unchecked allocations can happen before the default malloc() zone is // registered. In this case, going straight to the shim may explode, since the // memory will come from a zone which is unknown to the dispatching code in @@ -59,28 +59,28 @@ bool UncheckedMalloc(size_t size, void** result) { // replaced with PartitionAlloc, so the allocator shim functions work best. *result = allocator_shim::UncheckedAlloc(size); return *result != nullptr; -#elif BUILDFLAG(USE_ALLOCATOR_SHIM) +#elif PA_BUILDFLAG(USE_ALLOCATOR_SHIM) return allocator_shim::UncheckedMallocMac(size, result); -#else // !BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && - // !BUILDFLAG(USE_ALLOCATOR_SHIM) +#else // !PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && + // !PA_BUILDFLAG(USE_ALLOCATOR_SHIM) *result = malloc(size); return *result != nullptr; -#endif // !BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && - // !BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // !PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && + // !PA_BUILDFLAG(USE_ALLOCATOR_SHIM) } // The standard version is defined in memory.cc in case of // USE_PARTITION_ALLOC_AS_MALLOC. -#if !BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if !PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) bool UncheckedCalloc(size_t num_items, size_t size, void** result) { -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) return allocator_shim::UncheckedCallocMac(num_items, size, result); #else *result = calloc(num_items, size); return *result != nullptr; -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) } -#endif // !BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // !PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) void EnableTerminationOnOutOfMemory() { // Step 1: Enable OOM killer on C++ failures. @@ -88,23 +88,23 @@ void EnableTerminationOnOutOfMemory() { // Step 2: Enable OOM killer on C-malloc failures for the default zone (if we // have a shim). -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) allocator_shim::SetCallNewHandlerOnMallocFailure(true); // Step 3: Enable OOM killer on all other malloc zones (or just "all" without // "other" if shim is disabled). allocator_shim::InterceptAllocationsMac(); -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) } void UncheckedFree(void* ptr) { -#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) // Important: might be different from free(), because in some cases, free() // does not necessarily know about allocator_shim::* functions. allocator_shim::UncheckedFree(ptr); -#else // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#else // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) free(ptr); -#endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#endif // PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) } } // namespace base diff --git a/naiveproxy/src/base/process/memory_win.cc b/naiveproxy/src/base/process/memory_win.cc index 2d8c73d617..b032bbf1b5 100644 --- a/naiveproxy/src/base/process/memory_win.cc +++ b/naiveproxy/src/base/process/memory_win.cc @@ -6,9 +6,9 @@ #include "partition_alloc/partition_alloc_buildflags.h" -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #include "partition_alloc/shim/allocator_shim.h" -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) #include // Must be in front of other Windows header files. @@ -44,23 +44,23 @@ void EnableTerminationOnOutOfMemory() { } bool UncheckedMalloc(size_t size, void** result) { -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) *result = allocator_shim::UncheckedAlloc(size); #else // malloc_unchecked is required to implement UncheckedMalloc properly. // It's provided by allocator_shim_win.cc but since that's not always present, // In the case, use regular malloc instead. *result = malloc(size); -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) return *result != NULL; } void UncheckedFree(void* ptr) { -#if BUILDFLAG(USE_ALLOCATOR_SHIM) +#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) allocator_shim::UncheckedFree(ptr); #else free(ptr); -#endif // BUILDFLAG(USE_ALLOCATOR_SHIM) +#endif // PA_BUILDFLAG(USE_ALLOCATOR_SHIM) } } // namespace base diff --git a/naiveproxy/src/base/process/process_info_win.cc b/naiveproxy/src/base/process/process_info_win.cc index 9210fcc19c..38f5150cb7 100644 --- a/naiveproxy/src/base/process/process_info_win.cc +++ b/naiveproxy/src/base/process/process_info_win.cc @@ -35,7 +35,7 @@ IntegrityLevel GetCurrentProcessIntegrityLevel() { if (integrity_level >= SECURITY_MANDATORY_HIGH_RID) return HIGH_INTEGRITY; - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return INTEGRITY_UNKNOWN; } diff --git a/naiveproxy/src/base/process/process_iterator_fuchsia.cc b/naiveproxy/src/base/process/process_iterator_fuchsia.cc index d64c319505..de65f10600 100644 --- a/naiveproxy/src/base/process/process_iterator_fuchsia.cc +++ b/naiveproxy/src/base/process/process_iterator_fuchsia.cc @@ -9,8 +9,8 @@ namespace base { ProcessIterator::ProcessIterator(const ProcessFilter* filter) { - // TODO(crbug.com/1131239): Implement ProcessIterator on Fuchsia. - NOTREACHED(); + // TODO(crbug.com/40721279): Implement ProcessIterator on Fuchsia. + NOTREACHED_IN_MIGRATION(); } ProcessIterator::~ProcessIterator() = default; diff --git a/naiveproxy/src/base/process/process_iterator_linux.cc b/naiveproxy/src/base/process/process_iterator_linux.cc index b68aee54ed..c12c46d973 100644 --- a/naiveproxy/src/base/process/process_iterator_linux.cc +++ b/naiveproxy/src/base/process/process_iterator_linux.cc @@ -29,14 +29,14 @@ std::string GetProcStatsFieldAsString( const std::vector& proc_stats, internal::ProcStatsFields field_num) { if (field_num < internal::VM_COMM || field_num > internal::VM_STATE) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return std::string(); } if (proc_stats.size() > static_cast(field_num)) return proc_stats[field_num]; - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return std::string(); } @@ -109,7 +109,7 @@ bool ProcessIterator::CheckForNextProcess() { std::string runstate = GetProcStatsFieldAsString(proc_stats, internal::VM_STATE); if (runstate.size() != 1) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); continue; } diff --git a/naiveproxy/src/base/process/process_linux.cc b/naiveproxy/src/base/process/process_linux.cc index 320be0cc8e..89333f4275 100644 --- a/naiveproxy/src/base/process/process_linux.cc +++ b/naiveproxy/src/base/process/process_linux.cc @@ -287,7 +287,7 @@ Process::Priority GetProcessPriorityCGroup(std::string_view cgroup_contents) { std::vector fields = SplitStringPiece(line, ":", TRIM_WHITESPACE, SPLIT_WANT_ALL); if (fields.size() != 3U) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); continue; } if (fields[2] == kBackground) @@ -319,7 +319,7 @@ ProcessId Process::GetPidInNamespace() const { int value; // The last value in the list is the PID in the namespace. if (!StringToInt(split_value_str.back(), &value)) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return kNullProcessId; } return value; @@ -431,8 +431,8 @@ void Process::CleanUpProcess(int remaining_retries) const { } // Try to delete the cgroup - // TODO(1322562): We can use notify_on_release to automoatically delete the - // cgroup when the process has left the cgroup. + // TODO(crbug.com/40224348): We can use notify_on_release to automoatically + // delete the cgroup when the process has left the cgroup. FilePath cgroup = CGroups::Get().GetForegroundCgroupDir(unique_token_); if (!DeleteFile(cgroup)) { auto saved_errno = errno; diff --git a/naiveproxy/src/base/process/process_metrics_freebsd.cc b/naiveproxy/src/base/process/process_metrics_freebsd.cc index a7c0d0f2ee..3750b6a2d6 100644 --- a/naiveproxy/src/base/process/process_metrics_freebsd.cc +++ b/naiveproxy/src/base/process/process_metrics_freebsd.cc @@ -37,7 +37,7 @@ ProcessMetrics::GetPlatformIndependentCPUUsage() { base::expected ProcessMetrics::GetCumulativeCPUUsage() { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return base::unexpected(ProcessCPUUsageError::kNotImplemented); } diff --git a/naiveproxy/src/base/process/process_metrics_fuchsia.cc b/naiveproxy/src/base/process/process_metrics_fuchsia.cc index 126952ba55..b1f94c4bb0 100644 --- a/naiveproxy/src/base/process/process_metrics_fuchsia.cc +++ b/naiveproxy/src/base/process/process_metrics_fuchsia.cc @@ -23,7 +23,7 @@ size_t GetHandleLimit() { } size_t GetSystemCommitCharge() { - // TODO(https://crbug.com/926581): Fuchsia does not support this. + // TODO(crbug.com/42050627): Fuchsia does not support this. return 0; } @@ -49,7 +49,7 @@ ProcessMetrics::GetCumulativeCPUUsage() { } bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo) { - // TODO(https://crbug.com/926581). + // TODO(crbug.com/42050627). return false; } diff --git a/naiveproxy/src/base/process/process_metrics_linux.cc b/naiveproxy/src/base/process/process_metrics_linux.cc index 7bc2350d8f..b0abc364bc 100644 --- a/naiveproxy/src/base/process/process_metrics_linux.cc +++ b/naiveproxy/src/base/process/process_metrics_linux.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/process/process_metrics.h" #include @@ -490,7 +495,7 @@ bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo) { Value::Dict VmStatInfo::ToDict() const { Value::Dict res; - // TODO(crbug.com/1334256): Make base::Value able to hold uint64_t and remove + // TODO(crbug.com/40228085): Make base::Value able to hold uint64_t and remove // casts below. res.Set("pswpin", static_cast(pswpin)); res.Set("pswpout", static_cast(pswpout)); diff --git a/naiveproxy/src/base/process/process_metrics_openbsd.cc b/naiveproxy/src/base/process/process_metrics_openbsd.cc index 543b49f313..525c7c8550 100644 --- a/naiveproxy/src/base/process/process_metrics_openbsd.cc +++ b/naiveproxy/src/base/process/process_metrics_openbsd.cc @@ -64,7 +64,7 @@ ProcessMetrics::GetPlatformIndependentCPUUsage() { base::expected ProcessMetrics::GetCumulativeCPUUsage() { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return base::unexpected(ProcessCPUUsageError::kNotImplemented); } diff --git a/naiveproxy/src/base/process/set_process_title_linux.cc b/naiveproxy/src/base/process/set_process_title_linux.cc index 434b3ca762..a3c3d19ee4 100644 --- a/naiveproxy/src/base/process/set_process_title_linux.cc +++ b/naiveproxy/src/base/process/set_process_title_linux.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + // This file implements BSD-style setproctitle() for Linux. // It is written such that it can easily be compiled outside Chromium. // diff --git a/naiveproxy/src/base/profiler/chrome_unwinder_android.cc b/naiveproxy/src/base/profiler/chrome_unwinder_android.cc index 2a4afa1333..bf565f2731 100644 --- a/naiveproxy/src/base/profiler/chrome_unwinder_android.cc +++ b/naiveproxy/src/base/profiler/chrome_unwinder_android.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/profiler/chrome_unwinder_android.h" #include @@ -268,7 +273,7 @@ UnwindInstructionResult ExecuteUnwindInstruction( return UnwindInstructionResult::kAborted; } } else { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } return UnwindInstructionResult::kInstructionPending; } @@ -295,7 +300,7 @@ uintptr_t GetFirstUnwindInstructionIndexFromFunctionOffsetTableEntry( } while (true); - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return 0; } diff --git a/naiveproxy/src/base/profiler/frame.h b/naiveproxy/src/base/profiler/frame.h index e29d887847..4d5ca01445 100644 --- a/naiveproxy/src/base/profiler/frame.h +++ b/naiveproxy/src/base/profiler/frame.h @@ -16,7 +16,7 @@ namespace base { struct BASE_EXPORT Frame { Frame(uintptr_t instruction_pointer, const ModuleCache::Module* module); - // TODO(crbug.com/1371105): For prototype use by Android arm browser main + // TODO(crbug.com/40241229): For prototype use by Android arm browser main // thread profiling for tracing only. Update once we have a full design // for function name upload. Frame(uintptr_t instruction_pointer, @@ -34,7 +34,7 @@ struct BASE_EXPORT Frame { // This serves as a temporary way to pass function names from libunwindstack // unwinder to tracing profiler. Not used by any other unwinder. - // TODO(crbug.com/1371105): For prototype use by Android arm browser main + // TODO(crbug.com/40241229): For prototype use by Android arm browser main // thread profiling for tracing only. Update once we have a full design // for function name upload. std::string function_name; diff --git a/naiveproxy/src/base/profiler/frame_pointer_unwinder.cc b/naiveproxy/src/base/profiler/frame_pointer_unwinder.cc index 372e5eef97..df8ec89988 100644 --- a/naiveproxy/src/base/profiler/frame_pointer_unwinder.cc +++ b/naiveproxy/src/base/profiler/frame_pointer_unwinder.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/profiler/frame_pointer_unwinder.h" #include "base/check_op.h" @@ -108,7 +113,7 @@ UnwindResult FramePointerUnwinder::TryUnwind(RegisterContext* thread_context, stack->emplace_back(retaddr, module); } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return UnwindResult::kCompleted; } diff --git a/naiveproxy/src/base/profiler/libunwindstack_unwinder_android.cc b/naiveproxy/src/base/profiler/libunwindstack_unwinder_android.cc index 409e358648..16ce008d3e 100644 --- a/naiveproxy/src/base/profiler/libunwindstack_unwinder_android.cc +++ b/naiveproxy/src/base/profiler/libunwindstack_unwinder_android.cc @@ -71,7 +71,7 @@ std::unique_ptr CreateFromRegisterContext( return base::WrapUnique(unwindstack::RegsArm64::Read( reinterpret_cast(&thread_context->regs[0]))); #else // #if defined(ARCH_CPU_ARM_FAMILY) && defined(ARCH_CPU_32_BITS) - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return nullptr; #endif // #if defined(ARCH_CPU_ARM_FAMILY) && defined(ARCH_CPU_32_BITS) } diff --git a/naiveproxy/src/base/profiler/module_cache.cc b/naiveproxy/src/base/profiler/module_cache.cc index 41c086f5a2..e61bb7f3bf 100644 --- a/naiveproxy/src/base/profiler/module_cache.cc +++ b/naiveproxy/src/base/profiler/module_cache.cc @@ -75,7 +75,7 @@ const ModuleCache::Module* ModuleCache::GetModuleForAddress(uintptr_t address) { return nullptr; const auto result = native_modules_.insert(std::move(new_module)); - // TODO(https://crbug.com/1131769): Reintroduce DCHECK(result.second) after + // TODO(crbug.com/40150346): Reintroduce DCHECK(result.second) after // fixing the issue that is causing it to fail. return result.first->get(); } diff --git a/naiveproxy/src/base/profiler/module_cache_apple.cc b/naiveproxy/src/base/profiler/module_cache_apple.cc index 5428779309..29b90fa2f6 100644 --- a/naiveproxy/src/base/profiler/module_cache_apple.cc +++ b/naiveproxy/src/base/profiler/module_cache_apple.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/profiler/module_cache.h" #include diff --git a/naiveproxy/src/base/profiler/module_cache_posix.cc b/naiveproxy/src/base/profiler/module_cache_posix.cc index f150a2487b..6f64435bf9 100644 --- a/naiveproxy/src/base/profiler/module_cache_posix.cc +++ b/naiveproxy/src/base/profiler/module_cache_posix.cc @@ -89,8 +89,8 @@ FilePath GetDebugBasenameForModule(const void* base_address, // everything that looks like an argument. This is safe on ChromeOS, where we // control the directory and file names and know that no chrome binary or // system library will have a " --" in the path. - base::StringPiece::size_type pos = file.find(" --"); - if (pos != base::StringPiece::npos) { + size_t pos = file.find(" --"); + if (pos != std::string_view::npos) { file = file.substr(0, pos); } #endif // BUILDFLAG(IS_CHROMEOS) diff --git a/naiveproxy/src/base/profiler/native_unwinder_android.cc b/naiveproxy/src/base/profiler/native_unwinder_android.cc index 6ee694a0dc..bdd7cc2072 100644 --- a/naiveproxy/src/base/profiler/native_unwinder_android.cc +++ b/naiveproxy/src/base/profiler/native_unwinder_android.cc @@ -84,7 +84,7 @@ std::unique_ptr CreateFromRegisterContext( return WrapUnique(unwindstack::RegsArm64::Read( reinterpret_cast(&thread_context->regs[0]))); #else // #if defined(ARCH_CPU_ARM_FAMILY) && defined(ARCH_CPU_32_BITS) - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return nullptr; #endif // #if defined(ARCH_CPU_ARM_FAMILY) && defined(ARCH_CPU_32_BITS) } @@ -98,7 +98,7 @@ void CopyToRegisterContext(unwindstack::Regs* regs, memcpy(reinterpret_cast(&thread_context->regs[0]), regs->RawData(), unwindstack::ARM64_REG_LAST * sizeof(uintptr_t)); #else // #if defined(ARCH_CPU_ARM_FAMILY) && defined(ARCH_CPU_32_BITS) - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); #endif // #if defined(ARCH_CPU_ARM_FAMILY) && defined(ARCH_CPU_32_BITS) } diff --git a/naiveproxy/src/base/profiler/native_unwinder_win.cc b/naiveproxy/src/base/profiler/native_unwinder_win.cc index 0311c28baf..3bfd329016 100644 --- a/naiveproxy/src/base/profiler/native_unwinder_win.cc +++ b/naiveproxy/src/base/profiler/native_unwinder_win.cc @@ -88,7 +88,7 @@ UnwindResult NativeUnwinderWin::TryUnwind(RegisterContext* thread_context, RegisterContextInstructionPointer(thread_context))); } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return UnwindResult::kCompleted; } diff --git a/naiveproxy/src/base/profiler/register_context.h b/naiveproxy/src/base/profiler/register_context.h index 34a2ed48c2..e034bd00e8 100644 --- a/naiveproxy/src/base/profiler/register_context.h +++ b/naiveproxy/src/base/profiler/register_context.h @@ -1,7 +1,12 @@ // Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// + +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + // This file provides the RegisterContext cross-platform typedef that represents // the native register context for the platform, plus functions that provide // access to key registers in the context. diff --git a/naiveproxy/src/base/profiler/stack_buffer.cc b/naiveproxy/src/base/profiler/stack_buffer.cc index a47cd04bbe..ae866b82a8 100644 --- a/naiveproxy/src/base/profiler/stack_buffer.cc +++ b/naiveproxy/src/base/profiler/stack_buffer.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/profiler/stack_buffer.h" #include diff --git a/naiveproxy/src/base/profiler/stack_copier.cc b/naiveproxy/src/base/profiler/stack_copier.cc index 7d04c61469..16144dcaba 100644 --- a/naiveproxy/src/base/profiler/stack_copier.cc +++ b/naiveproxy/src/base/profiler/stack_copier.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/profiler/stack_copier.h" #include "base/bits.h" diff --git a/naiveproxy/src/base/profiler/stack_copier_signal.cc b/naiveproxy/src/base/profiler/stack_copier_signal.cc index 6ad23536e3..4fb174d57c 100644 --- a/naiveproxy/src/base/profiler/stack_copier_signal.cc +++ b/naiveproxy/src/base/profiler/stack_copier_signal.cc @@ -258,14 +258,14 @@ bool StackCopierSignal::CopyStack(StackBuffer* stack_buffer, if (syscall(SYS_tgkill, getpid(), thread_delegate_->GetThreadId(), SIGURG) != 0) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return false; } bool finished_waiting = wait_event.Wait(); TRACE_EVENT_END0(TRACE_DISABLED_BY_DEFAULT("cpu_profiler.debug"), "StackCopierSignal copy stack"); if (!finished_waiting) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return false; } // Ideally, an accurate timestamp is captured while the sampled thread is diff --git a/naiveproxy/src/base/profiler/stack_sampling_profiler_test_util.cc b/naiveproxy/src/base/profiler/stack_sampling_profiler_test_util.cc index 1505914b84..2beaba434f 100644 --- a/naiveproxy/src/base/profiler/stack_sampling_profiler_test_util.cc +++ b/naiveproxy/src/base/profiler/stack_sampling_profiler_test_util.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/profiler/stack_sampling_profiler_test_util.h" #include @@ -432,7 +437,7 @@ NativeLibrary LoadTestLibrary(std::string_view library_name) { const auto load = [&](NativeLibrary* library) { FilePath library_path; #if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_IOS) - // TODO(crbug.com/1262430): Find a solution that works across platforms. + // TODO(crbug.com/40799492): Find a solution that works across platforms. ASSERT_TRUE(PathService::Get(DIR_ASSETS, &library_path)); #else // The module is next to the test module rather than with test data. diff --git a/naiveproxy/src/base/profiler/suspendable_thread_delegate_mac.cc b/naiveproxy/src/base/profiler/suspendable_thread_delegate_mac.cc index 760a61c827..c8a042e821 100644 --- a/naiveproxy/src/base/profiler/suspendable_thread_delegate_mac.cc +++ b/naiveproxy/src/base/profiler/suspendable_thread_delegate_mac.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/profiler/suspendable_thread_delegate_mac.h" #include diff --git a/naiveproxy/src/base/profiler/suspendable_thread_delegate_win.cc b/naiveproxy/src/base/profiler/suspendable_thread_delegate_win.cc index f4363b0894..60d2f8a82a 100644 --- a/naiveproxy/src/base/profiler/suspendable_thread_delegate_win.cc +++ b/naiveproxy/src/base/profiler/suspendable_thread_delegate_win.cc @@ -42,7 +42,7 @@ win::ScopedHandle GetCurrentThreadHandle() { } win::ScopedHandle GetThreadHandle(PlatformThreadId thread_id) { - // TODO(https://crbug.com/947459): Move this logic to + // TODO(crbug.com/40620762): Move this logic to // GetSamplingProfilerCurrentThreadToken() and pass the handle in // SamplingProfilerThreadToken. if (thread_id == ::GetCurrentThreadId()) @@ -70,7 +70,7 @@ win::ScopedHandle GetThreadHandle(PlatformThreadId thread_id) { // Returns the thread environment block pointer for |thread_handle|. const TEB* GetThreadEnvironmentBlock(PlatformThreadId thread_id, HANDLE thread_handle) { - // TODO(https://crbug.com/947459): Move this logic to + // TODO(crbug.com/40620762): Move this logic to // GetSamplingProfilerCurrentThreadToken() and pass the TEB* in // SamplingProfilerThreadToken. if (thread_id == ::GetCurrentThreadId()) diff --git a/naiveproxy/src/base/profiler/thread_delegate_posix.cc b/naiveproxy/src/base/profiler/thread_delegate_posix.cc index cc085950e9..fa21a28f60 100644 --- a/naiveproxy/src/base/profiler/thread_delegate_posix.cc +++ b/naiveproxy/src/base/profiler/thread_delegate_posix.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/profiler/thread_delegate_posix.h" #include diff --git a/naiveproxy/src/base/profiler/win32_stack_frame_unwinder.cc b/naiveproxy/src/base/profiler/win32_stack_frame_unwinder.cc index 627f44919e..8e5b7806cc 100644 --- a/naiveproxy/src/base/profiler/win32_stack_frame_unwinder.cc +++ b/naiveproxy/src/base/profiler/win32_stack_frame_unwinder.cc @@ -47,7 +47,7 @@ PRUNTIME_FUNCTION Win32UnwindFunctions::LookupFunctionEntry( #if defined(ARCH_CPU_64_BITS) return ::RtlLookupFunctionEntry(program_counter, image_base, nullptr); #else - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return nullptr; #endif } @@ -64,7 +64,7 @@ void Win32UnwindFunctions::VirtualUnwind(DWORD64 image_base, runtime_function, context, &handler_data, &establisher_frame, &nvcontext); #else - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); #endif } @@ -134,7 +134,7 @@ bool Win32StackFrameUnwinder::TryUnwind( // code. See https://crbug.com/542919. return false; #else - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return false; #endif } diff --git a/naiveproxy/src/base/rand_util.cc b/naiveproxy/src/base/rand_util.cc index f164640db9..83eb3b9e1a 100644 --- a/naiveproxy/src/base/rand_util.cc +++ b/naiveproxy/src/base/rand_util.cc @@ -30,7 +30,7 @@ std::atomic g_subsampling_never_sample = false; uint64_t RandUint64() { uint64_t number; - RandBytes(&number, sizeof(number)); + RandBytes(base::byte_span_from_ref(number)); return number; } @@ -111,17 +111,14 @@ uint64_t RandGenerator(uint64_t range) { } std::string RandBytesAsString(size_t length) { - DCHECK_GT(length, 0u); std::string result(length, '\0'); - RandBytes(result.data(), length); + RandBytes(as_writable_byte_span(result)); return result; } std::vector RandBytesAsVector(size_t length) { std::vector result(length); - if (result.size()) { - RandBytes(result); - } + RandBytes(result); return result; } diff --git a/naiveproxy/src/base/rand_util.h b/naiveproxy/src/base/rand_util.h index a24e931221..746166bf75 100644 --- a/naiveproxy/src/base/rand_util.h +++ b/naiveproxy/src/base/rand_util.h @@ -53,7 +53,7 @@ BASE_EXPORT uint64_t RandUint64(); // Returns a random number between min and max (inclusive). Thread-safe. // -// TODO(crbug.com/1488681): Change from fully-closed to half-closed (i.e. +// TODO(crbug.com/40283703): Change from fully-closed to half-closed (i.e. // exclude `max`) to parallel other APIs here. BASE_EXPORT int RandInt(int min, int max); @@ -84,14 +84,12 @@ BASE_EXPORT double BitsToOpenEndedUnitInterval(uint64_t bits); // [0, 1). Thread-safe. BASE_EXPORT float BitsToOpenEndedUnitIntervalF(uint64_t bits); -// Fills `output` with random data. Thread-safe. +// Fills `output` with cryptographically secure random data. Thread-safe. // // Although implementations are required to use a cryptographically secure // random number source, code outside of base/ that relies on this should use // crypto::RandBytes instead to ensure the requirement is easily discoverable. BASE_EXPORT void RandBytes(span output); -// TODO(https://crbug.com/1490484): Migrate callers to the span version. -BASE_EXPORT void RandBytes(void* output, size_t output_length); // Creates a vector of `length` bytes, fills it with random data, and returns // it. Thread-safe. @@ -101,9 +99,9 @@ BASE_EXPORT void RandBytes(void* output, size_t output_length); // crypto::RandBytes instead to ensure the requirement is easily discoverable. BASE_EXPORT std::vector RandBytesAsVector(size_t length); -// DEPRECATED. Prefert RandBytesAsVector() above. +// DEPRECATED. Prefer RandBytesAsVector() above. // Fills a string of length |length| with random data and returns it. -// |length| should be nonzero. Thread-safe. +// Thread-safe. // // Note that this is a variation of |RandBytes| with a different return type. // The returned string is likely not ASCII/UTF-8. Use with care. diff --git a/naiveproxy/src/base/rand_util_fuchsia.cc b/naiveproxy/src/base/rand_util_fuchsia.cc index ee9458989b..cea0a17cdc 100644 --- a/naiveproxy/src/base/rand_util_fuchsia.cc +++ b/naiveproxy/src/base/rand_util_fuchsia.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/rand_util.h" #include @@ -52,10 +57,6 @@ void RandBytes(span output) { zx_cprng_draw(output.data(), output.size()); } -void RandBytes(void* output, size_t output_length) { - RandBytes(make_span(static_cast(output), output_length)); -} - namespace internal { double RandDoubleAvoidAllocation() { diff --git a/naiveproxy/src/base/rand_util_nacl.cc b/naiveproxy/src/base/rand_util_nacl.cc index b7f2395464..2ddd184a25 100644 --- a/naiveproxy/src/base/rand_util_nacl.cc +++ b/naiveproxy/src/base/rand_util_nacl.cc @@ -23,8 +23,4 @@ void RandBytes(span output) { } } -void RandBytes(void* output, size_t output_length) { - RandBytes(make_span(static_cast(output), output_length)); -} - } // namespace base diff --git a/naiveproxy/src/base/rand_util_posix.cc b/naiveproxy/src/base/rand_util_posix.cc index d186c28e42..d7dc274bfd 100644 --- a/naiveproxy/src/base/rand_util_posix.cc +++ b/naiveproxy/src/base/rand_util_posix.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/rand_util.h" #include @@ -26,7 +31,7 @@ #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_NACL) #include "third_party/lss/linux_syscall_support.h" #elif BUILDFLAG(IS_MAC) -// TODO(crbug.com/995996): Waiting for this header to appear in the iOS SDK. +// TODO(crbug.com/40641285): Waiting for this header to appear in the iOS SDK. // (See below.) #include #endif @@ -76,7 +81,7 @@ void KernelVersionNumbers(int32_t* major_version, int32_t* bugfix_version) { struct utsname info; if (uname(&info) < 0) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); *major_version = 0; *minor_version = 0; *bugfix_version = 0; @@ -176,7 +181,7 @@ bool UseBoringSSLForRandBytes() { namespace { -void RandBytes(span output, bool avoid_allocation) { +void RandBytesInternal(span output, bool avoid_allocation) { #if !BUILDFLAG(IS_NACL) // The BoringSSL experiment takes priority over everything else. if (!avoid_allocation && internal::UseBoringSSLForRandBytes()) { @@ -200,7 +205,7 @@ void RandBytes(span output, bool avoid_allocation) { } } #elif BUILDFLAG(IS_MAC) - // TODO(crbug.com/995996): Enable this on iOS too, when sys/random.h arrives + // TODO(crbug.com/40641285): Enable this on iOS too, when sys/random.h arrives // in its SDK. if (getentropy(output.data(), output.size()) == 0) { return; @@ -210,7 +215,7 @@ void RandBytes(span output, bool avoid_allocation) { // If the OS-specific mechanisms didn't work, fall through to reading from // urandom. // - // TODO(crbug.com/995996): When we no longer need to support old Linux + // TODO(crbug.com/40641285): When we no longer need to support old Linux // kernels, we can get rid of this /dev/urandom branch altogether. const int urandom_fd = GetUrandomFD(); const bool success = ReadFromFD(urandom_fd, as_writable_chars(output)); @@ -223,8 +228,7 @@ namespace internal { double RandDoubleAvoidAllocation() { uint64_t number; - RandBytes(as_writable_bytes(make_span(&number, 1u)), - /*avoid_allocation=*/true); + RandBytesInternal(byte_span_from_ref(number), /*avoid_allocation=*/true); // This transformation is explained in rand_util.cc. return (number >> 11) * 0x1.0p-53; } @@ -232,11 +236,7 @@ double RandDoubleAvoidAllocation() { } // namespace internal void RandBytes(span output) { - RandBytes(output, /*avoid_allocation=*/false); -} - -void RandBytes(void* output, size_t output_length) { - RandBytes(make_span(static_cast(output), output_length)); + RandBytesInternal(output, /*avoid_allocation=*/false); } int GetUrandomFD() { diff --git a/naiveproxy/src/base/rand_util_win.cc b/naiveproxy/src/base/rand_util_win.cc index 299e54300a..6961e0ef81 100644 --- a/naiveproxy/src/base/rand_util_win.cc +++ b/naiveproxy/src/base/rand_util_win.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/rand_util.h" #include @@ -65,7 +70,7 @@ decltype(&ProcessPrng) GetProcessPrng() { return process_prng_fn; } -void RandBytes(span output, bool avoid_allocation) { +void RandBytesInternal(span output, bool avoid_allocation) { if (!avoid_allocation && internal::UseBoringSSLForRandBytes()) { // Ensure BoringSSL is initialized so it can use things like RDRAND. CRYPTO_library_init(); @@ -84,20 +89,15 @@ void RandBytes(span output, bool avoid_allocation) { } // namespace void RandBytes(span output) { - RandBytes(output, /*avoid_allocation=*/false); -} - -void RandBytes(void* output, size_t output_length) { - RandBytes(make_span(static_cast(output), output_length), - /*avoid_allocation=*/false); + RandBytesInternal(output, /*avoid_allocation=*/false); } namespace internal { double RandDoubleAvoidAllocation() { uint64_t number; - RandBytes(as_writable_bytes(make_span(&number, 1u)), - /*avoid_allocation=*/true); + RandBytesInternal(byte_span_from_ref(number), + /*avoid_allocation=*/true); // This transformation is explained in rand_util.cc. return (number >> 11) * 0x1.0p-53; } diff --git a/naiveproxy/src/base/ranges/algorithm.h b/naiveproxy/src/base/ranges/algorithm.h index 6d86351c99..0c3515f8f2 100644 --- a/naiveproxy/src/base/ranges/algorithm.h +++ b/naiveproxy/src/base/ranges/algorithm.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_RANGES_ALGORITHM_H_ #define BASE_RANGES_ALGORITHM_H_ @@ -33,6 +38,25 @@ constexpr auto ProjectedUnaryPredicate(Pred& pred, Proj& proj) noexcept { }; } +// Helper concept that is true if the binary predicate can be invoked on the +// result of projecting T and projecting U. See `BinaryPredicateProjector` for +// additional background. +template +concept BinaryPredicateProjectorIsInvokable = requires(BinaryPred& predicate, + ProjT& project_t, + ProjU& project_u, + T&& t, + U&& u) { + { + std::invoke(predicate, std::invoke(project_t, std::forward(t)), + std::invoke(project_u, std::forward(u))) + } -> std::same_as; +}; + // Returns a transformed version of the binary predicate `pred` applying `proj1` // and `proj2` to its arguments before invoking `pred` on them. // @@ -62,47 +86,30 @@ class BinaryPredicateProjector { : pred_(pred), proj1_(proj1), proj2_(proj2) {} private: - template - using InvokeResult = std::invoke_result_t, - std::invoke_result_t>; - - template > - constexpr std::pair GetProjs(priority_tag<3>) const { - return {proj1_, proj2_}; - } - - template , - typename = InvokeResult> - constexpr std::pair GetProjs(priority_tag<2>) const { - return {proj2_, proj1_}; - } - - template , - typename = InvokeResult> - constexpr std::pair GetProjs(priority_tag<1>) const { - return {proj1_, proj1_}; - } - - template , - typename = InvokeResult> - constexpr std::pair GetProjs(priority_tag<0>) const { - return {proj2_, proj2_}; + template + constexpr auto GetProjs() const { + if constexpr (BinaryPredicateProjectorIsInvokable) { + return std::pair(proj1_, proj2_); + } else if constexpr (kPermute && + BinaryPredicateProjectorIsInvokable) { + return std::pair(proj2_, proj1_); + } else if constexpr (kPermute && + BinaryPredicateProjectorIsInvokable) { + return std::pair(proj1_, proj1_); + } else if constexpr (kPermute && + BinaryPredicateProjectorIsInvokable) { + return std::pair(proj2_, proj2_); + } } public: template constexpr bool operator()(T&& lhs, U&& rhs) const { - auto projs = GetProjs(priority_tag<3>()); + auto projs = GetProjs(); return std::invoke(pred_, std::invoke(projs.first, std::forward(lhs)), std::invoke(projs.second, std::forward(rhs))); } @@ -178,7 +185,7 @@ struct in_fun_result { } }; -// TODO(crbug.com/1071094): Implement the other result types. +// TODO(crbug.com/40126606): Implement the other result types. // [alg.nonmodifying] Non-modifying sequence operations // Reference: https://wg21.link/alg.nonmodifying @@ -2622,7 +2629,7 @@ constexpr auto rotate_copy(Range&& range, // Reference: https://wg21.link/alg.random.sample // Currently not implemented due to lack of std::sample in C++14. -// TODO(crbug.com/1071094): Consider implementing a hand-rolled version. +// TODO(crbug.com/40126606): Consider implementing a hand-rolled version. // [alg.random.shuffle] Shuffle // Reference: https://wg21.link/alg.random.shuffle diff --git a/naiveproxy/src/base/ranges/ranges.h b/naiveproxy/src/base/ranges/ranges.h index 2d8f23d791..8835ac3fa4 100644 --- a/naiveproxy/src/base/ranges/ranges.h +++ b/naiveproxy/src/base/ranges/ranges.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_RANGES_RANGES_H_ #define BASE_RANGES_RANGES_H_ diff --git a/naiveproxy/src/base/run_loop.cc b/naiveproxy/src/base/run_loop.cc index 2af8260eea..72a884ffef 100644 --- a/naiveproxy/src/base/run_loop.cc +++ b/naiveproxy/src/base/run_loop.cc @@ -116,7 +116,7 @@ void RunLoop::Run(const Location& location) { return; // If there is a RunLoopTimeout active then set the timeout. - // TODO(crbug.com/905412): Use real-time for Run() timeouts so that they + // TODO(crbug.com/40602467): Use real-time for Run() timeouts so that they // can be applied even in tests which mock TimeTicks::Now(). CancelableOnceClosure cancelable_timeout; const RunLoopTimeout* run_timeout = GetTimeoutForCurrentThread(); diff --git a/naiveproxy/src/base/sampling_heap_profiler/sampling_heap_profiler.cc b/naiveproxy/src/base/sampling_heap_profiler/sampling_heap_profiler.cc index 44e029ad6c..fbe3a0d897 100644 --- a/naiveproxy/src/base/sampling_heap_profiler/sampling_heap_profiler.cc +++ b/naiveproxy/src/base/sampling_heap_profiler/sampling_heap_profiler.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/sampling_heap_profiler/sampling_heap_profiler.h" #include @@ -225,7 +230,7 @@ const void** SamplingHeapProfiler::CaptureStackTrace(const void** frames, default: // Profiler should not be started if ChooseStackUnwinder() returns // anything else. - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); break; } diff --git a/naiveproxy/src/base/stack_canary_linux.cc b/naiveproxy/src/base/stack_canary_linux.cc index ace6c115b5..8cbf59e35b 100644 --- a/naiveproxy/src/base/stack_canary_linux.cc +++ b/naiveproxy/src/base/stack_canary_linux.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/stack_canary_linux.h" #include @@ -65,7 +70,7 @@ __stack_chk_fail() { void NO_STACK_PROTECTOR ResetStackCanaryIfPossible() { uintptr_t canary; - base::RandBytes(as_writable_bytes(make_span(&canary, 1u))); + base::RandBytes(base::byte_span_from_ref(canary)); // First byte should be the null byte for string functions. canary &= ~static_cast(0xff); diff --git a/naiveproxy/src/base/strings/cstring_view.h b/naiveproxy/src/base/strings/cstring_view.h index 368473c01f..21962af040 100644 --- a/naiveproxy/src/base/strings/cstring_view.h +++ b/naiveproxy/src/base/strings/cstring_view.h @@ -174,47 +174,44 @@ class basic_cstring_view final { } // Produces an iterator over the cstring view, excluding the terminating NUL. - PURE_FUNCTION constexpr const iterator begin() const noexcept { + PURE_FUNCTION constexpr iterator begin() const noexcept { // SAFETY: `ptr_ + len_` for a cstring view always gives a pointer in // the same allocation as `ptr_` based on the precondition of // the type. return UNSAFE_BUFFERS(iterator(ptr_, ptr_ + len_)); } // Produces an iterator over the cstring view, excluding the terminating NUL. - PURE_FUNCTION constexpr const iterator end() const noexcept { + PURE_FUNCTION constexpr iterator end() const noexcept { // SAFETY: `ptr_ + len_` for a cstring view always gives a pointer in // the same allocation as `ptr_` based on the precondition of // the type. return UNSAFE_BUFFERS(iterator(ptr_, ptr_ + len_, ptr_ + len_)); } // Produces an iterator over the cstring view, excluding the terminating NUL. - PURE_FUNCTION constexpr const const_iterator cbegin() const noexcept { + PURE_FUNCTION constexpr const_iterator cbegin() const noexcept { return begin(); } // Produces an iterator over the cstring view, excluding the terminating NUL. - PURE_FUNCTION constexpr const const_iterator cend() const noexcept { - return end(); - } + PURE_FUNCTION constexpr const_iterator cend() const noexcept { return end(); } // Produces a reverse iterator over the cstring view, excluding the // terminating NUL. - PURE_FUNCTION constexpr const reverse_iterator rbegin() const noexcept { + PURE_FUNCTION constexpr reverse_iterator rbegin() const noexcept { return std::reverse_iterator(end()); } // Produces a reverse iterator over the cstring view, excluding the // terminating NUL. - PURE_FUNCTION constexpr const reverse_iterator rend() const noexcept { + PURE_FUNCTION constexpr reverse_iterator rend() const noexcept { return std::reverse_iterator(begin()); } // Produces a reverse iterator over the cstring view, excluding the // terminating NUL. - PURE_FUNCTION constexpr const const_reverse_iterator rcbegin() - const noexcept { + PURE_FUNCTION constexpr const_reverse_iterator rcbegin() const noexcept { return std::reverse_iterator(cend()); } // Produces a reverse iterator over the cstring view, excluding the // terminating NUL. - PURE_FUNCTION constexpr const const_reverse_iterator rcend() const noexcept { + PURE_FUNCTION constexpr const_reverse_iterator rcend() const noexcept { return std::reverse_iterator(cbegin()); } @@ -544,6 +541,12 @@ std::basic_ostream& operator<<( return os << std::basic_string_view(view); } +// Explicitly define PrintTo to avoid gtest printing these as containers +// rather than strings. +inline void PrintTo(cstring_view view, std::ostream* os) { + *os << view; +} + } // namespace base template diff --git a/naiveproxy/src/base/strings/cstring_view_nocompile.nc b/naiveproxy/src/base/strings/cstring_view_nocompile.nc index 690fb8aa5d..6cffcf995c 100644 --- a/naiveproxy/src/base/strings/cstring_view_nocompile.nc +++ b/naiveproxy/src/base/strings/cstring_view_nocompile.nc @@ -7,6 +7,8 @@ #include "base/strings/cstring_view.h" +#include + namespace base { namespace { diff --git a/naiveproxy/src/base/strings/escape.cc b/naiveproxy/src/base/strings/escape.cc index 1e61d69d9b..c131d5762a 100644 --- a/naiveproxy/src/base/strings/escape.cc +++ b/naiveproxy/src/base/strings/escape.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/strings/escape.h" #include @@ -266,7 +271,7 @@ bool ShouldUnescapeCodePoint(UnescapeRule::Type rules, // // Can't use icu to make this cleaner, because Cronet cannot depend on // icu, and currently uses this file. - // TODO(https://crbug.com/829873): Try to make this use icu, both to + // TODO(crbug.com/41381359): Try to make this use icu, both to // protect against regressions as the Unicode standard is updated and to // reduce the number of long lists of characters. return !( @@ -408,7 +413,7 @@ std::string UnescapeURLWithAdjustmentsImpl( // character. In that case, just unescaped and write the non-sense // character. // - // TODO(https://crbug.com/829868): Do not unescape illegal UTF-8 + // TODO(crbug.com/40570496): Do not unescape illegal UTF-8 // sequences. unsigned char non_utf8_byte; if (UnescapeUnsignedByteAtIndex(escaped_text, i, &non_utf8_byte)) { @@ -539,7 +544,7 @@ std::string UnescapeBinaryURLComponent(StringPiece escaped_text, // before FeatureList initialization. In that case, fallback to the feature's // default state. // - // TODO(crbug.com/1321924): Cleanup this feature. + // TODO(crbug.com/40224104): Cleanup this feature. const bool optimize_data_urls_feature_is_enabled = base::FeatureList::GetInstance() ? base::FeatureList::IsEnabled(features::kOptimizeDataUrls) diff --git a/naiveproxy/src/base/strings/latin1_string_conversions.cc b/naiveproxy/src/base/strings/latin1_string_conversions.cc index 4261146cf0..7210930d4f 100644 --- a/naiveproxy/src/base/strings/latin1_string_conversions.cc +++ b/naiveproxy/src/base/strings/latin1_string_conversions.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/strings/latin1_string_conversions.h" namespace base { diff --git a/naiveproxy/src/base/strings/pattern.cc b/naiveproxy/src/base/strings/pattern.cc index cc747aab67..ffa9e01b62 100644 --- a/naiveproxy/src/base/strings/pattern.cc +++ b/naiveproxy/src/base/strings/pattern.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/strings/pattern.h" #include "base/third_party/icu/icu_utf.h" diff --git a/naiveproxy/src/base/strings/safe_sprintf.cc b/naiveproxy/src/base/strings/safe_sprintf.cc index 0afbb7ba85..d3f5fa7ec7 100644 --- a/naiveproxy/src/base/strings/safe_sprintf.cc +++ b/naiveproxy/src/base/strings/safe_sprintf.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/strings/safe_sprintf.h" #include diff --git a/naiveproxy/src/base/strings/strcat_internal.h b/naiveproxy/src/base/strings/strcat_internal.h index f54b069569..0cd3b12ef9 100644 --- a/naiveproxy/src/base/strings/strcat_internal.h +++ b/naiveproxy/src/base/strings/strcat_internal.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_STRINGS_STRCAT_INTERNAL_H_ #define BASE_STRINGS_STRCAT_INTERNAL_H_ diff --git a/naiveproxy/src/base/strings/string_number_conversions.h b/naiveproxy/src/base/strings/string_number_conversions.h index 55c28d6642..c59423f070 100644 --- a/naiveproxy/src/base/strings/string_number_conversions.h +++ b/naiveproxy/src/base/strings/string_number_conversions.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_STRINGS_STRING_NUMBER_CONVERSIONS_H_ #define BASE_STRINGS_STRING_NUMBER_CONVERSIONS_H_ diff --git a/naiveproxy/src/base/strings/string_number_conversions_internal.h b/naiveproxy/src/base/strings/string_number_conversions_internal.h index a7981e66fb..edf71f05ba 100644 --- a/naiveproxy/src/base/strings/string_number_conversions_internal.h +++ b/naiveproxy/src/base/strings/string_number_conversions_internal.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_STRINGS_STRING_NUMBER_CONVERSIONS_INTERNAL_H_ #define BASE_STRINGS_STRING_NUMBER_CONVERSIONS_INTERNAL_H_ diff --git a/naiveproxy/src/base/strings/string_piece.h b/naiveproxy/src/base/strings/string_piece.h index 8ef94e517e..dca7b39ddc 100644 --- a/naiveproxy/src/base/strings/string_piece.h +++ b/naiveproxy/src/base/strings/string_piece.h @@ -5,7 +5,7 @@ // This header is deprecated. `base::StringPiece` is now `std::string_view`. // Use it and instead. // -// TODO(crbug.com/691162): Remove uses of this header. +// TODO(crbug.com/40506050): Remove uses of this header. #ifndef BASE_STRINGS_STRING_PIECE_H_ #define BASE_STRINGS_STRING_PIECE_H_ diff --git a/naiveproxy/src/base/strings/string_tokenizer.h b/naiveproxy/src/base/strings/string_tokenizer.h index 5d4e8bc512..89b20b050a 100644 --- a/naiveproxy/src/base/strings/string_tokenizer.h +++ b/naiveproxy/src/base/strings/string_tokenizer.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_STRINGS_STRING_TOKENIZER_H_ #define BASE_STRINGS_STRING_TOKENIZER_H_ diff --git a/naiveproxy/src/base/strings/string_util.cc b/naiveproxy/src/base/strings/string_util.cc index ca5d9ff23a..3221c679cd 100644 --- a/naiveproxy/src/base/strings/string_util.cc +++ b/naiveproxy/src/base/strings/string_util.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/strings/string_util.h" #include diff --git a/naiveproxy/src/base/strings/string_util.h b/naiveproxy/src/base/strings/string_util.h index f1a9b7bb93..07b31fa58e 100644 --- a/naiveproxy/src/base/strings/string_util.h +++ b/naiveproxy/src/base/strings/string_util.h @@ -4,6 +4,11 @@ // // This file defines utility functions for working with strings. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_STRINGS_STRING_UTIL_H_ #define BASE_STRINGS_STRING_UTIL_H_ diff --git a/naiveproxy/src/base/strings/string_util_impl_helpers.h b/naiveproxy/src/base/strings/string_util_impl_helpers.h index 96140e827a..530e6e5de7 100644 --- a/naiveproxy/src/base/strings/string_util_impl_helpers.h +++ b/naiveproxy/src/base/strings/string_util_impl_helpers.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_STRINGS_STRING_UTIL_IMPL_HELPERS_H_ #define BASE_STRINGS_STRING_UTIL_IMPL_HELPERS_H_ @@ -458,7 +463,7 @@ inline typename string_type::value_type* WriteIntoT(string_type* str, DCHECK_GE(length_with_null, 1u); str->reserve(length_with_null); str->resize(length_with_null - 1); - return &((*str)[0]); + return str->data(); } // Generic version for all JoinString overloads. |list_type| must be a sequence diff --git a/naiveproxy/src/base/strings/stringprintf.h b/naiveproxy/src/base/strings/stringprintf.h index f58a49c1c8..159c8ec5e2 100644 --- a/naiveproxy/src/base/strings/stringprintf.h +++ b/naiveproxy/src/base/strings/stringprintf.h @@ -17,7 +17,7 @@ namespace base { // Returns a C++ string given `printf()`-like input. The format string should be // a compile-time constant (like with `std::format()`). -// TODO(crbug.com/1371963): Implement in terms of `std::format()`, +// TODO(crbug.com/40241565): Implement in terms of `std::format()`, // `absl::StrFormat()`, or similar. [[nodiscard]] BASE_EXPORT std::string StringPrintf(const char* format, ...) PRINTF_FORMAT(1, 2); @@ -29,7 +29,7 @@ namespace base { template [[nodiscard]] std::string StringPrintfNonConstexpr(std::string_view format, const Args&... args) { - // TODO(crbug.com/1371963): Implement in terms of `std::vformat()`, + // TODO(crbug.com/40241565): Implement in terms of `std::vformat()`, // `absl::FormatUntyped()`, or similar. return StringPrintf(std::string(format).c_str(), args...); } @@ -65,7 +65,7 @@ template PRINTF_FORMAT(1, 0); // Like `StringPrintf()`, but appends result to a supplied string. -// TODO(crbug.com/1371963): Implement in terms of `std::format_to()`, +// TODO(crbug.com/40241565): Implement in terms of `std::format_to()`, // `absl::StrAppendFormat()`, or similar. BASE_EXPORT void StringAppendF(std::string* dst, const char* format, ...) PRINTF_FORMAT(2, 3); diff --git a/naiveproxy/src/base/strings/sys_string_conversions_posix.cc b/naiveproxy/src/base/strings/sys_string_conversions_posix.cc index 82215c542c..8772b5b08b 100644 --- a/naiveproxy/src/base/strings/sys_string_conversions_posix.cc +++ b/naiveproxy/src/base/strings/sys_string_conversions_posix.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/strings/sys_string_conversions.h" #include diff --git a/naiveproxy/src/base/strings/to_string.h b/naiveproxy/src/base/strings/to_string.h index e6ff2767a4..08ea67a5b8 100644 --- a/naiveproxy/src/base/strings/to_string.h +++ b/naiveproxy/src/base/strings/to_string.h @@ -14,7 +14,6 @@ #include #include -#include "base/template_util.h" #include "base/types/supports_ostream_operator.h" namespace base { diff --git a/naiveproxy/src/base/strings/utf_string_conversion_utils.cc b/naiveproxy/src/base/strings/utf_string_conversion_utils.cc index 38d54b9a6f..6dc798f18a 100644 --- a/naiveproxy/src/base/strings/utf_string_conversion_utils.cc +++ b/naiveproxy/src/base/strings/utf_string_conversion_utils.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/strings/utf_string_conversion_utils.h" #include "base/third_party/icu/icu_utf.h" diff --git a/naiveproxy/src/base/strings/utf_string_conversions.cc b/naiveproxy/src/base/strings/utf_string_conversions.cc index feca3b30e5..eb9365c2a7 100644 --- a/naiveproxy/src/base/strings/utf_string_conversions.cc +++ b/naiveproxy/src/base/strings/utf_string_conversions.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/strings/utf_string_conversions.h" #include diff --git a/naiveproxy/src/base/substring_set_matcher/substring_set_matcher.cc b/naiveproxy/src/base/substring_set_matcher/substring_set_matcher.cc index 7e228d342b..7837f7acff 100644 --- a/naiveproxy/src/base/substring_set_matcher/substring_set_matcher.cc +++ b/naiveproxy/src/base/substring_set_matcher/substring_set_matcher.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/substring_set_matcher/substring_set_matcher.h" #include diff --git a/naiveproxy/src/base/substring_set_matcher/substring_set_matcher.h b/naiveproxy/src/base/substring_set_matcher/substring_set_matcher.h index 3dd00dc1d6..1958222391 100644 --- a/naiveproxy/src/base/substring_set_matcher/substring_set_matcher.h +++ b/naiveproxy/src/base/substring_set_matcher/substring_set_matcher.h @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #ifndef BASE_SUBSTRING_SET_MATCHER_SUBSTRING_SET_MATCHER_H_ #define BASE_SUBSTRING_SET_MATCHER_SUBSTRING_SET_MATCHER_H_ diff --git a/naiveproxy/src/base/sync_socket.h b/naiveproxy/src/base/sync_socket.h index a0a9c50445..2f610fb031 100644 --- a/naiveproxy/src/base/sync_socket.h +++ b/naiveproxy/src/base/sync_socket.h @@ -57,7 +57,7 @@ class BASE_EXPORT SyncSocket { // Same as above, but with the following parameters: // `buffer` is a pointer to the data to send. // `length` is the length of the data to send (must be non-zero). - // TODO(https://crbug.com/1490484): Migrate callers to the span version. + // TODO(crbug.com/40284755): Migrate callers to the span version. virtual size_t Send(const void* buffer, size_t length); // Receives a message from an SyncSocket. @@ -67,14 +67,14 @@ class BASE_EXPORT SyncSocket { // Same as above, but with the following parameters: // `buffer` is a pointer to the buffer to receive data. // `length` is the number of bytes of data to receive (must be non-zero). - // TODO(https://crbug.com/1490484): Migrate callers to the span version. + // TODO(crbug.com/40284755): Migrate callers to the span version. virtual size_t Receive(void* buffer, size_t length); // Same as Receive() but only blocks for data until `timeout` has elapsed or // `buffer` is exhausted. Currently only timeouts less than one second are // allowed. Returns the number of bytes read. virtual size_t ReceiveWithTimeout(span buffer, TimeDelta timeout); - // TODO(https://crbug.com/1490484): Migrate callers to the span version. + // TODO(crbug.com/40284755): Migrate callers to the span version. virtual size_t ReceiveWithTimeout(void* buffer, size_t length, TimeDelta timeout); @@ -128,10 +128,10 @@ class BASE_EXPORT CancelableSyncSocket : public SyncSocket { // SyncSocket methods in order to support shutting down the 'socket'. void Close() override; size_t Receive(span buffer) override; - // TODO(https://crbug.com/1490484): Migrate callers to the span version. + // TODO(crbug.com/40284755): Migrate callers to the span version. size_t Receive(void* buffer, size_t length) override; size_t ReceiveWithTimeout(span buffer, TimeDelta timeout) override; - // TODO(https://crbug.com/1490484): Migrate callers to the span version. + // TODO(crbug.com/40284755): Migrate callers to the span version. size_t ReceiveWithTimeout(void* buffer, size_t length, TimeDelta timeout) override; @@ -143,7 +143,7 @@ class BASE_EXPORT CancelableSyncSocket : public SyncSocket { // SyncSocket::Send will, but instead return 0, as no bytes could be sent. // Note that the socket will not be closed in this case. size_t Send(span data) override; - // TODO(https://crbug.com/1490484): Migrate callers to the span version. + // TODO(crbug.com/40284755): Migrate callers to the span version. size_t Send(const void* buffer, size_t length) override; private: diff --git a/naiveproxy/src/base/sync_socket_posix.cc b/naiveproxy/src/base/sync_socket_posix.cc index 0a8d673f42..34ef8726cc 100644 --- a/naiveproxy/src/base/sync_socket_posix.cc +++ b/naiveproxy/src/base/sync_socket_posix.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/sync_socket.h" #include diff --git a/naiveproxy/src/base/sync_socket_win.cc b/naiveproxy/src/base/sync_socket_win.cc index defc8aa092..e1c6510dbc 100644 --- a/naiveproxy/src/base/sync_socket_win.cc +++ b/naiveproxy/src/base/sync_socket_win.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/sync_socket.h" #include @@ -51,7 +56,7 @@ bool CreatePairImpl(ScopedHandle* socket_a, do { unsigned long rnd_name; - RandBytes(&rnd_name, sizeof(rnd_name)); + RandBytes(byte_span_from_ref(rnd_name)); swprintf(name, kPipePathMax, kPipeNameFormat, @@ -71,7 +76,7 @@ bool CreatePairImpl(ScopedHandle* socket_a, } while (!handle_a.is_valid() && (GetLastError() == ERROR_PIPE_BUSY)); if (!handle_a.is_valid()) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return false; } diff --git a/naiveproxy/src/base/synchronization/waitable_event.cc b/naiveproxy/src/base/synchronization/waitable_event.cc index 9089ba433a..0f63410c83 100644 --- a/naiveproxy/src/base/synchronization/waitable_event.cc +++ b/naiveproxy/src/base/synchronization/waitable_event.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/synchronization/waitable_event.h" #include "base/check.h" diff --git a/naiveproxy/src/base/synchronization/waitable_event_apple.cc b/naiveproxy/src/base/synchronization/waitable_event_apple.cc index 080c5dbc02..668d52c023 100644 --- a/naiveproxy/src/base/synchronization/waitable_event_apple.cc +++ b/naiveproxy/src/base/synchronization/waitable_event_apple.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/synchronization/waitable_event.h" #include @@ -212,7 +217,7 @@ size_t WaitableEvent::WaitManyImpl(WaitableEvent** raw_waitables, } } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return 0; } } diff --git a/naiveproxy/src/base/synchronization/waitable_event_posix.cc b/naiveproxy/src/base/synchronization/waitable_event_posix.cc index c374aeb195..4c204c467b 100644 --- a/naiveproxy/src/base/synchronization/waitable_event_posix.cc +++ b/naiveproxy/src/base/synchronization/waitable_event_posix.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/synchronization/waitable_event.h" #include @@ -149,7 +154,7 @@ class SyncWaiter : public WaitableEvent::Waiter { private: bool fired_; - WaitableEvent* signaling_event_; // The WaitableEvent which woke us + WaitableEvent* signaling_event_ = nullptr; // The WaitableEvent which woke us base::Lock lock_; base::ConditionVariable cv_; }; diff --git a/naiveproxy/src/base/synchronization/waitable_event_watcher_mac.cc b/naiveproxy/src/base/synchronization/waitable_event_watcher_mac.cc index 2a551e3a5a..eca8b7cd0c 100644 --- a/naiveproxy/src/base/synchronization/waitable_event_watcher_mac.cc +++ b/naiveproxy/src/base/synchronization/waitable_event_watcher_mac.cc @@ -38,7 +38,7 @@ bool WaitableEventWatcher::StartWatching( // UnsafeDanglingUntriaged triggered by test: // WaitableEventWatcherDeletionTest.SignalAndDelete - // TODO(https://crbug.com/1380714): Remove `UnsafeDanglingUntriaged` + // TODO(crbug.com/40061562): Remove `UnsafeDanglingUntriaged` callback_ = BindOnce(std::move(callback), base::UnsafeDanglingUntriaged(event)); diff --git a/naiveproxy/src/base/synchronization/waitable_event_watcher_posix.cc b/naiveproxy/src/base/synchronization/waitable_event_watcher_posix.cc index 0eea54dbc9..74ffbb6304 100644 --- a/naiveproxy/src/base/synchronization/waitable_event_watcher_posix.cc +++ b/naiveproxy/src/base/synchronization/waitable_event_watcher_posix.cc @@ -140,7 +140,7 @@ bool WaitableEventWatcher::StartWatching( cancel_flag_ = new Flag; // UnsafeDanglingUntriaged triggered by test: // WaitableEventWatcherDeletionTest.SignalAndDelete - // TODO(https://crbug.com/1380714): Remove `UnsafeDanglingUntriaged` + // TODO(crbug.com/40061562): Remove `UnsafeDanglingUntriaged` OnceClosure internal_callback = base::BindOnce(&AsyncCallbackHelper, base::RetainedRef(cancel_flag_), std::move(callback), base::UnsafeDanglingUntriaged(event)); diff --git a/naiveproxy/src/base/synchronization/waitable_event_win.cc b/naiveproxy/src/base/synchronization/waitable_event_win.cc index a3d403dcb7..c6a64719ed 100644 --- a/naiveproxy/src/base/synchronization/waitable_event_win.cc +++ b/naiveproxy/src/base/synchronization/waitable_event_win.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/synchronization/waitable_event.h" #include diff --git a/naiveproxy/src/base/system/sys_info.cc b/naiveproxy/src/base/system/sys_info.cc index 9717bdfd01..38bde5a139 100644 --- a/naiveproxy/src/base/system/sys_info.cc +++ b/naiveproxy/src/base/system/sys_info.cc @@ -136,7 +136,7 @@ BucketizedSize GetCachedSystemRamBucketizedSize() { } bool IsPartialLowEndModeOnMidRangeDevicesEnabled() { - // TODO(crbug.com/1434873): make the feature not enable on 32-bit devices + // TODO(crbug.com/40264947): make the feature not enable on 32-bit devices // before launching or going to high Stable %. return SysInfo::Is4GbOr6GbDevice() && base::FeatureList::IsEnabled( @@ -169,7 +169,7 @@ bool SysInfo::Is6GbDevice() { #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) -// TODO(crbug.com/1434873): This method is for chromium native code. +// TODO(crbug.com/40264947): This method is for chromium native code. // We need to update the java-side code, i.e. // base/android/java/src/org/chromium/base/SysUtils.java, // and to make the selected components in java to see this feature. diff --git a/naiveproxy/src/base/system/sys_info_chromeos.cc b/naiveproxy/src/base/system/sys_info_chromeos.cc index 3f8c6b56d4..11206415ec 100644 --- a/naiveproxy/src/base/system/sys_info_chromeos.cc +++ b/naiveproxy/src/base/system/sys_info_chromeos.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/system/sys_info.h" #include @@ -203,7 +208,7 @@ std::string SysInfo::OperatingSystemVersion() { std::string SysInfo::KernelVersion() { struct utsname info; if (uname(&info) < 0) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return std::string(); } return std::string(info.release); diff --git a/naiveproxy/src/base/system/sys_info_freebsd.cc b/naiveproxy/src/base/system/sys_info_freebsd.cc index 630d39e809..6e41ecfef9 100644 --- a/naiveproxy/src/base/system/sys_info_freebsd.cc +++ b/naiveproxy/src/base/system/sys_info_freebsd.cc @@ -18,7 +18,7 @@ int64_t SysInfo::AmountOfPhysicalMemoryImpl() { sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); if (pages == -1 || page_size == -1) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return 0; } return static_cast(pages) * page_size; @@ -29,7 +29,7 @@ uint64_t SysInfo::MaxSharedMemorySize() { size_t limit; size_t size = sizeof(limit); if (sysctlbyname("kern.ipc.shmmax", &limit, &size, NULL, 0) < 0) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return 0; } return static_cast(limit); diff --git a/naiveproxy/src/base/system/sys_info_fuchsia.cc b/naiveproxy/src/base/system/sys_info_fuchsia.cc index d722f257c1..12e075ac1f 100644 --- a/naiveproxy/src/base/system/sys_info_fuchsia.cc +++ b/naiveproxy/src/base/system/sys_info_fuchsia.cc @@ -98,7 +98,7 @@ uint64_t SysInfo::AmountOfPhysicalMemoryImpl() { // static uint64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() { - // TODO(crbug.com/986608): Implement this when Fuchsia supports it. + // TODO(crbug.com/42050649): Implement this when Fuchsia supports it. NOTIMPLEMENTED_LOG_ONCE(); return 0; } @@ -129,7 +129,7 @@ int64_t SysInfo::AmountOfFreeDiskSpace(const FilePath& path) { const int64_t total_space = GetAmountOfTotalDiskSpaceAndVolumePath(path, &volume_path); if (total_space >= 0) { - // TODO(crbug.com/1148334): Replace this with an efficient implementation. + // TODO(crbug.com/42050202): Replace this with an efficient implementation. const int64_t used_space = ComputeDirectorySize(volume_path); return std::max(0l, total_space - used_space); } @@ -182,7 +182,7 @@ std::string SysInfo::OperatingSystemVersion() { void SysInfo::OperatingSystemVersionNumbers(int32_t* major_version, int32_t* minor_version, int32_t* bugfix_version) { - // TODO(crbug.com/1348711): Implement this when Fuchsia supports it. + // TODO(crbug.com/42050501): Implement this when Fuchsia supports it. NOTIMPLEMENTED_LOG_ONCE(); *major_version = 0; *minor_version = 0; @@ -202,7 +202,7 @@ std::string SysInfo::OperatingSystemArchitecture() { // static std::string SysInfo::CPUModelName() { - // TODO(crbug.com/1233859): Implement this when Fuchsia supports it. + // TODO(crbug.com/40191727): Implement this when Fuchsia supports it. NOTIMPLEMENTED_LOG_ONCE(); return std::string(); } diff --git a/naiveproxy/src/base/system/sys_info_ios.mm b/naiveproxy/src/base/system/sys_info_ios.mm index 64561dd57a..7a8017089a 100644 --- a/naiveproxy/src/base/system/sys_info_ios.mm +++ b/naiveproxy/src/base/system/sys_info_ios.mm @@ -113,7 +113,7 @@ uint64_t SysInfo::AmountOfPhysicalMemoryImpl() { int result = host_info(host.get(), HOST_BASIC_INFO, reinterpret_cast(&hostinfo), &count); if (result != KERN_SUCCESS) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return 0; } DCHECK_EQ(HOST_BASIC_INFO_COUNT, count); diff --git a/naiveproxy/src/base/system/sys_info_mac.mm b/naiveproxy/src/base/system/sys_info_mac.mm index ee5ba58a8c..a88672a664 100644 --- a/naiveproxy/src/base/system/sys_info_mac.mm +++ b/naiveproxy/src/base/system/sys_info_mac.mm @@ -108,7 +108,7 @@ uint64_t SysInfo::AmountOfPhysicalMemoryImpl() { int result = host_info(host.get(), HOST_BASIC_INFO, reinterpret_cast(&hostinfo), &count); if (result != KERN_SUCCESS) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return 0; } DCHECK_EQ(HOST_BASIC_INFO_COUNT, count); diff --git a/naiveproxy/src/base/system/sys_info_openbsd.cc b/naiveproxy/src/base/system/sys_info_openbsd.cc index d7dfb5bb6c..7bda092154 100644 --- a/naiveproxy/src/base/system/sys_info_openbsd.cc +++ b/naiveproxy/src/base/system/sys_info_openbsd.cc @@ -33,7 +33,7 @@ int SysInfo::NumberOfProcessors() { int ncpu; size_t size = sizeof(ncpu); if (sysctl(mib, std::size(mib), &ncpu, &size, NULL, 0) < 0) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return 1; } return ncpu; @@ -57,7 +57,7 @@ uint64_t SysInfo::MaxSharedMemorySize() { size_t limit; size_t size = sizeof(limit); if (sysctl(mib, std::size(mib), &limit, &size, NULL, 0) < 0) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return 0; } return static_cast(limit); diff --git a/naiveproxy/src/base/system/sys_info_posix.cc b/naiveproxy/src/base/system/sys_info_posix.cc index 3c3b44577b..d02579a92c 100644 --- a/naiveproxy/src/base/system/sys_info_posix.cc +++ b/naiveproxy/src/base/system/sys_info_posix.cc @@ -51,7 +51,7 @@ uint64_t AmountOfVirtualMemory() { struct rlimit limit; int result = getrlimit(RLIMIT_DATA, &limit); if (result != 0) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return 0; } return limit.rlim_cur == RLIM_INFINITY ? 0 : limit.rlim_cur; @@ -152,7 +152,7 @@ int SysInfo::NumberOfProcessors() { if (res == -1) { // `res` can be -1 if this function is invoked under the sandbox, which // should never happen. - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return 1; } @@ -209,7 +209,7 @@ int64_t SysInfo::AmountOfTotalDiskSpace(const FilePath& path) { std::string SysInfo::OperatingSystemName() { struct utsname info; if (uname(&info) < 0) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return std::string(); } return std::string(info.sysname); @@ -221,7 +221,7 @@ std::string SysInfo::OperatingSystemName() { std::string SysInfo::OperatingSystemVersion() { struct utsname info; if (uname(&info) < 0) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return std::string(); } return std::string(info.release); @@ -235,7 +235,7 @@ void SysInfo::OperatingSystemVersionNumbers(int32_t* major_version, int32_t* bugfix_version) { struct utsname info; if (uname(&info) < 0) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); *major_version = 0; *minor_version = 0; *bugfix_version = 0; @@ -257,7 +257,7 @@ void SysInfo::OperatingSystemVersionNumbers(int32_t* major_version, std::string SysInfo::OperatingSystemArchitecture() { struct utsname info; if (uname(&info) < 0) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return std::string(); } std::string arch(info.machine); diff --git a/naiveproxy/src/base/system/sys_info_win.cc b/naiveproxy/src/base/system/sys_info_win.cc index 0ceb85a857..87e394db57 100644 --- a/naiveproxy/src/base/system/sys_info_win.cc +++ b/naiveproxy/src/base/system/sys_info_win.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/system/sys_info.h" #include @@ -114,7 +119,7 @@ uint64_t AmountOfMemory(DWORDLONG MEMORYSTATUSEX::*memory_field) { MEMORYSTATUSEX memory_info; memory_info.dwLength = sizeof(memory_info); if (!GlobalMemoryStatusEx(&memory_info)) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return 0; } diff --git a/naiveproxy/src/base/task/cancelable_task_tracker.h b/naiveproxy/src/base/task/cancelable_task_tracker.h index e6325d9a13..7abc57aa12 100644 --- a/naiveproxy/src/base/task/cancelable_task_tracker.h +++ b/naiveproxy/src/base/task/cancelable_task_tracker.h @@ -154,7 +154,7 @@ class BASE_EXPORT CancelableTaskTracker { TaskId next_id_ = 1; SEQUENCE_CHECKER(sequence_checker_); - // TODO(https://crbug.com/1009795): Remove once crasher is resolved. + // TODO(crbug.com/40050290): Remove once crasher is resolved. base::WeakPtr weak_this_; base::WeakPtrFactory weak_factory_{this}; }; diff --git a/naiveproxy/src/base/task/current_thread.cc b/naiveproxy/src/base/task/current_thread.cc index a93ee7e421..c4f8862b21 100644 --- a/naiveproxy/src/base/task/current_thread.cc +++ b/naiveproxy/src/base/task/current_thread.cc @@ -71,8 +71,10 @@ bool CurrentThread::IsIdleForTesting() { } void CurrentThread::EnableMessagePumpTimeKeeperMetrics( - const char* thread_name) { - return current_->EnableMessagePumpTimeKeeperMetrics(thread_name); + const char* thread_name, + bool wall_time_based_metrics_enabled_for_testing) { + return current_->EnableMessagePumpTimeKeeperMetrics( + thread_name, wall_time_based_metrics_enabled_for_testing); } void CurrentThread::AddTaskObserver(TaskObserver* task_observer) { diff --git a/naiveproxy/src/base/task/current_thread.h b/naiveproxy/src/base/task/current_thread.h index 22bf2c90f9..6e21e7299a 100644 --- a/naiveproxy/src/base/task/current_thread.h +++ b/naiveproxy/src/base/task/current_thread.h @@ -112,7 +112,7 @@ class BASE_EXPORT CurrentThread { // thread/sequence. class BASE_EXPORT DestructionObserver { public: - // TODO(https://crbug.com/891670): Rename to + // TODO(crbug.com/40596446): Rename to // WillDestroyCurrentTaskExecutionEnvironment virtual void WillDestroyCurrentMessageLoop() = 0; @@ -209,7 +209,12 @@ class BASE_EXPORT CurrentThread { // Enables ThreadControllerWithMessagePumpImpl's TimeKeeper metrics. // `thread_name` will be used as a suffix. - void EnableMessagePumpTimeKeeperMetrics(const char* thread_name); + // Setting `wall_time_based_metrics_enabled_for_testing` adds wall-time + // based metrics for this thread. This is only for test environments as it + // disables subsampling. + void EnableMessagePumpTimeKeeperMetrics( + const char* thread_name, + bool wall_time_based_metrics_enabled_for_testing = false); protected: explicit CurrentThread( @@ -257,7 +262,7 @@ class BASE_EXPORT CurrentUIThread : public CurrentThread { #if BUILDFLAG(IS_IOS) // Forwards to SequenceManager::Attach(). - // TODO(https://crbug.com/825327): Plumb the actual SequenceManager* to + // TODO(crbug.com/40568517): Plumb the actual SequenceManager* to // callers and remove ability to access this method from // CurrentUIThread. void Attach(); @@ -265,7 +270,7 @@ class BASE_EXPORT CurrentUIThread : public CurrentThread { #if BUILDFLAG(IS_ANDROID) // Forwards to MessagePumpAndroid::Abort(). - // TODO(https://crbug.com/825327): Plumb the actual MessagePumpForUI* to + // TODO(crbug.com/40568517): Plumb the actual MessagePumpForUI* to // callers and remove ability to access this method from // CurrentUIThread. void Abort(); diff --git a/naiveproxy/src/base/task/post_job.cc b/naiveproxy/src/base/task/post_job.cc index 69fa3190c8..97c74fe7de 100644 --- a/naiveproxy/src/base/task/post_job.cc +++ b/naiveproxy/src/base/task/post_job.cc @@ -61,7 +61,7 @@ bool JobDelegate::ShouldYield() { } void JobDelegate::YieldIfNeeded() { - // TODO(crbug.com/839091): Implement this. + // TODO(crbug.com/40574605): Implement this. } void JobDelegate::NotifyConcurrencyIncrease() { diff --git a/naiveproxy/src/base/task/sequence_manager/associated_thread_id.cc b/naiveproxy/src/base/task/sequence_manager/associated_thread_id.cc index 63577aa4a7..ba07359069 100644 --- a/naiveproxy/src/base/task/sequence_manager/associated_thread_id.cc +++ b/naiveproxy/src/base/task/sequence_manager/associated_thread_id.cc @@ -16,12 +16,14 @@ AssociatedThreadId::~AssociatedThreadId() = default; void AssociatedThreadId::BindToCurrentThread() { #if DCHECK_IS_ON() - const auto prev_thread_ref = thread_ref_.load(std::memory_order_relaxed); + const auto prev_thread_ref = + bound_thread_ref_.load(std::memory_order_relaxed); DCHECK(prev_thread_ref.is_null() || prev_thread_ref == PlatformThread::CurrentRef()); #endif sequence_token_ = base::internal::SequenceToken::GetForCurrentThread(); - thread_ref_.store(PlatformThread::CurrentRef(), std::memory_order_release); + bound_thread_ref_.store(PlatformThread::CurrentRef(), + std::memory_order_release); // Rebind the thread and sequence checkers to the current thread/sequence. DETACH_FROM_THREAD(thread_checker); @@ -31,6 +33,57 @@ void AssociatedThreadId::BindToCurrentThread() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker); } +bool AssociatedThreadId::IsBoundToCurrentThread() const { + const PlatformThreadRef bound_thread_ref = + bound_thread_ref_.load(std::memory_order_relaxed); + const PlatformThreadRef in_sequence_thread_ref = + in_sequence_thread_ref_.load(std::memory_order_relaxed); + const PlatformThreadRef current_thread_ref = PlatformThread::CurrentRef(); + + if (!in_sequence_thread_ref.is_null()) { + // The main thread cannot run when another thread is running "in sequence" + // with it. + CHECK_NE(current_thread_ref, bound_thread_ref); + } + + return bound_thread_ref == current_thread_ref; +} + +void AssociatedThreadId::AssertInSequenceWithCurrentThread() const { + const PlatformThreadRef in_sequence_thread_ref = + in_sequence_thread_ref_.load(std::memory_order_relaxed); + + if (!in_sequence_thread_ref.is_null()) { + CHECK_EQ(in_sequence_thread_ref, PlatformThread::CurrentRef()); + return; + } + +#if DCHECK_IS_ON() + const PlatformThreadRef bound_thread_ref = + bound_thread_ref_.load(std::memory_order_relaxed); + if (!bound_thread_ref.is_null()) { + CHECK_EQ(bound_thread_ref, PlatformThread::CurrentRef()); + return; + } + + DCHECK_CALLED_ON_VALID_THREAD(thread_checker); +#endif // DCHECK_IS_ON() +} + +void AssociatedThreadId::StartInSequenceWithCurrentThread() { + PlatformThreadRef expected = PlatformThreadRef(); + bool succeeded = in_sequence_thread_ref_.compare_exchange_strong( + expected, PlatformThread::CurrentRef(), std::memory_order_relaxed); + CHECK(succeeded); +} + +void AssociatedThreadId::StopInSequenceWithCurrentThread() { + PlatformThreadRef expected = PlatformThread::CurrentRef(); + bool succeeded = in_sequence_thread_ref_.compare_exchange_strong( + expected, PlatformThreadRef(), std::memory_order_relaxed); + CHECK(succeeded); +} + } // namespace internal } // namespace sequence_manager } // namespace base diff --git a/naiveproxy/src/base/task/sequence_manager/associated_thread_id.h b/naiveproxy/src/base/task/sequence_manager/associated_thread_id.h index a5a9ffc8d8..860d2a3c46 100644 --- a/naiveproxy/src/base/task/sequence_manager/associated_thread_id.h +++ b/naiveproxy/src/base/task/sequence_manager/associated_thread_id.h @@ -62,11 +62,11 @@ class BASE_EXPORT AssociatedThreadId // By the time this returns false, the thread may have racily be bound. // However, a bound thread is never unbound. bool IsBound() const { - return !thread_ref_.load(std::memory_order_acquire).is_null(); + return !bound_thread_ref_.load(std::memory_order_acquire).is_null(); } - // Checks whether this object is bound to the current thread. Returns false if - // this object is not bound to any thread. + // Returns whether this object is bound to the current thread. Returns false + // if this object is not bound to any thread. // // Note that this method provides no memory ordering guarantees but those are // not really needed. If this method returns true we are on the same thread @@ -74,10 +74,11 @@ class BASE_EXPORT AssociatedThreadId // could be unbound, so there is no possible ordering. // // Attention:: The result might be stale by the time this method returns. - bool IsBoundToCurrentThread() const { - return thread_ref_.load(std::memory_order_relaxed) == - PlatformThread::CurrentRef(); - } + bool IsBoundToCurrentThread() const; + + // Asserts that the current thread runs in sequence with the thread to which + // this object is bound. + void AssertInSequenceWithCurrentThread() const; // Returns the `SequenceToken` associated with the bound thread. The caller // must ensure that this is sequenced after `BindToCurrentThread()`. @@ -86,11 +87,20 @@ class BASE_EXPORT AssociatedThreadId return sequence_token_; } + // Indicates that the current thread starts/stops running in sequence with the + // bound thread. `IsBoundToCurrentThread()` and + // `AssertInSequenceWithCurrentThread()` fail if invoked on the bound thread + // when another thread runs in sequence with it (that indicates that mutual + // exclusion is not guaranteed). + void StartInSequenceWithCurrentThread(); + void StopInSequenceWithCurrentThread(); + private: friend class base::RefCountedThreadSafe; ~AssociatedThreadId(); - std::atomic thread_ref_{}; + std::atomic bound_thread_ref_; + std::atomic in_sequence_thread_ref_; base::internal::SequenceToken sequence_token_; }; diff --git a/naiveproxy/src/base/task/sequence_manager/atomic_flag_set.cc b/naiveproxy/src/base/task/sequence_manager/atomic_flag_set.cc index 5d405c2a21..e707babb61 100644 --- a/naiveproxy/src/base/task/sequence_manager/atomic_flag_set.cc +++ b/naiveproxy/src/base/task/sequence_manager/atomic_flag_set.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/task/sequence_manager/atomic_flag_set.h" #include diff --git a/naiveproxy/src/base/task/sequence_manager/sequence_manager_impl.cc b/naiveproxy/src/base/task/sequence_manager/sequence_manager_impl.cc index 51b855dc5b..706c384b5d 100644 --- a/naiveproxy/src/base/task/sequence_manager/sequence_manager_impl.cc +++ b/naiveproxy/src/base/task/sequence_manager/sequence_manager_impl.cc @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#ifdef UNSAFE_BUFFERS_BUILD +// TODO(crbug.com/40284755): Remove this and spanify to fix the errors. +#pragma allow_unsafe_buffers +#endif + #include "base/task/sequence_manager/sequence_manager_impl.h" #include @@ -755,8 +760,8 @@ void SequenceManagerImpl::MaybeAddLeewayToTask(Task& task) const { } } -// TODO(crbug/1267874): Rename once ExplicitHighResolutionTimerWin experiment is -// shipped. +// TODO(crbug.com/40204558): Rename once ExplicitHighResolutionTimerWin +// experiment is shipped. bool SequenceManagerImpl::HasPendingHighResolutionTasks() { // Only consider high-res tasks in the |wake_up_queue| (ignore the // |non_waking_wake_up_queue|). @@ -1125,8 +1130,10 @@ bool SequenceManagerImpl::IsIdleForTesting() { } void SequenceManagerImpl::EnableMessagePumpTimeKeeperMetrics( - const char* thread_name) { - controller_->EnableMessagePumpTimeKeeperMetrics(thread_name); + const char* thread_name, + bool wall_time_based_metrics_enabled_for_testing) { + controller_->EnableMessagePumpTimeKeeperMetrics( + thread_name, wall_time_based_metrics_enabled_for_testing); } size_t SequenceManagerImpl::GetPendingTaskCountForTesting() const { diff --git a/naiveproxy/src/base/task/sequence_manager/sequence_manager_impl.h b/naiveproxy/src/base/task/sequence_manager/sequence_manager_impl.h index 9c0bc8e4b5..90855b0be0 100644 --- a/naiveproxy/src/base/task/sequence_manager/sequence_manager_impl.h +++ b/naiveproxy/src/base/task/sequence_manager/sequence_manager_impl.h @@ -171,7 +171,9 @@ class BASE_EXPORT SequenceManagerImpl void AttachToMessagePump(); #endif bool IsIdleForTesting() override; - void EnableMessagePumpTimeKeeperMetrics(const char* thread_name); + void EnableMessagePumpTimeKeeperMetrics( + const char* thread_name, + bool wall_time_based_metrics_enabled_for_testing = false); // Requests that a task to process work is scheduled. void ScheduleWork(); @@ -185,7 +187,7 @@ class BASE_EXPORT SequenceManagerImpl void UnregisterTaskQueueImpl( std::unique_ptr task_queue); - scoped_refptr associated_thread() const { + scoped_refptr associated_thread() const { return associated_thread_; } @@ -308,8 +310,7 @@ class BASE_EXPORT SequenceManagerImpl internal::TaskQueueSelector selector; ObserverList::UncheckedAndDanglingUntriaged task_observers; - ObserverList::UncheckedAndDanglingUntriaged - task_time_observers; + ObserverList task_time_observers; const raw_ptr default_clock; raw_ptr time_domain = nullptr; diff --git a/naiveproxy/src/base/task/sequence_manager/task_order.h b/naiveproxy/src/base/task/sequence_manager/task_order.h index 0a7b04fd19..9cc0eeb8f2 100644 --- a/naiveproxy/src/base/task/sequence_manager/task_order.h +++ b/naiveproxy/src/base/task/sequence_manager/task_order.h @@ -56,7 +56,7 @@ class BASE_EXPORT TaskOrder { int sequence_num() const { return sequence_num_; } - // TODO(1153139): Rename to latest_delayed_run_time() for clarity. + // TODO(crbug.com/40158967): Rename to latest_delayed_run_time() for clarity. TimeTicks delayed_run_time() const { return delayed_run_time_; } static TaskOrder CreateForTesting(EnqueueOrder enqueue_order, diff --git a/naiveproxy/src/base/task/sequence_manager/task_queue_impl.cc b/naiveproxy/src/base/task/sequence_manager/task_queue_impl.cc index 0b82ed57f1..0dd4012449 100644 --- a/naiveproxy/src/base/task/sequence_manager/task_queue_impl.cc +++ b/naiveproxy/src/base/task/sequence_manager/task_queue_impl.cc @@ -72,7 +72,7 @@ std::atomic g_max_precise_delay{kDefaultMaxPreciseDelay}; std::atomic_bool g_explicit_high_resolution_timer_win{true}; #endif // BUILDFLAG(IS_WIN) -void RunTaskSynchronously(const AssociatedThreadId* associated_thread, +void RunTaskSynchronously(AssociatedThreadId* associated_thread, scoped_refptr task_runner, OnceClosure closure) { base::internal::TaskScope sequence_scope( @@ -81,7 +81,9 @@ void RunTaskSynchronously(const AssociatedThreadId* associated_thread, /* is_running_synchronously=*/true); CurrentDefaultHandleOverrideForRunOrPostTask task_runner_override( std::move(task_runner)); + associated_thread->StartInSequenceWithCurrentThread(); std::move(closure).Run(); + associated_thread->StopInSequenceWithCurrentThread(); } } // namespace @@ -145,7 +147,7 @@ bool TaskQueueImpl::GuardedTaskPoster::RunOrPostTask(PostedTask task) { TaskQueueImpl::TaskRunner::TaskRunner( scoped_refptr task_poster, - scoped_refptr associated_thread, + scoped_refptr associated_thread, TaskType task_type) : task_poster_(std::move(task_poster)), associated_thread_(std::move(associated_thread)), @@ -395,14 +397,17 @@ void TaskQueueImpl::PostTask(PostedTask task) { } void TaskQueueImpl::RemoveCancelableTask(HeapHandle heap_handle) { - // Can only cancel from the current thread. - DCHECK(associated_thread_->IsBoundToCurrentThread()); + associated_thread_->AssertInSequenceWithCurrentThread(); DCHECK(heap_handle.IsValid()); main_thread_only().delayed_incoming_queue.remove(heap_handle); - // Only update the delayed wake up if the top task is removed. - if (heap_handle.index() == 0u) { + // Only update the delayed wake up if the top task is removed and we're + // running on the main thread (a `RunOrPostTask` callback may run outside the + // main thread, but in sequence with it -- it's not safe to invoke + // `MessagePump::ScheduleDelayedWork()` in that context). + if (heap_handle.index() == 0u && + associated_thread_->IsBoundToCurrentThread()) { LazyNow lazy_now(sequence_manager_->main_thread_clock()); UpdateWakeUp(&lazy_now); } @@ -844,7 +849,7 @@ Value::Dict TaskQueueImpl::AsValue(TimeTicks now, bool force_verbose) const { StringPrintf("0x%" PRIx64, static_cast( reinterpret_cast(this)))); state.Set("enabled", IsQueueEnabled()); - // TODO(crbug.com/1334256): Make base::Value able to store an int64_t and + // TODO(crbug.com/40228085): Make base::Value able to store an int64_t and // remove the various static_casts below. state.Set("any_thread_.immediate_incoming_queuesize", static_cast(any_thread_.immediate_incoming_queue.size())); @@ -1041,7 +1046,7 @@ bool TaskQueueImpl::CouldTaskRun(EnqueueOrder enqueue_order) const { if (!main_thread_only().current_fence) return true; - // TODO(crbug.com/1249857): This should use TaskOrder. This is currently only + // TODO(crbug.com/40791504): This should use TaskOrder. This is currently only // used for tests and is fine as-is, but we should be using `TaskOrder` for // task comparisons. Also this test should be renamed with a testing suffix as // it is not used in production. @@ -1605,7 +1610,7 @@ TaskQueueImpl::DelayedIncomingQueue::DelayedIncomingQueue() = default; TaskQueueImpl::DelayedIncomingQueue::~DelayedIncomingQueue() = default; void TaskQueueImpl::DelayedIncomingQueue::push(Task task) { - // TODO(crbug.com/1247285): Remove this once the cause of corrupted tasks in + // TODO(crbug.com/40789839): Remove this once the cause of corrupted tasks in // the queue is understood. CHECK(task.task); if (task.is_high_res) diff --git a/naiveproxy/src/base/task/sequence_manager/task_queue_impl.h b/naiveproxy/src/base/task/sequence_manager/task_queue_impl.h index 0dbb830e6a..536bee7081 100644 --- a/naiveproxy/src/base/task/sequence_manager/task_queue_impl.h +++ b/naiveproxy/src/base/task/sequence_manager/task_queue_impl.h @@ -321,10 +321,9 @@ class BASE_EXPORT TaskQueueImpl : public TaskQueue { class TaskRunner final : public SingleThreadTaskRunner { public: - explicit TaskRunner( - scoped_refptr task_poster, - scoped_refptr associated_thread, - TaskType task_type); + explicit TaskRunner(scoped_refptr task_poster, + scoped_refptr associated_thread, + TaskType task_type); bool PostDelayedTask(const Location& location, OnceClosure callback, @@ -357,7 +356,7 @@ class BASE_EXPORT TaskQueueImpl : public TaskQueue { ~TaskRunner() final; const scoped_refptr task_poster_; - const scoped_refptr associated_thread_; + const scoped_refptr associated_thread_; const TaskType task_type_; }; @@ -400,7 +399,7 @@ class BASE_EXPORT TaskQueueImpl : public TaskQueue { return pending_high_res_tasks_; } - // TODO(crbug.com/1155905): we pass SequenceManager to be able to record + // TODO(crbug.com/40735653): we pass SequenceManager to be able to record // crash keys. Remove this parameter after chasing down this crash. void SweepCancelledTasks(SequenceManagerImpl* sequence_manager); Value::List AsValue(TimeTicks now) const; @@ -453,7 +452,7 @@ class BASE_EXPORT TaskQueueImpl : public TaskQueue { // kNormalPriority, this snapshots the next sequence number. The // EnqueueOrder of any already queued task will compare less than this. // - // TODO(crbug.com/1249857): Change this to use `TaskOrder`. + // TODO(crbug.com/40791504): Change this to use `TaskOrder`. EnqueueOrder enqueue_order_at_which_we_became_unblocked_with_normal_priority; OnTaskStartedHandler on_task_started_handler; @@ -557,7 +556,7 @@ class BASE_EXPORT TaskQueueImpl : public TaskQueue { const raw_ptr sequence_manager_; - const scoped_refptr associated_thread_; + const scoped_refptr associated_thread_; const scoped_refptr task_poster_; @@ -601,11 +600,11 @@ class BASE_EXPORT TaskQueueImpl : public TaskQueue { MainThreadOnly main_thread_only_; MainThreadOnly& main_thread_only() { - DCHECK_CALLED_ON_VALID_THREAD(associated_thread_->thread_checker); + associated_thread_->AssertInSequenceWithCurrentThread(); return main_thread_only_; } const MainThreadOnly& main_thread_only() const { - DCHECK_CALLED_ON_VALID_THREAD(associated_thread_->thread_checker); + associated_thread_->AssertInSequenceWithCurrentThread(); return main_thread_only_; } diff --git a/naiveproxy/src/base/task/sequence_manager/task_time_observer.cc b/naiveproxy/src/base/task/sequence_manager/task_time_observer.cc new file mode 100644 index 0000000000..4bf1c2345f --- /dev/null +++ b/naiveproxy/src/base/task/sequence_manager/task_time_observer.cc @@ -0,0 +1,13 @@ +// Copyright 2024 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "base/task/sequence_manager/task_time_observer.h" + +namespace base::sequence_manager { + +TaskTimeObserver::~TaskTimeObserver() { + CHECK(!IsInObserverList()); +} + +} // namespace base::sequence_manager diff --git a/naiveproxy/src/base/task/sequence_manager/task_time_observer.h b/naiveproxy/src/base/task/sequence_manager/task_time_observer.h index 3275339bcb..54ef63dda5 100644 --- a/naiveproxy/src/base/task/sequence_manager/task_time_observer.h +++ b/naiveproxy/src/base/task/sequence_manager/task_time_observer.h @@ -5,18 +5,20 @@ #ifndef BASE_TASK_SEQUENCE_MANAGER_TASK_TIME_OBSERVER_H_ #define BASE_TASK_SEQUENCE_MANAGER_TASK_TIME_OBSERVER_H_ +#include "base/base_export.h" +#include "base/observer_list_types.h" #include "base/time/time.h" namespace base { namespace sequence_manager { // TaskTimeObserver provides an API for observing completion of tasks. -class TaskTimeObserver { +class BASE_EXPORT TaskTimeObserver : public CheckedObserver { public: TaskTimeObserver() = default; TaskTimeObserver(const TaskTimeObserver&) = delete; TaskTimeObserver& operator=(const TaskTimeObserver&) = delete; - virtual ~TaskTimeObserver() = default; + ~TaskTimeObserver() override; // To be called when task is about to start. virtual void WillProcessTask(TimeTicks start_time) = 0; diff --git a/naiveproxy/src/base/task/sequence_manager/test/mock_time_message_pump.cc b/naiveproxy/src/base/task/sequence_manager/test/mock_time_message_pump.cc index 632b00c899..524b7a8422 100644 --- a/naiveproxy/src/base/task/sequence_manager/test/mock_time_message_pump.cc +++ b/naiveproxy/src/base/task/sequence_manager/test/mock_time_message_pump.cc @@ -70,8 +70,9 @@ void MockTimeMessagePump::Run(Delegate* delegate) { if (stop_when_message_pump_is_idle_) return; - NOTREACHED() << "Pump would go to sleep. Probably not what you wanted, " - "consider rewriting your test."; + NOTREACHED_IN_MIGRATION() + << "Pump would go to sleep. Probably not what you wanted, " + "consider rewriting your test."; } } diff --git a/naiveproxy/src/base/task/sequence_manager/thread_controller.cc b/naiveproxy/src/base/task/sequence_manager/thread_controller.cc index 418ace8b5c..ef8e6d25d8 100644 --- a/naiveproxy/src/base/task/sequence_manager/thread_controller.cc +++ b/naiveproxy/src/base/task/sequence_manager/thread_controller.cc @@ -117,23 +117,30 @@ std::string ThreadController::RunLevelTracker::RunLevel::GetSuffixForHistogram( } void ThreadController::EnableMessagePumpTimeKeeperMetrics( - const char* thread_name) { + const char* thread_name, + bool wall_time_based_metrics_enabled_for_testing) { // MessagePump runs too fast, a low-res clock would result in noisy metrics. if (!base::TimeTicks::IsHighResolution()) return; - run_level_tracker_.EnableTimeKeeperMetrics(thread_name); + run_level_tracker_.EnableTimeKeeperMetrics( + thread_name, wall_time_based_metrics_enabled_for_testing); } void ThreadController::RunLevelTracker::EnableTimeKeeperMetrics( - const char* thread_name) { - time_keeper_.EnableRecording(thread_name); + const char* thread_name, + bool wall_time_based_metrics_enabled_for_testing) { + time_keeper_.EnableRecording(thread_name, + wall_time_based_metrics_enabled_for_testing); } void ThreadController::RunLevelTracker::TimeKeeper::EnableRecording( - const char* thread_name) { + const char* thread_name, + bool wall_time_based_metrics_enabled_for_testing) { DCHECK(!histogram_); thread_name_ = thread_name; + wall_time_based_metrics_enabled_for_testing_ = + wall_time_based_metrics_enabled_for_testing; histogram_ = LinearHistogram::FactoryGet( JoinString({"Scheduling.MessagePumpTimeKeeper", thread_name}, "."), 1, @@ -143,13 +150,13 @@ void ThreadController::RunLevelTracker::TimeKeeper::EnableRecording( #if BUILDFLAG(ENABLE_BASE_TRACING) perfetto_track_.emplace( reinterpret_cast(this), - // TODO(crbug.com/1006541): Replace with ThreadTrack::Current() after SDK + // TODO(crbug.com/42050015): Replace with ThreadTrack::Current() after SDK // migration. // In the non-SDK version, ThreadTrack::Current() returns a different // track id on some platforms (for example Mac OS), which results in // async tracks not being associated with their thread. perfetto::ThreadTrack::ForThread(base::PlatformThread::CurrentId())); - // TODO(1006541): Use Perfetto library to name this Track. + // TODO(crbug.com/42050015): Use Perfetto library to name this Track. // auto desc = perfetto_track_->Serialize(); // desc.set_name(JoinString({"MessagePumpPhases", thread_name}, " ")); // perfetto::internal::TrackEventDataSource::SetTrackDescriptor( @@ -162,8 +169,7 @@ void ThreadController::RunLevelTracker::OnRunLoopStarted(State initial_state, DCHECK_CALLED_ON_VALID_THREAD(outer_->associated_thread_->thread_checker); const bool is_nested = !run_levels_.empty(); - run_levels_.emplace(initial_state, is_nested, time_keeper_, lazy_now - ); + run_levels_.emplace(initial_state, is_nested, time_keeper_, lazy_now); // In unit tests, RunLoop::Run() acts as the initial wake-up. if (!is_nested && initial_state != kIdle) @@ -322,6 +328,13 @@ ThreadController::RunLevelTracker::RunLevel::~RunLevel() { ThreadController::RunLevelTracker::RunLevel::RunLevel(RunLevel&& other) = default; +void ThreadController::RunLevelTracker::RunLevel::LogPercentageMetric( + const char* name, + int percentage) { + UmaHistogramPercentage(base::StrCat({name, ".", GetThreadName()}), + percentage); +} + void ThreadController::RunLevelTracker::RunLevel::LogPercentageMetric( const char* name, int percentage, @@ -361,12 +374,18 @@ void ThreadController::RunLevelTracker::RunLevel::LogOnActiveMetrics( LogIntervalMetric("Scheduling.ThreadController.IdleDuration", idle_time, idle_time); last_active_end_ = base::TimeTicks(); + accumulated_idle_time_ += idle_time; } // Taking thread ticks can be expensive. Make sure to do it rarely enough to // not have a discernible impact on performance. static const bool thread_ticks_supported = ThreadTicks::IsSupported(); - if (thread_ticks_supported && metrics_sub_sampler_.ShouldSample(0.001)) { + // Disable subsampling to support wall-time based metrics. Only supported for + // testing purposes. By default, the subsampling probability is 0.1%. + const double probability = + time_keeper_->wall_time_based_metrics_enabled_for_testing() ? 1.0 : 0.001; + if (thread_ticks_supported && + metrics_sub_sampler_.ShouldSample(probability)) { last_active_start_ = lazy_now.Now(); last_active_threadtick_start_ = ThreadTicks::Now(); } @@ -402,6 +421,44 @@ void ThreadController::RunLevelTracker::RunLevel::LogOnIdleMetrics( "Scheduling.ThreadController.ActiveIntervalOnCpuPercentage", active_interval_cpu_percentage, elapsed_ticks); + if (time_keeper_->wall_time_based_metrics_enabled_for_testing()) { + accumulated_active_time_ += elapsed_ticks; + accumulated_active_on_cpu_time_ += elapsed_thread_ticks; + accumulated_active_off_cpu_time_ += + (elapsed_ticks - elapsed_thread_ticks); + + // Accumulated wall-time since last wall-time based metric was stored. + const base::TimeDelta accumulated_wall_time = + accumulated_active_time_ + accumulated_idle_time_; + + // Add wall-time based ratio metrics (in percent) when the total sum of + // active and idle times is larger than one second. + if (accumulated_wall_time > Seconds(1)) { + const int active_vs_wall_time_percentage = checked_cast( + (accumulated_active_time_ * 100).IntDiv(accumulated_wall_time)); + LogPercentageMetric( + "Scheduling.ThreadController.ActiveVsWallTimePercentage", + active_vs_wall_time_percentage); + const int active_on_cpu_vs_wall_time_percentage = + checked_cast((accumulated_active_on_cpu_time_ * 100) + .IntDiv(accumulated_wall_time)); + LogPercentageMetric( + "Scheduling.ThreadController.ActiveOnCpuVsWallTimePercentage", + active_on_cpu_vs_wall_time_percentage); + const int active_off_cpu_vs_wall_time_percentage = + checked_cast((accumulated_active_off_cpu_time_ * 100) + .IntDiv(accumulated_wall_time)); + LogPercentageMetric( + "Scheduling.ThreadController.ActiveOffCpuVsWallTimePercentage", + active_off_cpu_vs_wall_time_percentage); + + accumulated_idle_time_ = base::TimeDelta(); + accumulated_active_time_ = base::TimeDelta(); + accumulated_active_on_cpu_time_ = base::TimeDelta(); + accumulated_active_off_cpu_time_ = base::TimeDelta(); + } + } + // Reset timings. last_active_start_ = base::TimeTicks(); last_active_threadtick_start_ = base::ThreadTicks(); @@ -449,7 +506,7 @@ void ThreadController::RunLevelTracker::RunLevel::UpdateState( LogOnIdleMetrics(lazy_now); TRACE_EVENT_END("base", lazy_now.Now()); - // TODO(crbug.com/1021571): Remove this once fixed. + // TODO(crbug.com/40657156): Remove this once fixed. PERFETTO_INTERNAL_ADD_EMPTY_EVENT(); } @@ -553,8 +610,8 @@ void ThreadController::RunLevelTracker::TimeKeeper::RecordEndOfPhase( if (is_tracing_enabled) { if (!was_tracing_enabled_) { // The first event name on the track hackily names the track... - // TODO(1006541): Use the Perfetto library to properly name this Track in - // EnableRecording above. + // TODO(crbug.com/42050015): Use the Perfetto library to properly name + // this Track in EnableRecording above. TRACE_EVENT_INSTANT(TRACE_DISABLED_BY_DEFAULT("base"), "MessagePumpPhases", *perfetto_track_, last_phase_end_ - Seconds(1)); @@ -596,7 +653,7 @@ bool ThreadController::RunLevelTracker::TimeKeeper::ShouldRecordNow( // cycle in which `histogram_` is enabled. Only start recording from there. // Ignore any nested phases. `reqs` may indicate exceptions to this. // - // TODO(crbug.com/1329717): In a follow-up, we could probably always be + // TODO(crbug.com/40226913): In a follow-up, we could probably always be // tracking the phases of the pump and merely ignore the reporting if // `histogram_` isn't set. switch (reqs) { @@ -664,7 +721,7 @@ const char* ThreadController::RunLevelTracker::TimeKeeper::PhaseToEventName( case kWorkItemSuspendedOnNested: // kWorkItemSuspendedOnNested should be transformed into kNativeWork or // kApplicationTask before this point. - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return ""; } } diff --git a/naiveproxy/src/base/task/sequence_manager/thread_controller.h b/naiveproxy/src/base/task/sequence_manager/thread_controller.h index 12b78c3f4d..47bb7b92c3 100644 --- a/naiveproxy/src/base/task/sequence_manager/thread_controller.h +++ b/naiveproxy/src/base/task/sequence_manager/thread_controller.h @@ -7,6 +7,7 @@ #include #include +#include #include #include @@ -149,7 +150,11 @@ class BASE_EXPORT ThreadController { features::EmitThreadControllerProfilerMetadata emit_profiler_metadata); // Enables TimeKeeper metrics. `thread_name` will be used as a suffix. - void EnableMessagePumpTimeKeeperMetrics(const char* thread_name); + // Setting `wall_time_based_metrics_enabled_for_testing` adds wall-time + // based metrics for this thread. It also also disables subsampling. + void EnableMessagePumpTimeKeeperMetrics( + const char* thread_name, + bool wall_time_based_metrics_enabled_for_testing); // Currently only overridden on ThreadControllerWithMessagePumpImpl. // @@ -191,6 +196,9 @@ class BASE_EXPORT ThreadController { // would result in an inconsistent set of DCHECKs... raw_ptr time_source_; // Not owned. + // Whether or not wall-time based metrics are enabled. + bool wall_time_based_metrics_enabled_for_testing_; + // Tracks the state of each run-level (main and nested ones) in its associated // ThreadController. It does so using two high-level principles: // 1) #work-in-work-implies-nested : @@ -269,7 +277,9 @@ class BASE_EXPORT ThreadController { // RunLevelTracker. void RecordScheduleWork(); - void EnableTimeKeeperMetrics(const char* thread_name); + void EnableTimeKeeperMetrics( + const char* thread_name, + bool wall_time_based_metrics_enabled_for_testing); // Observes changes of state sent as trace-events so they can be tested. class TraceObserverForTesting { @@ -295,7 +305,8 @@ class BASE_EXPORT ThreadController { public: explicit TimeKeeper(const RunLevelTracker& outer); - void EnableRecording(const char* thread_name); + void EnableRecording(const char* thread_name, + bool wall_time_based_metrics_enabled_for_testing); // Records the start time of the first phase out-of-idle. The kScheduled // phase will be attributed the time before this point once its @@ -322,6 +333,10 @@ class BASE_EXPORT ThreadController { const std::string& thread_name() const { return thread_name_; } + bool wall_time_based_metrics_enabled_for_testing() const { + return wall_time_based_metrics_enabled_for_testing_; + } + private: enum class ShouldRecordReqs { // Regular should-record requirements. @@ -345,6 +360,8 @@ class BASE_EXPORT ThreadController { static const char* PhaseToEventName(Phase phase); std::string thread_name_; + // Whether or not wall-time based metrics are reported. + bool wall_time_based_metrics_enabled_for_testing_ = false; // Cumulative time deltas for each phase, reported and reset when >=100ms. std::array deltas_ = {}; // Set at the start of the first work item out-of-idle. Consumed from the @@ -397,6 +414,7 @@ class BASE_EXPORT ThreadController { } private: + void LogPercentageMetric(const char* name, int value); void LogPercentageMetric(const char* name, int value, base::TimeDelta interval_duration); @@ -409,6 +427,10 @@ class BASE_EXPORT ThreadController { base::TimeTicks last_active_end_; base::TimeTicks last_active_start_; base::ThreadTicks last_active_threadtick_start_; + base::TimeDelta accumulated_idle_time_; + base::TimeDelta accumulated_active_time_; + base::TimeDelta accumulated_active_on_cpu_time_; + base::TimeDelta accumulated_active_off_cpu_time_; MetricsSubSampler metrics_sub_sampler_; State state_ = kIdle; diff --git a/naiveproxy/src/base/task/sequence_manager/thread_controller_impl.cc b/naiveproxy/src/base/task/sequence_manager/thread_controller_impl.cc index 5f0f186973..72d5a54a26 100644 --- a/naiveproxy/src/base/task/sequence_manager/thread_controller_impl.cc +++ b/naiveproxy/src/base/task/sequence_manager/thread_controller_impl.cc @@ -151,7 +151,7 @@ void ThreadControllerImpl::RestoreDefaultTaskRunner() { void ThreadControllerImpl::BindToCurrentThread( std::unique_ptr message_pump) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } void ThreadControllerImpl::WillQueueTask(PendingTask* pending_task) { @@ -292,7 +292,7 @@ void ThreadControllerImpl::DoWork(WorkType work_type) { // callback. main_sequence_only().next_delayed_do_work = next_wake_up_time; cancelable_delayed_do_work_closure_.Reset(delayed_do_work_closure_); - // TODO(1153139): Use PostDelayedTaskAt(). + // TODO(crbug.com/40158967): Use PostDelayedTaskAt(). task_runner_->PostDelayedTask(FROM_HERE, cancelable_delayed_do_work_closure_.callback(), next_wake_up_time - lazy_now_after_work.Now()); @@ -339,7 +339,7 @@ void ThreadControllerImpl::SetWorkBatchSize(int work_batch_size) { void ThreadControllerImpl::SetTaskExecutionAllowedInNativeNestedLoop( bool allowed) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } bool ThreadControllerImpl::IsTaskExecutionAllowed() const { @@ -357,18 +357,18 @@ MessagePump* ThreadControllerImpl::GetBoundMessagePump() const { #if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_ANDROID) void ThreadControllerImpl::AttachToMessagePump() { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } #endif // BUILDFLAG(IS_IOS) || BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_IOS) void ThreadControllerImpl::DetachFromMessagePump() { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } #endif // BUILDFLAG(IS_IOS) void ThreadControllerImpl::PrioritizeYieldingToNative(base::TimeTicks) { - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); } } // namespace internal diff --git a/naiveproxy/src/base/task/sequence_manager/thread_controller_impl.h b/naiveproxy/src/base/task/sequence_manager/thread_controller_impl.h index 3955d8dfbe..0de16de103 100644 --- a/naiveproxy/src/base/task/sequence_manager/thread_controller_impl.h +++ b/naiveproxy/src/base/task/sequence_manager/thread_controller_impl.h @@ -37,7 +37,7 @@ class BASE_EXPORT ThreadControllerImpl : public ThreadController, ThreadControllerImpl& operator=(const ThreadControllerImpl&) = delete; ~ThreadControllerImpl() override; - // TODO(https://crbug.com/948051): replace |funneled_sequence_manager| with + // TODO(crbug.com/40620995): replace |funneled_sequence_manager| with // |funneled_task_runner| when we sort out the workers static std::unique_ptr Create( SequenceManagerImpl* funneled_sequence_manager, diff --git a/naiveproxy/src/base/task/sequence_manager/thread_controller_power_monitor.cc b/naiveproxy/src/base/task/sequence_manager/thread_controller_power_monitor.cc index 57240435d2..ea2778d20b 100644 --- a/naiveproxy/src/base/task/sequence_manager/thread_controller_power_monitor.cc +++ b/naiveproxy/src/base/task/sequence_manager/thread_controller_power_monitor.cc @@ -19,7 +19,8 @@ BASE_FEATURE(kUsePowerMonitorWithThreadController, "UsePowerMonitorWithThreadController", FEATURE_ENABLED_BY_DEFAULT); -// TODO(1074332): Remove this when the experiment becomes the default. +// TODO(crbug.com/40127966): Remove this when the experiment becomes the +// default. bool g_use_thread_controller_power_monitor_ = false; } // namespace diff --git a/naiveproxy/src/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc b/naiveproxy/src/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc index 45fb1941fa..59160e0103 100644 --- a/naiveproxy/src/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc +++ b/naiveproxy/src/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc @@ -573,13 +573,14 @@ bool ThreadControllerWithMessagePumpImpl::DoIdleWork() { #endif // BUILDFLAG(IS_WIN) if (main_thread_only().task_source->OnIdle()) { + work_id_provider_->IncrementWorkId(); // The OnIdle() callback resulted in more immediate work, so schedule a // DoWork callback. For some message pumps returning true from here is // sufficient to do that but not on mac. pump_->ScheduleWork(); return false; } - + work_id_provider_->IncrementWorkId(); // This is mostly redundant with the identical call in BeforeWait (upcoming) // but some uninstrumented MessagePump impls don't call BeforeWait so it must // also be done here. diff --git a/naiveproxy/src/base/task/sequence_manager/wake_up_queue.cc b/naiveproxy/src/base/task/sequence_manager/wake_up_queue.cc index be7c18f8ee..313e1da88a 100644 --- a/naiveproxy/src/base/task/sequence_manager/wake_up_queue.cc +++ b/naiveproxy/src/base/task/sequence_manager/wake_up_queue.cc @@ -126,7 +126,7 @@ std::optional WakeUpQueue::GetNextDelayedWakeUp() const { // `wake_up.resolution` is not meaningful since it may be different from // has_pending_high_resolution_tasks(). Return WakeUpResolution::kLow here to // simplify comparison between wake ups. - // TODO(1153139): Drive resolution by DelayPolicy and return + // TODO(crbug.com/40158967): Drive resolution by DelayPolicy and return // has_pending_high_resolution_tasks() here. wake_up.resolution = WakeUpResolution::kLow; return wake_up; @@ -135,7 +135,7 @@ std::optional WakeUpQueue::GetNextDelayedWakeUp() const { Value::Dict WakeUpQueue::AsValue(TimeTicks now) const { Value::Dict state; state.Set("name", GetName()); - // TODO(crbug.com/1334256): Make base::Value able to store an int64_t and + // TODO(crbug.com/40228085): Make base::Value able to store an int64_t and // remove this cast. state.Set("registered_delay_count", checked_cast(wake_up_queue_.size())); if (!wake_up_queue_.empty()) { diff --git a/naiveproxy/src/base/task/sequence_manager/work_queue_sets.h b/naiveproxy/src/base/task/sequence_manager/work_queue_sets.h index 1795bc6c9c..b57c7ee569 100644 --- a/naiveproxy/src/base/task/sequence_manager/work_queue_sets.h +++ b/naiveproxy/src/base/task/sequence_manager/work_queue_sets.h @@ -31,7 +31,7 @@ struct WorkQueueAndTaskOrder { WorkQueueAndTaskOrder(WorkQueue& work_queue, const TaskOrder& task_order) : queue(&work_queue), order(task_order) {} - WorkQueue* queue; + WorkQueue* queue = nullptr; TaskOrder order; }; @@ -142,7 +142,7 @@ class BASE_EXPORT WorkQueueSets { // This is for a debugging feature which lets us randomize task selection. Its // not for production use. - // TODO(crbug.com/1350190): Use a seedable PRNG from ::base if one is added. + // TODO(crbug.com/40234060): Use a seedable PRNG from ::base if one is added. uint64_t Random() const { last_rand_ = MurmurHash3(last_rand_); return last_rand_; diff --git a/naiveproxy/src/base/task/sequenced_task_runner.h b/naiveproxy/src/base/task/sequenced_task_runner.h index 588fe01724..6b22757874 100644 --- a/naiveproxy/src/base/task/sequenced_task_runner.h +++ b/naiveproxy/src/base/task/sequenced_task_runner.h @@ -233,8 +233,8 @@ class BASE_EXPORT SequencedTaskRunner : public TaskRunner { // implementation of PostCancelableDelayedTaskAt(). The default behavior // subtracts TimeTicks::Now() from |delayed_run_time| to get a delay. See // base::Timer to post precise/repeating timeouts. - // TODO(1153139): Make pure virtual once all SequencedTaskRunners implement - // this. + // TODO(crbug.com/40158967): Make pure virtual once all SequencedTaskRunners + // implement this. virtual bool PostDelayedTaskAt(subtle::PostDelayedTaskPassKey, const Location& from_here, OnceClosure task, @@ -248,7 +248,7 @@ class BASE_EXPORT SequencedTaskRunner : public TaskRunner { // `PostTask`. Since `task` may run synchronously, it is generally not // appropriate to invoke this if `task` may take a long time to run. // - // TODO(crbug.com/1503967): This API is still in development. It doesn't yet + // TODO(crbug.com/40944462): This API is still in development. It doesn't yet // support SequenceLocalStorage. virtual bool RunOrPostTask(subtle::RunOrPostTaskPassKey, const Location& from_here, diff --git a/naiveproxy/src/base/task/task_traits.cc b/naiveproxy/src/base/task/task_traits.cc index f73599cbc3..4e86f924b1 100644 --- a/naiveproxy/src/base/task/task_traits.cc +++ b/naiveproxy/src/base/task/task_traits.cc @@ -21,7 +21,7 @@ const char* TaskPriorityToString(TaskPriority task_priority) { case TaskPriority::USER_BLOCKING: return "USER_BLOCKING"; } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return ""; } @@ -35,7 +35,7 @@ const char* TaskShutdownBehaviorToString( case TaskShutdownBehavior::BLOCK_SHUTDOWN: return "BLOCK_SHUTDOWN"; } - NOTREACHED(); + NOTREACHED_IN_MIGRATION(); return ""; } diff --git a/naiveproxy/src/base/task/thread_pool.h b/naiveproxy/src/base/task/thread_pool.h index b368a2c11a..f953545acc 100644 --- a/naiveproxy/src/base/task/thread_pool.h +++ b/naiveproxy/src/base/task/thread_pool.h @@ -96,8 +96,8 @@ class BASE_EXPORT ThreadPool { // Though RepeatingCallback is convertible to OnceCallback, we need a // CallbackType template since we can not use template deduction and object // conversion at once on the overload resolution. - // TODO(crbug.com/714018): Update all callers of the RepeatingCallback version - // to use OnceCallback and remove the CallbackType template. + // TODO(crbug.com/40516732): Update all callers of the RepeatingCallback + // version to use OnceCallback and remove the CallbackType template. template