re2 1.22.2 → 1.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -4
- package/binding.gyp +5 -1
- package/lib/addon.cc +4 -0
- package/lib/new.cc +1 -246
- package/lib/pattern.cc +252 -0
- package/lib/pattern.h +10 -0
- package/lib/set.cc +777 -0
- package/lib/wrapped_re2_set.h +42 -0
- package/package.json +21 -9
- package/re2.d.ts +46 -9
- package/vendor/abseil-cpp/CMake/AbseilDll.cmake +14 -24
- package/vendor/abseil-cpp/CMake/AbseilHelpers.cmake +3 -3
- package/vendor/abseil-cpp/CMake/README.md +2 -2
- package/vendor/abseil-cpp/CMakeLists.txt +3 -3
- package/vendor/abseil-cpp/MODULE.bazel +6 -9
- package/vendor/abseil-cpp/README.md +6 -8
- package/vendor/abseil-cpp/absl/abseil.podspec.gen.py +6 -4
- package/vendor/abseil-cpp/absl/algorithm/BUILD.bazel +3 -0
- package/vendor/abseil-cpp/absl/algorithm/CMakeLists.txt +1 -0
- package/vendor/abseil-cpp/absl/algorithm/container.h +2 -19
- package/vendor/abseil-cpp/absl/algorithm/container_test.cc +4 -11
- package/vendor/abseil-cpp/absl/base/BUILD.bazel +60 -45
- package/vendor/abseil-cpp/absl/base/CMakeLists.txt +57 -38
- package/vendor/abseil-cpp/absl/base/attributes.h +76 -7
- package/vendor/abseil-cpp/absl/base/attributes_test.cc +43 -0
- package/vendor/abseil-cpp/absl/base/call_once.h +11 -12
- package/vendor/abseil-cpp/absl/base/config.h +22 -129
- package/vendor/abseil-cpp/absl/base/exception_safety_testing_test.cc +0 -4
- package/vendor/abseil-cpp/absl/base/{internal/fast_type_id.h → fast_type_id.h} +11 -16
- package/vendor/abseil-cpp/absl/base/{internal/fast_type_id_test.cc → fast_type_id_test.cc} +34 -30
- package/vendor/abseil-cpp/absl/base/internal/cycleclock.cc +0 -5
- package/vendor/abseil-cpp/absl/base/internal/cycleclock_config.h +7 -7
- package/vendor/abseil-cpp/absl/base/internal/endian.h +34 -38
- package/vendor/abseil-cpp/absl/base/internal/iterator_traits.h +71 -0
- package/vendor/abseil-cpp/absl/base/internal/iterator_traits_test.cc +85 -0
- package/vendor/abseil-cpp/absl/base/internal/iterator_traits_test_helper.h +97 -0
- package/vendor/abseil-cpp/absl/base/internal/low_level_alloc.cc +39 -9
- package/vendor/abseil-cpp/absl/base/internal/low_level_alloc.h +6 -0
- package/vendor/abseil-cpp/absl/base/internal/poison.cc +7 -6
- package/vendor/abseil-cpp/absl/base/internal/spinlock.cc +15 -28
- package/vendor/abseil-cpp/absl/base/internal/spinlock.h +65 -35
- package/vendor/abseil-cpp/absl/base/internal/spinlock_benchmark.cc +2 -2
- package/vendor/abseil-cpp/absl/base/internal/sysinfo_test.cc +2 -2
- package/vendor/abseil-cpp/absl/base/internal/thread_identity_benchmark.cc +1 -1
- package/vendor/abseil-cpp/absl/base/internal/thread_identity_test.cc +4 -4
- package/vendor/abseil-cpp/absl/base/internal/unaligned_access.h +6 -6
- package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +4 -0
- package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.h +8 -3
- package/vendor/abseil-cpp/absl/base/no_destructor.h +11 -32
- package/vendor/abseil-cpp/absl/base/no_destructor_test.cc +0 -4
- package/vendor/abseil-cpp/absl/base/nullability.h +83 -72
- package/vendor/abseil-cpp/absl/base/nullability_test.cc +25 -64
- package/vendor/abseil-cpp/absl/base/options.h +3 -80
- package/vendor/abseil-cpp/absl/base/policy_checks.h +7 -7
- package/vendor/abseil-cpp/absl/base/raw_logging_test.cc +15 -0
- package/vendor/abseil-cpp/absl/base/spinlock_test_common.cc +50 -30
- package/vendor/abseil-cpp/absl/cleanup/BUILD.bazel +2 -1
- package/vendor/abseil-cpp/absl/cleanup/CMakeLists.txt +0 -1
- package/vendor/abseil-cpp/absl/cleanup/cleanup.h +1 -3
- package/vendor/abseil-cpp/absl/cleanup/cleanup_test.cc +0 -2
- package/vendor/abseil-cpp/absl/cleanup/internal/cleanup.h +3 -4
- package/vendor/abseil-cpp/absl/container/BUILD.bazel +74 -1
- package/vendor/abseil-cpp/absl/container/CMakeLists.txt +73 -0
- package/vendor/abseil-cpp/absl/container/btree_benchmark.cc +51 -9
- package/vendor/abseil-cpp/absl/container/btree_map.h +8 -6
- package/vendor/abseil-cpp/absl/container/btree_set.h +8 -6
- package/vendor/abseil-cpp/absl/container/btree_test.cc +89 -4
- package/vendor/abseil-cpp/absl/container/fixed_array.h +7 -15
- package/vendor/abseil-cpp/absl/container/fixed_array_test.cc +17 -0
- package/vendor/abseil-cpp/absl/container/flat_hash_map.h +20 -15
- package/vendor/abseil-cpp/absl/container/flat_hash_map_test.cc +8 -14
- package/vendor/abseil-cpp/absl/container/flat_hash_set.h +19 -14
- package/vendor/abseil-cpp/absl/container/flat_hash_set_test.cc +46 -0
- package/vendor/abseil-cpp/absl/container/inlined_vector.h +7 -6
- package/vendor/abseil-cpp/absl/container/inlined_vector_test.cc +28 -0
- package/vendor/abseil-cpp/absl/container/internal/btree.h +132 -29
- package/vendor/abseil-cpp/absl/container/internal/btree_container.h +175 -71
- package/vendor/abseil-cpp/absl/container/internal/common.h +43 -0
- package/vendor/abseil-cpp/absl/container/internal/common_policy_traits.h +1 -2
- package/vendor/abseil-cpp/absl/container/internal/compressed_tuple.h +28 -24
- package/vendor/abseil-cpp/absl/container/internal/compressed_tuple_test.cc +4 -17
- package/vendor/abseil-cpp/absl/container/internal/container_memory.h +80 -17
- package/vendor/abseil-cpp/absl/container/internal/container_memory_test.cc +32 -2
- package/vendor/abseil-cpp/absl/container/internal/hash_function_defaults.h +13 -8
- package/vendor/abseil-cpp/absl/container/internal/hash_function_defaults_test.cc +1 -52
- package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.cc +9 -31
- package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.h +23 -32
- package/vendor/abseil-cpp/absl/container/internal/hash_policy_testing.h +5 -1
- package/vendor/abseil-cpp/absl/container/internal/hash_policy_traits.h +11 -23
- package/vendor/abseil-cpp/absl/container/internal/hash_policy_traits_test.cc +14 -9
- package/vendor/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +516 -0
- package/vendor/abseil-cpp/absl/container/internal/hashtable_control_bytes_test.cc +259 -0
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +23 -6
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.h +32 -13
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +8 -8
- package/vendor/abseil-cpp/absl/container/internal/inlined_vector.h +2 -7
- package/vendor/abseil-cpp/absl/container/internal/layout.h +26 -42
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_map.h +199 -68
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.cc +1506 -213
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.h +1095 -1658
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc +3 -2
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +31 -29
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +51 -20
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +79 -0
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl_test.cc +66 -0
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +707 -363
- package/vendor/abseil-cpp/absl/container/node_hash_map.h +20 -15
- package/vendor/abseil-cpp/absl/container/node_hash_map_test.cc +0 -3
- package/vendor/abseil-cpp/absl/container/node_hash_set.h +18 -13
- package/vendor/abseil-cpp/absl/container/sample_element_size_test.cc +3 -8
- package/vendor/abseil-cpp/absl/copts/AbseilConfigureCopts.cmake +1 -1
- package/vendor/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake +9 -20
- package/vendor/abseil-cpp/absl/copts/GENERATED_copts.bzl +9 -20
- package/vendor/abseil-cpp/absl/copts/copts.py +24 -15
- package/vendor/abseil-cpp/absl/crc/BUILD.bazel +3 -0
- package/vendor/abseil-cpp/absl/crc/crc32c.cc +0 -4
- package/vendor/abseil-cpp/absl/crc/crc32c.h +7 -5
- package/vendor/abseil-cpp/absl/crc/crc32c_benchmark.cc +17 -4
- package/vendor/abseil-cpp/absl/crc/crc32c_test.cc +30 -0
- package/vendor/abseil-cpp/absl/crc/internal/cpu_detect.cc +17 -0
- package/vendor/abseil-cpp/absl/crc/internal/cpu_detect.h +7 -1
- package/vendor/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +0 -22
- package/vendor/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +5 -0
- package/vendor/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +136 -165
- package/vendor/abseil-cpp/absl/crc/internal/gen_crc32c_consts.py +90 -0
- package/vendor/abseil-cpp/absl/debugging/BUILD.bazel +7 -0
- package/vendor/abseil-cpp/absl/debugging/CMakeLists.txt +4 -0
- package/vendor/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
- package/vendor/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +1 -1
- package/vendor/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +5 -5
- package/vendor/abseil-cpp/absl/debugging/internal/demangle.cc +8 -35
- package/vendor/abseil-cpp/absl/debugging/internal/demangle_rust.cc +16 -16
- package/vendor/abseil-cpp/absl/debugging/internal/demangle_test.cc +11 -10
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +40 -37
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +16 -7
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_config.h +6 -5
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +14 -5
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +10 -4
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +27 -16
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +13 -4
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +4 -3
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +15 -28
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +25 -14
- package/vendor/abseil-cpp/absl/debugging/internal/vdso_support.cc +4 -0
- package/vendor/abseil-cpp/absl/debugging/stacktrace.cc +161 -27
- package/vendor/abseil-cpp/absl/debugging/stacktrace.h +73 -5
- package/vendor/abseil-cpp/absl/debugging/stacktrace_test.cc +435 -1
- package/vendor/abseil-cpp/absl/debugging/symbolize_elf.inc +55 -63
- package/vendor/abseil-cpp/absl/debugging/symbolize_emscripten.inc +3 -2
- package/vendor/abseil-cpp/absl/debugging/symbolize_win32.inc +25 -6
- package/vendor/abseil-cpp/absl/flags/BUILD.bazel +6 -0
- package/vendor/abseil-cpp/absl/flags/CMakeLists.txt +3 -0
- package/vendor/abseil-cpp/absl/flags/commandlineflag.h +2 -2
- package/vendor/abseil-cpp/absl/flags/flag.h +4 -3
- package/vendor/abseil-cpp/absl/flags/internal/commandlineflag.h +2 -2
- package/vendor/abseil-cpp/absl/flags/internal/flag.cc +14 -13
- package/vendor/abseil-cpp/absl/flags/internal/flag.h +34 -34
- package/vendor/abseil-cpp/absl/flags/internal/program_name.cc +2 -2
- package/vendor/abseil-cpp/absl/flags/internal/registry.h +4 -3
- package/vendor/abseil-cpp/absl/flags/internal/usage.cc +2 -2
- package/vendor/abseil-cpp/absl/flags/parse.cc +10 -6
- package/vendor/abseil-cpp/absl/flags/reflection.cc +9 -7
- package/vendor/abseil-cpp/absl/flags/usage.cc +2 -2
- package/vendor/abseil-cpp/absl/flags/usage_config.cc +2 -2
- package/vendor/abseil-cpp/absl/functional/BUILD.bazel +7 -6
- package/vendor/abseil-cpp/absl/functional/CMakeLists.txt +2 -4
- package/vendor/abseil-cpp/absl/functional/any_invocable.h +15 -15
- package/vendor/abseil-cpp/absl/functional/any_invocable_test.cc +10 -42
- package/vendor/abseil-cpp/absl/functional/function_ref.h +2 -9
- package/vendor/abseil-cpp/absl/functional/function_ref_test.cc +10 -0
- package/vendor/abseil-cpp/absl/functional/function_type_benchmark.cc +1 -1
- package/vendor/abseil-cpp/absl/functional/internal/any_invocable.h +112 -227
- package/vendor/abseil-cpp/absl/functional/internal/front_binder.h +10 -12
- package/vendor/abseil-cpp/absl/functional/internal/function_ref.h +2 -5
- package/vendor/abseil-cpp/absl/functional/overload.h +0 -20
- package/vendor/abseil-cpp/absl/functional/overload_test.cc +1 -7
- package/vendor/abseil-cpp/absl/hash/BUILD.bazel +16 -9
- package/vendor/abseil-cpp/absl/hash/CMakeLists.txt +6 -9
- package/vendor/abseil-cpp/absl/hash/hash.h +18 -0
- package/vendor/abseil-cpp/absl/hash/hash_benchmark.cc +3 -0
- package/vendor/abseil-cpp/absl/hash/hash_instantiated_test.cc +1 -1
- package/vendor/abseil-cpp/absl/hash/hash_test.cc +131 -30
- package/vendor/abseil-cpp/absl/hash/hash_testing.h +20 -20
- package/vendor/abseil-cpp/absl/hash/internal/hash.cc +129 -17
- package/vendor/abseil-cpp/absl/hash/internal/hash.h +326 -362
- package/vendor/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +54 -151
- package/vendor/abseil-cpp/absl/hash/internal/spy_hash_state.h +14 -2
- package/vendor/abseil-cpp/absl/{strings/cord_buffer.cc → hash/internal/weakly_mixed_integer.h} +14 -6
- package/vendor/abseil-cpp/absl/log/BUILD.bazel +4 -0
- package/vendor/abseil-cpp/absl/log/CMakeLists.txt +7 -0
- package/vendor/abseil-cpp/absl/log/check.h +2 -1
- package/vendor/abseil-cpp/absl/log/check_test_impl.inc +308 -14
- package/vendor/abseil-cpp/absl/log/die_if_null.h +2 -2
- package/vendor/abseil-cpp/absl/log/flags_test.cc +7 -0
- package/vendor/abseil-cpp/absl/log/globals.h +4 -5
- package/vendor/abseil-cpp/absl/log/internal/BUILD.bazel +13 -9
- package/vendor/abseil-cpp/absl/log/internal/append_truncated.h +28 -0
- package/vendor/abseil-cpp/absl/log/internal/check_op.cc +24 -22
- package/vendor/abseil-cpp/absl/log/internal/check_op.h +149 -94
- package/vendor/abseil-cpp/absl/log/internal/conditions.cc +5 -3
- package/vendor/abseil-cpp/absl/log/internal/conditions.h +7 -2
- package/vendor/abseil-cpp/absl/log/internal/fnmatch_test.cc +1 -0
- package/vendor/abseil-cpp/absl/log/internal/log_message.cc +85 -43
- package/vendor/abseil-cpp/absl/log/internal/log_message.h +84 -59
- package/vendor/abseil-cpp/absl/log/internal/log_sink_set.cc +4 -4
- package/vendor/abseil-cpp/absl/log/internal/nullstream.h +1 -0
- package/vendor/abseil-cpp/absl/log/internal/proto.cc +3 -2
- package/vendor/abseil-cpp/absl/log/internal/proto.h +3 -3
- package/vendor/abseil-cpp/absl/log/internal/strip.h +4 -12
- package/vendor/abseil-cpp/absl/log/internal/structured.h +3 -7
- package/vendor/abseil-cpp/absl/log/internal/vlog_config.cc +9 -9
- package/vendor/abseil-cpp/absl/log/internal/vlog_config.h +8 -6
- package/vendor/abseil-cpp/absl/log/internal/voidify.h +10 -4
- package/vendor/abseil-cpp/absl/log/log.h +48 -35
- package/vendor/abseil-cpp/absl/log/log_basic_test_impl.inc +45 -0
- package/vendor/abseil-cpp/absl/log/log_entry.cc +241 -19
- package/vendor/abseil-cpp/absl/log/log_entry.h +2 -0
- package/vendor/abseil-cpp/absl/log/log_format_test.cc +412 -6
- package/vendor/abseil-cpp/absl/log/log_modifier_methods_test.cc +20 -0
- package/vendor/abseil-cpp/absl/log/log_sink_registry.h +2 -2
- package/vendor/abseil-cpp/absl/log/log_streamer_test.cc +15 -2
- package/vendor/abseil-cpp/absl/log/scoped_mock_log.h +7 -1
- package/vendor/abseil-cpp/absl/log/structured_test.cc +1 -0
- package/vendor/abseil-cpp/absl/memory/BUILD.bazel +2 -0
- package/vendor/abseil-cpp/absl/meta/BUILD.bazel +2 -0
- package/vendor/abseil-cpp/absl/meta/type_traits.h +46 -175
- package/vendor/abseil-cpp/absl/meta/type_traits_test.cc +1 -478
- package/vendor/abseil-cpp/absl/numeric/BUILD.bazel +7 -3
- package/vendor/abseil-cpp/absl/numeric/CMakeLists.txt +2 -0
- package/vendor/abseil-cpp/absl/numeric/bits.h +68 -2
- package/vendor/abseil-cpp/absl/numeric/bits_benchmark.cc +1 -1
- package/vendor/abseil-cpp/absl/numeric/bits_test.cc +83 -0
- package/vendor/abseil-cpp/absl/numeric/int128.cc +0 -52
- package/vendor/abseil-cpp/absl/numeric/int128_benchmark.cc +14 -15
- package/vendor/abseil-cpp/absl/numeric/int128_test.cc +13 -8
- package/vendor/abseil-cpp/absl/numeric/internal/bits.h +39 -7
- package/vendor/abseil-cpp/absl/profiling/BUILD.bazel +47 -0
- package/vendor/abseil-cpp/absl/profiling/CMakeLists.txt +38 -0
- package/vendor/abseil-cpp/absl/profiling/hashtable.cc +124 -0
- package/vendor/abseil-cpp/absl/profiling/hashtable.h +40 -0
- package/vendor/abseil-cpp/absl/profiling/internal/exponential_biased.cc +1 -1
- package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.cc +462 -0
- package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.h +138 -0
- package/vendor/abseil-cpp/absl/profiling/internal/sample_recorder.h +9 -9
- package/vendor/abseil-cpp/absl/profiling/internal/sample_recorder_test.cc +7 -3
- package/vendor/abseil-cpp/absl/random/BUILD.bazel +6 -4
- package/vendor/abseil-cpp/absl/random/CMakeLists.txt +20 -19
- package/vendor/abseil-cpp/absl/random/benchmarks.cc +16 -23
- package/vendor/abseil-cpp/absl/random/bit_gen_ref.h +10 -11
- package/vendor/abseil-cpp/absl/random/bit_gen_ref_test.cc +7 -2
- package/vendor/abseil-cpp/absl/random/distributions.h +6 -8
- package/vendor/abseil-cpp/absl/random/gaussian_distribution.h +1 -1
- package/vendor/abseil-cpp/absl/random/internal/BUILD.bazel +19 -20
- package/vendor/abseil-cpp/absl/random/internal/distribution_caller.h +5 -6
- package/vendor/abseil-cpp/absl/random/internal/{pool_urbg.cc → entropy_pool.cc} +24 -92
- package/vendor/abseil-cpp/absl/{base/inline_variable_test_b.cc → random/internal/entropy_pool.h} +14 -6
- package/vendor/abseil-cpp/absl/random/internal/entropy_pool_test.cc +119 -0
- package/vendor/abseil-cpp/absl/random/internal/mock_helpers.h +6 -7
- package/vendor/abseil-cpp/absl/random/internal/nonsecure_base.h +5 -6
- package/vendor/abseil-cpp/absl/random/internal/nonsecure_base_test.cc +39 -0
- package/vendor/abseil-cpp/absl/random/internal/randen_benchmarks.cc +8 -6
- package/vendor/abseil-cpp/absl/random/internal/randen_detect.cc +1 -1
- package/vendor/abseil-cpp/absl/random/internal/seed_material.cc +20 -12
- package/vendor/abseil-cpp/absl/random/internal/seed_material.h +5 -5
- package/vendor/abseil-cpp/absl/random/internal/seed_material_test.cc +3 -0
- package/vendor/abseil-cpp/absl/random/mock_distributions_test.cc +5 -4
- package/vendor/abseil-cpp/absl/random/mocking_bit_gen.h +8 -10
- package/vendor/abseil-cpp/absl/random/random.h +88 -53
- package/vendor/abseil-cpp/absl/random/seed_sequences.cc +6 -2
- package/vendor/abseil-cpp/absl/status/BUILD.bazel +26 -0
- package/vendor/abseil-cpp/absl/status/internal/status_internal.cc +3 -4
- package/vendor/abseil-cpp/absl/status/internal/status_internal.h +3 -4
- package/vendor/abseil-cpp/absl/status/internal/status_matchers.cc +4 -3
- package/vendor/abseil-cpp/absl/status/internal/statusor_internal.h +194 -32
- package/vendor/abseil-cpp/absl/status/status.cc +4 -8
- package/vendor/abseil-cpp/absl/status/status.h +8 -8
- package/vendor/abseil-cpp/absl/{base/inline_variable_test_a.cc → status/status_benchmark.cc} +20 -10
- package/vendor/abseil-cpp/absl/status/status_matchers_test.cc +65 -0
- package/vendor/abseil-cpp/absl/status/status_payload_printer.h +2 -2
- package/vendor/abseil-cpp/absl/status/statusor.cc +2 -2
- package/vendor/abseil-cpp/absl/status/statusor.h +49 -102
- package/vendor/abseil-cpp/absl/status/statusor_benchmark.cc +480 -0
- package/vendor/abseil-cpp/absl/status/statusor_test.cc +323 -1
- package/vendor/abseil-cpp/absl/strings/BUILD.bazel +70 -34
- package/vendor/abseil-cpp/absl/strings/CMakeLists.txt +6 -3
- package/vendor/abseil-cpp/absl/strings/ascii.cc +9 -9
- package/vendor/abseil-cpp/absl/strings/ascii.h +18 -18
- package/vendor/abseil-cpp/absl/strings/ascii_benchmark.cc +5 -8
- package/vendor/abseil-cpp/absl/strings/charconv.cc +21 -22
- package/vendor/abseil-cpp/absl/strings/charconv.h +5 -5
- package/vendor/abseil-cpp/absl/strings/charconv_benchmark.cc +1 -2
- package/vendor/abseil-cpp/absl/strings/charset_benchmark.cc +1 -1
- package/vendor/abseil-cpp/absl/strings/cord.cc +54 -58
- package/vendor/abseil-cpp/absl/strings/cord.h +94 -84
- package/vendor/abseil-cpp/absl/strings/cord_analysis.cc +11 -11
- package/vendor/abseil-cpp/absl/strings/cord_analysis.h +3 -3
- package/vendor/abseil-cpp/absl/strings/cord_test.cc +23 -0
- package/vendor/abseil-cpp/absl/strings/cordz_test_helpers.h +4 -5
- package/vendor/abseil-cpp/absl/strings/escaping.cc +130 -149
- package/vendor/abseil-cpp/absl/strings/escaping.h +9 -10
- package/vendor/abseil-cpp/absl/strings/escaping_benchmark.cc +2 -3
- package/vendor/abseil-cpp/absl/strings/escaping_test.cc +19 -9
- package/vendor/abseil-cpp/absl/strings/internal/charconv_bigint.cc +1 -1
- package/vendor/abseil-cpp/absl/strings/internal/charconv_bigint_test.cc +1 -1
- package/vendor/abseil-cpp/absl/strings/internal/cord_internal.h +6 -10
- package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +0 -4
- package/vendor/abseil-cpp/absl/strings/internal/cordz_handle.cc +6 -6
- package/vendor/abseil-cpp/absl/strings/internal/cordz_info.cc +5 -9
- package/vendor/abseil-cpp/absl/strings/internal/cordz_info.h +2 -4
- package/vendor/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_benchmark.cc +56 -0
- package/vendor/abseil-cpp/absl/strings/internal/memutil_benchmark.cc +2 -3
- package/vendor/abseil-cpp/absl/strings/internal/ostringstream_benchmark.cc +1 -2
- package/vendor/abseil-cpp/absl/strings/internal/str_format/arg.cc +7 -63
- package/vendor/abseil-cpp/absl/strings/internal/str_format/arg.h +1 -11
- package/vendor/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +1 -6
- package/vendor/abseil-cpp/absl/strings/internal/str_format/extension.cc +0 -22
- package/vendor/abseil-cpp/absl/strings/internal/str_format/extension_test.cc +3 -2
- package/vendor/abseil-cpp/absl/strings/internal/str_format/output.cc +5 -3
- package/vendor/abseil-cpp/absl/strings/internal/str_format/parser.h +4 -2
- package/vendor/abseil-cpp/absl/strings/internal/str_join_internal.h +3 -3
- package/vendor/abseil-cpp/absl/strings/internal/str_split_internal.h +7 -2
- package/vendor/abseil-cpp/absl/strings/internal/string_constant.h +0 -5
- package/vendor/abseil-cpp/absl/strings/internal/utf8.cc +96 -1
- package/vendor/abseil-cpp/absl/strings/internal/utf8.h +15 -1
- package/vendor/abseil-cpp/absl/strings/internal/utf8_test.cc +196 -3
- package/vendor/abseil-cpp/absl/strings/numbers.cc +53 -32
- package/vendor/abseil-cpp/absl/strings/numbers.h +87 -58
- package/vendor/abseil-cpp/absl/strings/numbers_benchmark.cc +1 -1
- package/vendor/abseil-cpp/absl/strings/numbers_test.cc +634 -120
- package/vendor/abseil-cpp/absl/strings/str_cat.cc +6 -7
- package/vendor/abseil-cpp/absl/strings/str_cat.h +32 -32
- package/vendor/abseil-cpp/absl/strings/str_cat_benchmark.cc +25 -1
- package/vendor/abseil-cpp/absl/strings/str_cat_test.cc +2 -7
- package/vendor/abseil-cpp/absl/strings/str_format.h +18 -18
- package/vendor/abseil-cpp/absl/strings/str_format_test.cc +8 -14
- package/vendor/abseil-cpp/absl/strings/str_join_benchmark.cc +2 -3
- package/vendor/abseil-cpp/absl/strings/str_replace.cc +3 -3
- package/vendor/abseil-cpp/absl/strings/str_replace.h +6 -6
- package/vendor/abseil-cpp/absl/strings/str_replace_benchmark.cc +2 -3
- package/vendor/abseil-cpp/absl/strings/str_split.h +2 -2
- package/vendor/abseil-cpp/absl/strings/str_split_benchmark.cc +2 -3
- package/vendor/abseil-cpp/absl/strings/string_view.cc +4 -9
- package/vendor/abseil-cpp/absl/strings/string_view.h +38 -39
- package/vendor/abseil-cpp/absl/strings/string_view_benchmark.cc +4 -6
- package/vendor/abseil-cpp/absl/strings/string_view_test.cc +2 -50
- package/vendor/abseil-cpp/absl/strings/strip.h +4 -4
- package/vendor/abseil-cpp/absl/strings/substitute.cc +5 -4
- package/vendor/abseil-cpp/absl/strings/substitute.h +66 -64
- package/vendor/abseil-cpp/absl/strings/substitute_benchmark.cc +158 -0
- package/vendor/abseil-cpp/absl/synchronization/BUILD.bazel +6 -1
- package/vendor/abseil-cpp/absl/synchronization/CMakeLists.txt +2 -1
- package/vendor/abseil-cpp/absl/synchronization/barrier.cc +1 -1
- package/vendor/abseil-cpp/absl/synchronization/barrier_test.cc +3 -3
- package/vendor/abseil-cpp/absl/synchronization/blocking_counter.cc +2 -2
- package/vendor/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +3 -3
- package/vendor/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +0 -4
- package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles.cc +30 -33
- package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles_benchmark.cc +2 -3
- package/vendor/abseil-cpp/absl/synchronization/internal/graphcycles_test.cc +6 -5
- package/vendor/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +0 -5
- package/vendor/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +0 -4
- package/vendor/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +0 -4
- package/vendor/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +0 -4
- package/vendor/abseil-cpp/absl/synchronization/internal/thread_pool.h +3 -3
- package/vendor/abseil-cpp/absl/synchronization/internal/waiter_base.cc +0 -4
- package/vendor/abseil-cpp/absl/synchronization/internal/waiter_test.cc +12 -3
- package/vendor/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +0 -4
- package/vendor/abseil-cpp/absl/synchronization/lifetime_test.cc +4 -4
- package/vendor/abseil-cpp/absl/synchronization/mutex.cc +27 -29
- package/vendor/abseil-cpp/absl/synchronization/mutex.h +205 -126
- package/vendor/abseil-cpp/absl/synchronization/mutex_benchmark.cc +13 -31
- package/vendor/abseil-cpp/absl/synchronization/mutex_test.cc +183 -169
- package/vendor/abseil-cpp/absl/synchronization/notification.cc +5 -5
- package/vendor/abseil-cpp/absl/synchronization/notification.h +1 -1
- package/vendor/abseil-cpp/absl/synchronization/notification_test.cc +3 -3
- package/vendor/abseil-cpp/absl/time/BUILD.bazel +9 -1
- package/vendor/abseil-cpp/absl/time/CMakeLists.txt +3 -1
- package/vendor/abseil-cpp/absl/time/civil_time.cc +1 -0
- package/vendor/abseil-cpp/absl/time/civil_time_test.cc +134 -0
- package/vendor/abseil-cpp/absl/time/clock.cc +11 -14
- package/vendor/abseil-cpp/absl/time/duration.cc +14 -9
- package/vendor/abseil-cpp/absl/time/duration_test.cc +6 -7
- package/vendor/abseil-cpp/absl/time/internal/cctz/BUILD.bazel +14 -3
- package/vendor/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +12 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +1 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/cctz_benchmark.cc +4 -490
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.cc +515 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.h +33 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +41 -4
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format_test.cc +22 -23
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +90 -111
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup_test.cc +1 -488
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/version +1 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coyhaique +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tehran +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iran +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +2 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab +1 -1
- package/vendor/abseil-cpp/absl/time/time.h +24 -18
- package/vendor/abseil-cpp/absl/time/time_test.cc +26 -0
- package/vendor/abseil-cpp/absl/types/BUILD.bazel +11 -164
- package/vendor/abseil-cpp/absl/types/CMakeLists.txt +23 -167
- package/vendor/abseil-cpp/absl/types/any.h +9 -484
- package/vendor/abseil-cpp/absl/types/optional.h +7 -747
- package/vendor/abseil-cpp/absl/types/span.h +46 -19
- package/vendor/abseil-cpp/absl/types/span_test.cc +27 -0
- package/vendor/abseil-cpp/absl/types/variant.h +5 -784
- package/vendor/abseil-cpp/absl/types/variant_test.cc +43 -2597
- package/vendor/abseil-cpp/absl/utility/BUILD.bazel +1 -41
- package/vendor/abseil-cpp/absl/utility/CMakeLists.txt +0 -40
- package/vendor/abseil-cpp/absl/utility/utility.h +10 -185
- package/vendor/abseil-cpp/ci/absl_alternate_options.h +2 -3
- package/vendor/abseil-cpp/ci/cmake_common.sh +2 -2
- package/vendor/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh +12 -13
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +24 -21
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +12 -12
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +23 -22
- package/vendor/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +20 -19
- package/vendor/abseil-cpp/ci/linux_docker_containers.sh +4 -4
- package/vendor/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +17 -17
- package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +10 -10
- package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh +1 -1
- package/vendor/abseil-cpp/ci/linux_gcc_alpine_cmake.sh +1 -1
- package/vendor/abseil-cpp/ci/macos_xcode_bazel.sh +9 -10
- package/vendor/abseil-cpp/ci/macos_xcode_cmake.sh +9 -1
- package/vendor/abseil-cpp/ci/windows_clangcl_bazel.bat +14 -6
- package/vendor/abseil-cpp/ci/windows_msvc_bazel.bat +14 -6
- package/vendor/abseil-cpp/ci/windows_msvc_cmake.bat +1 -1
- package/vendor/re2/.bazelrc +4 -4
- package/vendor/re2/.bcr/metadata.template.json +16 -0
- package/vendor/re2/.bcr/presubmit.yml +57 -0
- package/vendor/re2/.bcr/source.template.json +5 -0
- package/vendor/re2/.github/bazel.sh +1 -7
- package/vendor/re2/.github/workflows/ci-bazel.yml +5 -5
- package/vendor/re2/.github/workflows/ci-cmake.yml +4 -4
- package/vendor/re2/.github/workflows/ci.yml +5 -6
- package/vendor/re2/.github/workflows/pages.yml +3 -3
- package/vendor/re2/.github/workflows/python.yml +29 -24
- package/vendor/re2/.github/workflows/release-bazel.yml +42 -0
- package/vendor/re2/.github/workflows/release.yml +15 -4
- package/vendor/re2/BUILD.bazel +25 -0
- package/vendor/re2/CMakeLists.txt +100 -85
- package/vendor/re2/CONTRIBUTING.md +0 -1
- package/vendor/re2/MODULE.bazel +10 -10
- package/vendor/re2/Makefile +1 -1
- package/vendor/re2/README.md +259 -0
- package/vendor/re2/python/BUILD.bazel +8 -0
- package/vendor/re2/python/re2.py +1 -1
- package/vendor/re2/python/re2_test.py +6 -0
- package/vendor/re2/python/setup.py +3 -3
- package/vendor/re2/re2/bitmap256.cc +3 -4
- package/vendor/re2/re2/bitstate.cc +15 -10
- package/vendor/re2/re2/dfa.cc +1 -2
- package/vendor/re2/re2/parse.cc +3 -4
- package/vendor/re2/re2/prog.cc +1 -2
- package/vendor/re2/re2/prog.h +1 -0
- package/vendor/re2/re2/re2.cc +5 -0
- package/vendor/re2/re2/re2.h +9 -9
- package/vendor/re2/re2/set.cc +6 -0
- package/vendor/re2/re2/set.h +5 -0
- package/vendor/re2/re2/testing/re2_arg_test.cc +3 -3
- package/vendor/re2/re2/testing/re2_test.cc +8 -0
- package/vendor/re2/re2/testing/set_test.cc +5 -0
- package/vendor/re2/re2/walker-inl.h +1 -1
- package/vendor/abseil-cpp/WORKSPACE +0 -76
- package/vendor/abseil-cpp/WORKSPACE.bzlmod +0 -19
- package/vendor/abseil-cpp/absl/base/inline_variable_test.cc +0 -64
- package/vendor/abseil-cpp/absl/base/internal/inline_variable.h +0 -108
- package/vendor/abseil-cpp/absl/base/internal/inline_variable_testing.h +0 -46
- package/vendor/abseil-cpp/absl/base/internal/invoke.h +0 -241
- package/vendor/abseil-cpp/absl/base/internal/nullability_impl.h +0 -69
- package/vendor/abseil-cpp/absl/base/invoke_test.cc +0 -331
- package/vendor/abseil-cpp/absl/hash/internal/low_level_hash.cc +0 -148
- package/vendor/abseil-cpp/absl/hash/internal/low_level_hash.h +0 -54
- package/vendor/abseil-cpp/absl/random/internal/pool_urbg.h +0 -131
- package/vendor/abseil-cpp/absl/random/internal/pool_urbg_test.cc +0 -182
- package/vendor/abseil-cpp/absl/types/any_exception_safety_test.cc +0 -173
- package/vendor/abseil-cpp/absl/types/any_test.cc +0 -778
- package/vendor/abseil-cpp/absl/types/bad_any_cast.cc +0 -64
- package/vendor/abseil-cpp/absl/types/bad_any_cast.h +0 -75
- package/vendor/abseil-cpp/absl/types/bad_optional_access.cc +0 -66
- package/vendor/abseil-cpp/absl/types/bad_optional_access.h +0 -78
- package/vendor/abseil-cpp/absl/types/bad_variant_access.cc +0 -82
- package/vendor/abseil-cpp/absl/types/bad_variant_access.h +0 -82
- package/vendor/abseil-cpp/absl/types/internal/optional.h +0 -352
- package/vendor/abseil-cpp/absl/types/internal/variant.h +0 -1622
- package/vendor/abseil-cpp/absl/types/optional_exception_safety_test.cc +0 -292
- package/vendor/abseil-cpp/absl/types/optional_test.cc +0 -1615
- package/vendor/abseil-cpp/absl/types/variant_benchmark.cc +0 -222
- package/vendor/abseil-cpp/absl/types/variant_exception_safety_test.cc +0 -532
- package/vendor/abseil-cpp/absl/utility/internal/if_constexpr.h +0 -70
- package/vendor/abseil-cpp/absl/utility/internal/if_constexpr_test.cc +0 -79
- package/vendor/abseil-cpp/absl/utility/utility_test.cc +0 -239
- package/vendor/re2/.github/workflows/pr.yml +0 -34
- package/vendor/re2/README +0 -47
|
@@ -14,6 +14,9 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
#
|
|
16
16
|
|
|
17
|
+
load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
|
|
18
|
+
load("@rules_cc//cc:cc_library.bzl", "cc_library")
|
|
19
|
+
load("@rules_cc//cc:cc_test.bzl", "cc_test")
|
|
17
20
|
load(
|
|
18
21
|
"//absl:copts/configure_copts.bzl",
|
|
19
22
|
"ABSL_DEFAULT_COPTS",
|
|
@@ -82,14 +85,12 @@ cc_library(
|
|
|
82
85
|
|
|
83
86
|
cc_library(
|
|
84
87
|
name = "nullability",
|
|
85
|
-
srcs = ["internal/nullability_impl.h"],
|
|
86
88
|
hdrs = ["nullability.h"],
|
|
87
89
|
copts = ABSL_DEFAULT_COPTS,
|
|
88
90
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
89
91
|
deps = [
|
|
90
92
|
":config",
|
|
91
93
|
":core_headers",
|
|
92
|
-
"//absl/meta:type_traits",
|
|
93
94
|
],
|
|
94
95
|
)
|
|
95
96
|
|
|
@@ -230,8 +231,6 @@ cc_library(
|
|
|
230
231
|
hdrs = [
|
|
231
232
|
"internal/hide_ptr.h",
|
|
232
233
|
"internal/identity.h",
|
|
233
|
-
"internal/inline_variable.h",
|
|
234
|
-
"internal/invoke.h",
|
|
235
234
|
"internal/scheduling_mode.h",
|
|
236
235
|
],
|
|
237
236
|
copts = ABSL_DEFAULT_COPTS,
|
|
@@ -340,6 +339,21 @@ cc_test(
|
|
|
340
339
|
],
|
|
341
340
|
)
|
|
342
341
|
|
|
342
|
+
cc_test(
|
|
343
|
+
name = "attributes_test",
|
|
344
|
+
srcs = [
|
|
345
|
+
"attributes_test.cc",
|
|
346
|
+
],
|
|
347
|
+
copts = ABSL_TEST_COPTS,
|
|
348
|
+
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
349
|
+
deps = [
|
|
350
|
+
":config",
|
|
351
|
+
":core_headers",
|
|
352
|
+
"@googletest//:gtest",
|
|
353
|
+
"@googletest//:gtest_main",
|
|
354
|
+
],
|
|
355
|
+
)
|
|
356
|
+
|
|
343
357
|
cc_test(
|
|
344
358
|
name = "c_header_test",
|
|
345
359
|
srcs = ["c_header_test.c"],
|
|
@@ -449,39 +463,6 @@ cc_test(
|
|
|
449
463
|
],
|
|
450
464
|
)
|
|
451
465
|
|
|
452
|
-
cc_test(
|
|
453
|
-
name = "inline_variable_test",
|
|
454
|
-
size = "small",
|
|
455
|
-
srcs = [
|
|
456
|
-
"inline_variable_test.cc",
|
|
457
|
-
"inline_variable_test_a.cc",
|
|
458
|
-
"inline_variable_test_b.cc",
|
|
459
|
-
"internal/inline_variable_testing.h",
|
|
460
|
-
],
|
|
461
|
-
copts = ABSL_TEST_COPTS,
|
|
462
|
-
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
463
|
-
deps = [
|
|
464
|
-
":base_internal",
|
|
465
|
-
"@googletest//:gtest",
|
|
466
|
-
"@googletest//:gtest_main",
|
|
467
|
-
],
|
|
468
|
-
)
|
|
469
|
-
|
|
470
|
-
cc_test(
|
|
471
|
-
name = "invoke_test",
|
|
472
|
-
size = "small",
|
|
473
|
-
srcs = ["invoke_test.cc"],
|
|
474
|
-
copts = ABSL_TEST_COPTS,
|
|
475
|
-
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
476
|
-
deps = [
|
|
477
|
-
":base_internal",
|
|
478
|
-
"//absl/memory",
|
|
479
|
-
"//absl/strings",
|
|
480
|
-
"@googletest//:gtest",
|
|
481
|
-
"@googletest//:gtest_main",
|
|
482
|
-
],
|
|
483
|
-
)
|
|
484
|
-
|
|
485
466
|
# Common test library made available for use in non-absl code that overrides
|
|
486
467
|
# AbslInternalSpinLockDelay and AbslInternalSpinLockWake.
|
|
487
468
|
cc_library(
|
|
@@ -561,6 +542,9 @@ cc_library(
|
|
|
561
542
|
],
|
|
562
543
|
copts = ABSL_DEFAULT_COPTS,
|
|
563
544
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
545
|
+
visibility = [
|
|
546
|
+
"//absl:__subpackages__",
|
|
547
|
+
],
|
|
564
548
|
deps = [
|
|
565
549
|
":base",
|
|
566
550
|
":config",
|
|
@@ -703,7 +687,6 @@ cc_test(
|
|
|
703
687
|
|
|
704
688
|
cc_test(
|
|
705
689
|
name = "thread_identity_test",
|
|
706
|
-
size = "small",
|
|
707
690
|
srcs = ["internal/thread_identity_test.cc"],
|
|
708
691
|
copts = ABSL_TEST_COPTS,
|
|
709
692
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
@@ -719,8 +702,9 @@ cc_test(
|
|
|
719
702
|
],
|
|
720
703
|
)
|
|
721
704
|
|
|
722
|
-
|
|
705
|
+
cc_binary(
|
|
723
706
|
name = "thread_identity_benchmark",
|
|
707
|
+
testonly = True,
|
|
724
708
|
srcs = ["internal/thread_identity_benchmark.cc"],
|
|
725
709
|
copts = ABSL_TEST_COPTS,
|
|
726
710
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
@@ -730,7 +714,6 @@ cc_test(
|
|
|
730
714
|
":base",
|
|
731
715
|
"//absl/synchronization",
|
|
732
716
|
"@google_benchmark//:benchmark_main",
|
|
733
|
-
"@googletest//:gtest",
|
|
734
717
|
],
|
|
735
718
|
)
|
|
736
719
|
|
|
@@ -739,6 +722,7 @@ cc_library(
|
|
|
739
722
|
testonly = True,
|
|
740
723
|
srcs = ["internal/scoped_set_env.cc"],
|
|
741
724
|
hdrs = ["internal/scoped_set_env.h"],
|
|
725
|
+
copts = ABSL_DEFAULT_COPTS,
|
|
742
726
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
743
727
|
visibility = [
|
|
744
728
|
"//absl:__subpackages__",
|
|
@@ -824,12 +808,9 @@ cc_binary(
|
|
|
824
808
|
|
|
825
809
|
cc_library(
|
|
826
810
|
name = "fast_type_id",
|
|
827
|
-
hdrs = ["
|
|
811
|
+
hdrs = ["fast_type_id.h"],
|
|
828
812
|
copts = ABSL_DEFAULT_COPTS,
|
|
829
813
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
830
|
-
visibility = [
|
|
831
|
-
"//absl:__subpackages__",
|
|
832
|
-
],
|
|
833
814
|
deps = [
|
|
834
815
|
":config",
|
|
835
816
|
],
|
|
@@ -838,10 +819,11 @@ cc_library(
|
|
|
838
819
|
cc_test(
|
|
839
820
|
name = "fast_type_id_test",
|
|
840
821
|
size = "small",
|
|
841
|
-
srcs = ["
|
|
822
|
+
srcs = ["fast_type_id_test.cc"],
|
|
842
823
|
copts = ABSL_TEST_COPTS,
|
|
843
824
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
844
825
|
deps = [
|
|
826
|
+
":core_headers",
|
|
845
827
|
":fast_type_id",
|
|
846
828
|
"@googletest//:gtest",
|
|
847
829
|
"@googletest//:gtest_main",
|
|
@@ -940,6 +922,31 @@ cc_test(
|
|
|
940
922
|
],
|
|
941
923
|
)
|
|
942
924
|
|
|
925
|
+
cc_library(
|
|
926
|
+
name = "iterator_traits_internal",
|
|
927
|
+
hdrs = ["internal/iterator_traits.h"],
|
|
928
|
+
copts = ABSL_DEFAULT_COPTS,
|
|
929
|
+
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
930
|
+
deps = [
|
|
931
|
+
":config",
|
|
932
|
+
"//absl/meta:type_traits",
|
|
933
|
+
],
|
|
934
|
+
)
|
|
935
|
+
|
|
936
|
+
cc_test(
|
|
937
|
+
name = "iterator_traits_test",
|
|
938
|
+
srcs = ["internal/iterator_traits_test.cc"],
|
|
939
|
+
copts = ABSL_TEST_COPTS,
|
|
940
|
+
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
941
|
+
deps = [
|
|
942
|
+
":config",
|
|
943
|
+
":iterator_traits_internal",
|
|
944
|
+
":iterator_traits_test_helper",
|
|
945
|
+
"@googletest//:gtest",
|
|
946
|
+
"@googletest//:gtest_main",
|
|
947
|
+
],
|
|
948
|
+
)
|
|
949
|
+
|
|
943
950
|
cc_library(
|
|
944
951
|
name = "tracing_internal",
|
|
945
952
|
srcs = ["internal/tracing.cc"],
|
|
@@ -955,6 +962,14 @@ cc_library(
|
|
|
955
962
|
],
|
|
956
963
|
)
|
|
957
964
|
|
|
965
|
+
cc_library(
|
|
966
|
+
name = "iterator_traits_test_helper",
|
|
967
|
+
hdrs = ["internal/iterator_traits_test_helper.h"],
|
|
968
|
+
copts = ABSL_DEFAULT_COPTS,
|
|
969
|
+
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
970
|
+
deps = [":config"],
|
|
971
|
+
)
|
|
972
|
+
|
|
958
973
|
cc_test(
|
|
959
974
|
name = "tracing_internal_weak_test",
|
|
960
975
|
srcs = ["internal/tracing_weak_test.cc"],
|
|
@@ -72,12 +72,9 @@ absl_cc_library(
|
|
|
72
72
|
nullability
|
|
73
73
|
HDRS
|
|
74
74
|
"nullability.h"
|
|
75
|
-
SRCS
|
|
76
|
-
"internal/nullability_impl.h"
|
|
77
75
|
DEPS
|
|
78
76
|
absl::config
|
|
79
77
|
absl::core_headers
|
|
80
|
-
absl::type_traits
|
|
81
78
|
COPTS
|
|
82
79
|
${ABSL_DEFAULT_COPTS}
|
|
83
80
|
)
|
|
@@ -216,8 +213,6 @@ absl_cc_library(
|
|
|
216
213
|
HDRS
|
|
217
214
|
"internal/hide_ptr.h"
|
|
218
215
|
"internal/identity.h"
|
|
219
|
-
"internal/inline_variable.h"
|
|
220
|
-
"internal/invoke.h"
|
|
221
216
|
"internal/scheduling_mode.h"
|
|
222
217
|
COPTS
|
|
223
218
|
${ABSL_DEFAULT_COPTS}
|
|
@@ -371,6 +366,19 @@ absl_cc_test(
|
|
|
371
366
|
GTest::gtest_main
|
|
372
367
|
)
|
|
373
368
|
|
|
369
|
+
absl_cc_test(
|
|
370
|
+
NAME
|
|
371
|
+
attributes_test
|
|
372
|
+
SRCS
|
|
373
|
+
"attributes_test.cc"
|
|
374
|
+
COPTS
|
|
375
|
+
${ABSL_TEST_COPTS}
|
|
376
|
+
DEPS
|
|
377
|
+
absl::config
|
|
378
|
+
absl::core_headers
|
|
379
|
+
GTest::gtest_main
|
|
380
|
+
)
|
|
381
|
+
|
|
374
382
|
absl_cc_test(
|
|
375
383
|
NAME
|
|
376
384
|
bit_cast_test
|
|
@@ -412,36 +420,6 @@ absl_cc_test(
|
|
|
412
420
|
GTest::gtest_main
|
|
413
421
|
)
|
|
414
422
|
|
|
415
|
-
absl_cc_test(
|
|
416
|
-
NAME
|
|
417
|
-
inline_variable_test
|
|
418
|
-
SRCS
|
|
419
|
-
"internal/inline_variable_testing.h"
|
|
420
|
-
"inline_variable_test.cc"
|
|
421
|
-
"inline_variable_test_a.cc"
|
|
422
|
-
"inline_variable_test_b.cc"
|
|
423
|
-
COPTS
|
|
424
|
-
${ABSL_TEST_COPTS}
|
|
425
|
-
DEPS
|
|
426
|
-
absl::base_internal
|
|
427
|
-
GTest::gtest_main
|
|
428
|
-
)
|
|
429
|
-
|
|
430
|
-
absl_cc_test(
|
|
431
|
-
NAME
|
|
432
|
-
invoke_test
|
|
433
|
-
SRCS
|
|
434
|
-
"invoke_test.cc"
|
|
435
|
-
COPTS
|
|
436
|
-
${ABSL_TEST_COPTS}
|
|
437
|
-
DEPS
|
|
438
|
-
absl::base_internal
|
|
439
|
-
absl::memory
|
|
440
|
-
absl::strings
|
|
441
|
-
GTest::gmock
|
|
442
|
-
GTest::gtest_main
|
|
443
|
-
)
|
|
444
|
-
|
|
445
423
|
# Internal-only target, do not depend on directly.
|
|
446
424
|
absl_cc_library(
|
|
447
425
|
NAME
|
|
@@ -688,12 +666,11 @@ absl_cc_test(
|
|
|
688
666
|
GTest::gtest_main
|
|
689
667
|
)
|
|
690
668
|
|
|
691
|
-
# Internal-only target, do not depend on directly.
|
|
692
669
|
absl_cc_library(
|
|
693
670
|
NAME
|
|
694
671
|
fast_type_id
|
|
695
672
|
HDRS
|
|
696
|
-
"
|
|
673
|
+
"fast_type_id.h"
|
|
697
674
|
COPTS
|
|
698
675
|
${ABSL_DEFAULT_COPTS}
|
|
699
676
|
LINKOPTS
|
|
@@ -706,10 +683,11 @@ absl_cc_test(
|
|
|
706
683
|
NAME
|
|
707
684
|
fast_type_id_test
|
|
708
685
|
SRCS
|
|
709
|
-
"
|
|
686
|
+
"fast_type_id_test.cc"
|
|
710
687
|
COPTS
|
|
711
688
|
${ABSL_TEST_COPTS}
|
|
712
689
|
DEPS
|
|
690
|
+
absl::core_headers
|
|
713
691
|
absl::fast_type_id
|
|
714
692
|
GTest::gtest_main
|
|
715
693
|
)
|
|
@@ -821,3 +799,44 @@ absl_cc_test(
|
|
|
821
799
|
absl::tracing_internal
|
|
822
800
|
GTest::gtest_main
|
|
823
801
|
)
|
|
802
|
+
|
|
803
|
+
# Internal-only target, do not depend on directly.
|
|
804
|
+
absl_cc_library(
|
|
805
|
+
NAME
|
|
806
|
+
iterator_traits_internal
|
|
807
|
+
HDRS
|
|
808
|
+
"internal/iterator_traits.h"
|
|
809
|
+
COPTS
|
|
810
|
+
${ABSL_DEFAULT_COPTS}
|
|
811
|
+
DEPS
|
|
812
|
+
absl::config
|
|
813
|
+
absl::type_traits
|
|
814
|
+
PUBLIC
|
|
815
|
+
)
|
|
816
|
+
|
|
817
|
+
absl_cc_test(
|
|
818
|
+
NAME
|
|
819
|
+
iterator_traits_test
|
|
820
|
+
SRCS
|
|
821
|
+
"internal/iterator_traits_test.cc"
|
|
822
|
+
COPTS
|
|
823
|
+
${ABSL_TEST_COPTS}
|
|
824
|
+
DEPS
|
|
825
|
+
absl::config
|
|
826
|
+
absl::iterator_traits_internal
|
|
827
|
+
absl::iterator_traits_test_helper_internal
|
|
828
|
+
GTest::gtest_main
|
|
829
|
+
)
|
|
830
|
+
|
|
831
|
+
# Internal-only target, do not depend on directly.
|
|
832
|
+
absl_cc_library(
|
|
833
|
+
NAME
|
|
834
|
+
iterator_traits_test_helper_internal
|
|
835
|
+
HDRS
|
|
836
|
+
"internal/iterator_traits_test_helper.h"
|
|
837
|
+
COPTS
|
|
838
|
+
${ABSL_DEFAULT_COPTS}
|
|
839
|
+
DEPS
|
|
840
|
+
absl::config
|
|
841
|
+
PUBLIC
|
|
842
|
+
)
|
|
@@ -339,9 +339,9 @@
|
|
|
339
339
|
#ifndef ABSL_ATTRIBUTE_SECTION_VARIABLE
|
|
340
340
|
#ifdef _AIX
|
|
341
341
|
// __attribute__((section(#name))) on AIX is achieved by using the `.csect`
|
|
342
|
-
//
|
|
343
|
-
// alignment. If data fall under different alignments then you might
|
|
344
|
-
// compilation error indicating a `Section type conflict`.
|
|
342
|
+
// pseudo op which includes an additional integer as part of its syntax
|
|
343
|
+
// indicating alignment. If data fall under different alignments then you might
|
|
344
|
+
// get a compilation error indicating a `Section type conflict`.
|
|
345
345
|
#define ABSL_ATTRIBUTE_SECTION_VARIABLE(name)
|
|
346
346
|
#else
|
|
347
347
|
#define ABSL_ATTRIBUTE_SECTION_VARIABLE(name) __attribute__((section(#name)))
|
|
@@ -553,12 +553,11 @@
|
|
|
553
553
|
//
|
|
554
554
|
// Prevents the compiler from complaining about variables that appear unused.
|
|
555
555
|
//
|
|
556
|
-
//
|
|
557
|
-
// just using the standard '[[maybe_unused]]' directly over this macro.
|
|
556
|
+
// Deprecated: Use the standard C++17 `[[maybe_unused]]` instead.
|
|
558
557
|
//
|
|
559
558
|
// Due to differences in positioning requirements between the old, compiler
|
|
560
|
-
// specific __attribute__ syntax and the now standard [[maybe_unused]]
|
|
561
|
-
// macro does not attempt to take advantage of
|
|
559
|
+
// specific __attribute__ syntax and the now standard `[[maybe_unused]]`, this
|
|
560
|
+
// macro does not attempt to take advantage of `[[maybe_unused]]`.
|
|
562
561
|
#if ABSL_HAVE_ATTRIBUTE(unused) || (defined(__GNUC__) && !defined(__clang__))
|
|
563
562
|
#undef ABSL_ATTRIBUTE_UNUSED
|
|
564
563
|
#define ABSL_ATTRIBUTE_UNUSED __attribute__((__unused__))
|
|
@@ -759,6 +758,76 @@
|
|
|
759
758
|
#define ABSL_CONST_INIT
|
|
760
759
|
#endif
|
|
761
760
|
|
|
761
|
+
// ABSL_REQUIRE_EXPLICIT_INIT
|
|
762
|
+
//
|
|
763
|
+
// ABSL_REQUIRE_EXPLICIT_INIT is placed *after* the data members of an aggregate
|
|
764
|
+
// type to indicate that the annotated member must be explicitly initialized by
|
|
765
|
+
// the user whenever the aggregate is constructed. For example:
|
|
766
|
+
//
|
|
767
|
+
// struct Coord {
|
|
768
|
+
// int x ABSL_REQUIRE_EXPLICIT_INIT;
|
|
769
|
+
// int y ABSL_REQUIRE_EXPLICIT_INIT;
|
|
770
|
+
// };
|
|
771
|
+
// Coord coord = {1}; // warning: field 'y' is not explicitly initialized
|
|
772
|
+
//
|
|
773
|
+
// Note that usage on C arrays is not supported in C++.
|
|
774
|
+
// Use a struct (such as std::array) to wrap the array member instead.
|
|
775
|
+
//
|
|
776
|
+
// Avoid applying this attribute to the members of non-aggregate types.
|
|
777
|
+
// The behavior within non-aggregates is unspecified and subject to change.
|
|
778
|
+
//
|
|
779
|
+
// Do NOT attempt to suppress or demote the error generated by this attribute.
|
|
780
|
+
// Just like with a missing function argument, it is a hard error by design.
|
|
781
|
+
//
|
|
782
|
+
// See the upstream documentation for more details:
|
|
783
|
+
// https://clang.llvm.org/docs/AttributeReference.html#require-explicit-initialization
|
|
784
|
+
#ifdef __cplusplus
|
|
785
|
+
#if ABSL_HAVE_CPP_ATTRIBUTE(clang::require_explicit_initialization)
|
|
786
|
+
// clang-format off
|
|
787
|
+
#define ABSL_REQUIRE_EXPLICIT_INIT \
|
|
788
|
+
[[clang::require_explicit_initialization]] = \
|
|
789
|
+
AbslInternal_YouForgotToExplicitlyInitializeAField::v
|
|
790
|
+
#else
|
|
791
|
+
#define ABSL_REQUIRE_EXPLICIT_INIT \
|
|
792
|
+
= AbslInternal_YouForgotToExplicitlyInitializeAField::v
|
|
793
|
+
#endif
|
|
794
|
+
// clang-format on
|
|
795
|
+
#else
|
|
796
|
+
// clang-format off
|
|
797
|
+
#if ABSL_HAVE_ATTRIBUTE(require_explicit_initialization)
|
|
798
|
+
#define ABSL_REQUIRE_EXPLICIT_INIT \
|
|
799
|
+
__attribute__((require_explicit_initialization))
|
|
800
|
+
#else
|
|
801
|
+
#define ABSL_REQUIRE_EXPLICIT_INIT \
|
|
802
|
+
/* No portable fallback for C is available */
|
|
803
|
+
#endif
|
|
804
|
+
// clang-format on
|
|
805
|
+
#endif
|
|
806
|
+
|
|
807
|
+
#ifdef __cplusplus
|
|
808
|
+
struct AbslInternal_YouForgotToExplicitlyInitializeAField {
|
|
809
|
+
// A portable version of [[clang::require_explicit_initialization]] that
|
|
810
|
+
// never builds, as a last resort for all toolchains.
|
|
811
|
+
// The error messages are poor, so we don't rely on this unless we have to.
|
|
812
|
+
template <class T>
|
|
813
|
+
#if !defined(SWIG)
|
|
814
|
+
constexpr
|
|
815
|
+
#endif
|
|
816
|
+
operator T() const /* NOLINT */ {
|
|
817
|
+
const void *volatile deliberately_volatile_ptr = nullptr;
|
|
818
|
+
// Infinite loop to prevent constexpr compilation
|
|
819
|
+
for (;;) {
|
|
820
|
+
// This assignment ensures the 'this' pointer is not optimized away, so
|
|
821
|
+
// that linking always fails.
|
|
822
|
+
deliberately_volatile_ptr = this; // Deliberately not constexpr
|
|
823
|
+
(void)deliberately_volatile_ptr;
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
// This is deliberately left undefined to prevent linking
|
|
827
|
+
static AbslInternal_YouForgotToExplicitlyInitializeAField v;
|
|
828
|
+
};
|
|
829
|
+
#endif
|
|
830
|
+
|
|
762
831
|
// ABSL_ATTRIBUTE_PURE_FUNCTION
|
|
763
832
|
//
|
|
764
833
|
// ABSL_ATTRIBUTE_PURE_FUNCTION is used to annotate declarations of "pure"
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// Copyright 2025 The Abseil Authors
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// https://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
#include "absl/base/attributes.h"
|
|
16
|
+
|
|
17
|
+
#include "gtest/gtest.h"
|
|
18
|
+
#include "absl/base/config.h"
|
|
19
|
+
|
|
20
|
+
namespace {
|
|
21
|
+
|
|
22
|
+
TEST(Attributes, RequireExplicitInit) {
|
|
23
|
+
struct Agg {
|
|
24
|
+
int f1;
|
|
25
|
+
int f2 ABSL_REQUIRE_EXPLICIT_INIT;
|
|
26
|
+
};
|
|
27
|
+
Agg good1 ABSL_ATTRIBUTE_UNUSED = {1, 2};
|
|
28
|
+
#if ABSL_INTERNAL_CPLUSPLUS_LANG >= 202002L
|
|
29
|
+
Agg good2 ABSL_ATTRIBUTE_UNUSED(1, 2);
|
|
30
|
+
#endif
|
|
31
|
+
Agg good3 ABSL_ATTRIBUTE_UNUSED{1, 2};
|
|
32
|
+
Agg good4 ABSL_ATTRIBUTE_UNUSED = {1, 2};
|
|
33
|
+
Agg good5 ABSL_ATTRIBUTE_UNUSED = Agg{1, 2};
|
|
34
|
+
Agg good6[1] ABSL_ATTRIBUTE_UNUSED = {{1, 2}};
|
|
35
|
+
Agg good7[1] ABSL_ATTRIBUTE_UNUSED = {Agg{1, 2}};
|
|
36
|
+
union {
|
|
37
|
+
Agg agg;
|
|
38
|
+
} good8 ABSL_ATTRIBUTE_UNUSED = {{1, 2}};
|
|
39
|
+
constexpr Agg good9 ABSL_ATTRIBUTE_UNUSED = {1, 2};
|
|
40
|
+
constexpr Agg good10 ABSL_ATTRIBUTE_UNUSED{1, 2};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
} // namespace
|
|
@@ -28,12 +28,12 @@
|
|
|
28
28
|
#include <algorithm>
|
|
29
29
|
#include <atomic>
|
|
30
30
|
#include <cstdint>
|
|
31
|
+
#include <functional>
|
|
31
32
|
#include <type_traits>
|
|
32
33
|
#include <utility>
|
|
33
34
|
|
|
34
35
|
#include "absl/base/attributes.h"
|
|
35
36
|
#include "absl/base/config.h"
|
|
36
|
-
#include "absl/base/internal/invoke.h"
|
|
37
37
|
#include "absl/base/internal/low_level_scheduling.h"
|
|
38
38
|
#include "absl/base/internal/raw_logging.h"
|
|
39
39
|
#include "absl/base/internal/scheduling_mode.h"
|
|
@@ -49,8 +49,8 @@ ABSL_NAMESPACE_BEGIN
|
|
|
49
49
|
class once_flag;
|
|
50
50
|
|
|
51
51
|
namespace base_internal {
|
|
52
|
-
|
|
53
|
-
absl::
|
|
52
|
+
std::atomic<uint32_t>* absl_nonnull ControlWord(
|
|
53
|
+
absl::once_flag* absl_nonnull flag);
|
|
54
54
|
} // namespace base_internal
|
|
55
55
|
|
|
56
56
|
// call_once()
|
|
@@ -93,8 +93,8 @@ class once_flag {
|
|
|
93
93
|
once_flag& operator=(const once_flag&) = delete;
|
|
94
94
|
|
|
95
95
|
private:
|
|
96
|
-
friend
|
|
97
|
-
|
|
96
|
+
friend std::atomic<uint32_t>* absl_nonnull base_internal::ControlWord(
|
|
97
|
+
once_flag* absl_nonnull flag);
|
|
98
98
|
std::atomic<uint32_t> control_;
|
|
99
99
|
};
|
|
100
100
|
|
|
@@ -108,7 +108,7 @@ namespace base_internal {
|
|
|
108
108
|
// Like call_once, but uses KERNEL_ONLY scheduling. Intended to be used to
|
|
109
109
|
// initialize entities used by the scheduler implementation.
|
|
110
110
|
template <typename Callable, typename... Args>
|
|
111
|
-
void LowLevelCallOnce(absl::
|
|
111
|
+
void LowLevelCallOnce(absl::once_flag* absl_nonnull flag, Callable&& fn,
|
|
112
112
|
Args&&... args);
|
|
113
113
|
|
|
114
114
|
// Disables scheduling while on stack when scheduling mode is non-cooperative.
|
|
@@ -150,7 +150,7 @@ enum {
|
|
|
150
150
|
|
|
151
151
|
template <typename Callable, typename... Args>
|
|
152
152
|
void
|
|
153
|
-
CallOnceImpl(
|
|
153
|
+
CallOnceImpl(std::atomic<uint32_t>* absl_nonnull control,
|
|
154
154
|
base_internal::SchedulingMode scheduling_mode, Callable&& fn,
|
|
155
155
|
Args&&... args) {
|
|
156
156
|
#ifndef NDEBUG
|
|
@@ -181,8 +181,7 @@ template <typename Callable, typename... Args>
|
|
|
181
181
|
std::memory_order_relaxed) ||
|
|
182
182
|
base_internal::SpinLockWait(control, ABSL_ARRAYSIZE(trans), trans,
|
|
183
183
|
scheduling_mode) == kOnceInit) {
|
|
184
|
-
|
|
185
|
-
std::forward<Args>(args)...);
|
|
184
|
+
std::invoke(std::forward<Callable>(fn), std::forward<Args>(args)...);
|
|
186
185
|
old_control =
|
|
187
186
|
control->exchange(base_internal::kOnceDone, std::memory_order_release);
|
|
188
187
|
if (old_control == base_internal::kOnceWaiter) {
|
|
@@ -191,13 +190,13 @@ template <typename Callable, typename... Args>
|
|
|
191
190
|
} // else *control is already kOnceDone
|
|
192
191
|
}
|
|
193
192
|
|
|
194
|
-
inline
|
|
195
|
-
|
|
193
|
+
inline std::atomic<uint32_t>* absl_nonnull ControlWord(
|
|
194
|
+
once_flag* absl_nonnull flag) {
|
|
196
195
|
return &flag->control_;
|
|
197
196
|
}
|
|
198
197
|
|
|
199
198
|
template <typename Callable, typename... Args>
|
|
200
|
-
void LowLevelCallOnce(absl::
|
|
199
|
+
void LowLevelCallOnce(absl::once_flag* absl_nonnull flag, Callable&& fn,
|
|
201
200
|
Args&&... args) {
|
|
202
201
|
std::atomic<uint32_t>* once = base_internal::ControlWord(flag);
|
|
203
202
|
uint32_t s = once->load(std::memory_order_acquire);
|