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
|
@@ -35,26 +35,26 @@ namespace absl {
|
|
|
35
35
|
ABSL_NAMESPACE_BEGIN
|
|
36
36
|
namespace log_internal {
|
|
37
37
|
|
|
38
|
-
#define
|
|
39
|
-
template
|
|
40
|
-
x, x,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
#undef
|
|
38
|
+
#define ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING(x) \
|
|
39
|
+
template const char* absl_nonnull MakeCheckOpString( \
|
|
40
|
+
x, x, const char* absl_nonnull)
|
|
41
|
+
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING(bool);
|
|
42
|
+
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING(int64_t);
|
|
43
|
+
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING(uint64_t);
|
|
44
|
+
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING(float);
|
|
45
|
+
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING(double);
|
|
46
|
+
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING(char);
|
|
47
|
+
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING(unsigned char);
|
|
48
|
+
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING(const std::string&);
|
|
49
|
+
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING(const absl::string_view&);
|
|
50
|
+
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING(const char*);
|
|
51
|
+
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING(const signed char*);
|
|
52
|
+
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING(const unsigned char*);
|
|
53
|
+
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING(const void*);
|
|
54
|
+
#undef ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING
|
|
55
55
|
|
|
56
56
|
CheckOpMessageBuilder::CheckOpMessageBuilder(
|
|
57
|
-
|
|
57
|
+
const char* absl_nonnull exprtext) {
|
|
58
58
|
stream_ << exprtext << " (";
|
|
59
59
|
}
|
|
60
60
|
|
|
@@ -63,7 +63,7 @@ std::ostream& CheckOpMessageBuilder::ForVar2() {
|
|
|
63
63
|
return stream_;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
const char* absl_nonnull CheckOpMessageBuilder::NewString() {
|
|
67
67
|
stream_ << ")";
|
|
68
68
|
// There's no need to free this string since the process is crashing.
|
|
69
69
|
return absl::IgnoreLeak(new std::string(std::move(stream_).str()))->c_str();
|
|
@@ -101,11 +101,13 @@ void MakeCheckOpValueString(std::ostream& os, const void* p) {
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
+
void MakeCheckOpUnprintableString(std::ostream& os) { os << "UNPRINTABLE"; }
|
|
105
|
+
|
|
104
106
|
// Helper functions for string comparisons.
|
|
105
107
|
#define DEFINE_CHECK_STROP_IMPL(name, func, expected) \
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
108
|
+
const char* absl_nullable Check##func##expected##Impl( \
|
|
109
|
+
const char* absl_nullable s1, const char* absl_nullable s2, \
|
|
110
|
+
const char* absl_nonnull exprtext) { \
|
|
109
111
|
bool equal = s1 == s2 || (s1 && s2 && !func(s1, s2)); \
|
|
110
112
|
if (equal == expected) { \
|
|
111
113
|
return nullptr; \
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
#include "absl/log/internal/nullstream.h"
|
|
41
41
|
#include "absl/log/internal/strip.h"
|
|
42
42
|
#include "absl/strings/has_absl_stringify.h"
|
|
43
|
+
#include "absl/strings/has_ostream_operator.h"
|
|
43
44
|
#include "absl/strings/string_view.h"
|
|
44
45
|
|
|
45
46
|
// `ABSL_LOG_INTERNAL_STRIP_STRING_LITERAL` wraps string literals that
|
|
@@ -64,49 +65,48 @@
|
|
|
64
65
|
#endif
|
|
65
66
|
|
|
66
67
|
#define ABSL_LOG_INTERNAL_CHECK_OP(name, op, val1, val1_text, val2, val2_text) \
|
|
67
|
-
while (
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
val1_text " " #op " " val2_text))) \
|
|
68
|
+
while (const char* absl_nullable absl_log_internal_check_op_result \
|
|
69
|
+
[[maybe_unused]] = ::absl::log_internal::name##Impl( \
|
|
70
|
+
::absl::log_internal::GetReferenceableValue(val1), \
|
|
71
|
+
::absl::log_internal::GetReferenceableValue(val2), \
|
|
72
|
+
ABSL_LOG_INTERNAL_STRIP_STRING_LITERAL(val1_text " " #op \
|
|
73
|
+
" " val2_text))) \
|
|
74
74
|
ABSL_LOG_INTERNAL_CONDITION_FATAL(STATELESS, true) \
|
|
75
|
-
ABSL_LOG_INTERNAL_CHECK(absl::implicit_cast<
|
|
75
|
+
ABSL_LOG_INTERNAL_CHECK(::absl::implicit_cast<const char* absl_nonnull>( \
|
|
76
76
|
absl_log_internal_check_op_result)) \
|
|
77
77
|
.InternalStream()
|
|
78
78
|
#define ABSL_LOG_INTERNAL_QCHECK_OP(name, op, val1, val1_text, val2, \
|
|
79
79
|
val2_text) \
|
|
80
|
-
while (
|
|
80
|
+
while (const char* absl_nullable absl_log_internal_qcheck_op_result = \
|
|
81
81
|
::absl::log_internal::name##Impl( \
|
|
82
82
|
::absl::log_internal::GetReferenceableValue(val1), \
|
|
83
83
|
::absl::log_internal::GetReferenceableValue(val2), \
|
|
84
84
|
ABSL_LOG_INTERNAL_STRIP_STRING_LITERAL( \
|
|
85
85
|
val1_text " " #op " " val2_text))) \
|
|
86
86
|
ABSL_LOG_INTERNAL_CONDITION_QFATAL(STATELESS, true) \
|
|
87
|
-
ABSL_LOG_INTERNAL_QCHECK(absl::implicit_cast<
|
|
87
|
+
ABSL_LOG_INTERNAL_QCHECK(::absl::implicit_cast<const char* absl_nonnull>( \
|
|
88
88
|
absl_log_internal_qcheck_op_result)) \
|
|
89
89
|
.InternalStream()
|
|
90
90
|
#define ABSL_LOG_INTERNAL_CHECK_STROP(func, op, expected, s1, s1_text, s2, \
|
|
91
91
|
s2_text) \
|
|
92
|
-
while (
|
|
92
|
+
while (const char* absl_nullable absl_log_internal_check_strop_result = \
|
|
93
93
|
::absl::log_internal::Check##func##expected##Impl( \
|
|
94
94
|
(s1), (s2), \
|
|
95
95
|
ABSL_LOG_INTERNAL_STRIP_STRING_LITERAL(s1_text " " #op \
|
|
96
96
|
" " s2_text))) \
|
|
97
97
|
ABSL_LOG_INTERNAL_CONDITION_FATAL(STATELESS, true) \
|
|
98
|
-
ABSL_LOG_INTERNAL_CHECK(absl::implicit_cast<
|
|
98
|
+
ABSL_LOG_INTERNAL_CHECK(::absl::implicit_cast<const char* absl_nonnull>( \
|
|
99
99
|
absl_log_internal_check_strop_result)) \
|
|
100
100
|
.InternalStream()
|
|
101
101
|
#define ABSL_LOG_INTERNAL_QCHECK_STROP(func, op, expected, s1, s1_text, s2, \
|
|
102
102
|
s2_text) \
|
|
103
|
-
while (
|
|
103
|
+
while (const char* absl_nullable absl_log_internal_qcheck_strop_result = \
|
|
104
104
|
::absl::log_internal::Check##func##expected##Impl( \
|
|
105
105
|
(s1), (s2), \
|
|
106
106
|
ABSL_LOG_INTERNAL_STRIP_STRING_LITERAL(s1_text " " #op \
|
|
107
107
|
" " s2_text))) \
|
|
108
108
|
ABSL_LOG_INTERNAL_CONDITION_QFATAL(STATELESS, true) \
|
|
109
|
-
ABSL_LOG_INTERNAL_QCHECK(absl::implicit_cast<
|
|
109
|
+
ABSL_LOG_INTERNAL_QCHECK(::absl::implicit_cast<const char* absl_nonnull>( \
|
|
110
110
|
absl_log_internal_qcheck_strop_result)) \
|
|
111
111
|
.InternalStream()
|
|
112
112
|
|
|
@@ -134,41 +134,39 @@
|
|
|
134
134
|
// string literal and abort without doing any streaming. We don't need to
|
|
135
135
|
// strip the call to stringify the non-ok `Status` as long as we don't log it;
|
|
136
136
|
// dropping the `Status`'s message text is out of scope.
|
|
137
|
-
#define ABSL_LOG_INTERNAL_CHECK_OK(val, val_text)
|
|
138
|
-
for (::std::pair<
|
|
139
|
-
|
|
140
|
-
absl_log_internal_check_ok_goo;
|
|
141
|
-
absl_log_internal_check_ok_goo.first =
|
|
142
|
-
::absl::log_internal::AsStatus(val),
|
|
143
|
-
absl_log_internal_check_ok_goo.second =
|
|
144
|
-
ABSL_PREDICT_TRUE(absl_log_internal_check_ok_goo.first->ok())
|
|
145
|
-
? nullptr
|
|
146
|
-
: ::absl::status_internal::MakeCheckFailString(
|
|
147
|
-
absl_log_internal_check_ok_goo.first,
|
|
148
|
-
ABSL_LOG_INTERNAL_STRIP_STRING_LITERAL(val_text
|
|
149
|
-
" is OK")),
|
|
150
|
-
!ABSL_PREDICT_TRUE(absl_log_internal_check_ok_goo.first->ok());)
|
|
151
|
-
ABSL_LOG_INTERNAL_CONDITION_FATAL(STATELESS, true)
|
|
152
|
-
ABSL_LOG_INTERNAL_CHECK(
|
|
153
|
-
absl_log_internal_check_ok_goo.second)) \
|
|
137
|
+
#define ABSL_LOG_INTERNAL_CHECK_OK(val, val_text) \
|
|
138
|
+
for (::std::pair<const ::absl::Status* absl_nonnull, \
|
|
139
|
+
const char* absl_nonnull> \
|
|
140
|
+
absl_log_internal_check_ok_goo; \
|
|
141
|
+
absl_log_internal_check_ok_goo.first = \
|
|
142
|
+
::absl::log_internal::AsStatus(val), \
|
|
143
|
+
absl_log_internal_check_ok_goo.second = \
|
|
144
|
+
ABSL_PREDICT_TRUE(absl_log_internal_check_ok_goo.first->ok()) \
|
|
145
|
+
? "" /* Don't use nullptr, to keep the annotation happy */ \
|
|
146
|
+
: ::absl::status_internal::MakeCheckFailString( \
|
|
147
|
+
absl_log_internal_check_ok_goo.first, \
|
|
148
|
+
ABSL_LOG_INTERNAL_STRIP_STRING_LITERAL(val_text \
|
|
149
|
+
" is OK")), \
|
|
150
|
+
!ABSL_PREDICT_TRUE(absl_log_internal_check_ok_goo.first->ok());) \
|
|
151
|
+
ABSL_LOG_INTERNAL_CONDITION_FATAL(STATELESS, true) \
|
|
152
|
+
ABSL_LOG_INTERNAL_CHECK(absl_log_internal_check_ok_goo.second) \
|
|
154
153
|
.InternalStream()
|
|
155
|
-
#define ABSL_LOG_INTERNAL_QCHECK_OK(val, val_text)
|
|
156
|
-
for (::std::pair<
|
|
157
|
-
|
|
158
|
-
absl_log_internal_qcheck_ok_goo;
|
|
159
|
-
absl_log_internal_qcheck_ok_goo.first =
|
|
160
|
-
::absl::log_internal::AsStatus(val),
|
|
161
|
-
absl_log_internal_qcheck_ok_goo.second =
|
|
162
|
-
ABSL_PREDICT_TRUE(absl_log_internal_qcheck_ok_goo.first->ok())
|
|
163
|
-
? nullptr
|
|
164
|
-
: ::absl::status_internal::MakeCheckFailString(
|
|
165
|
-
absl_log_internal_qcheck_ok_goo.first,
|
|
166
|
-
ABSL_LOG_INTERNAL_STRIP_STRING_LITERAL(val_text
|
|
167
|
-
" is OK")),
|
|
168
|
-
!ABSL_PREDICT_TRUE(absl_log_internal_qcheck_ok_goo.first->ok());)
|
|
169
|
-
ABSL_LOG_INTERNAL_CONDITION_QFATAL(STATELESS, true)
|
|
170
|
-
ABSL_LOG_INTERNAL_QCHECK(
|
|
171
|
-
absl_log_internal_qcheck_ok_goo.second)) \
|
|
154
|
+
#define ABSL_LOG_INTERNAL_QCHECK_OK(val, val_text) \
|
|
155
|
+
for (::std::pair<const ::absl::Status* absl_nonnull, \
|
|
156
|
+
const char* absl_nonnull> \
|
|
157
|
+
absl_log_internal_qcheck_ok_goo; \
|
|
158
|
+
absl_log_internal_qcheck_ok_goo.first = \
|
|
159
|
+
::absl::log_internal::AsStatus(val), \
|
|
160
|
+
absl_log_internal_qcheck_ok_goo.second = \
|
|
161
|
+
ABSL_PREDICT_TRUE(absl_log_internal_qcheck_ok_goo.first->ok()) \
|
|
162
|
+
? "" /* Don't use nullptr, to keep the annotation happy */ \
|
|
163
|
+
: ::absl::status_internal::MakeCheckFailString( \
|
|
164
|
+
absl_log_internal_qcheck_ok_goo.first, \
|
|
165
|
+
ABSL_LOG_INTERNAL_STRIP_STRING_LITERAL(val_text \
|
|
166
|
+
" is OK")), \
|
|
167
|
+
!ABSL_PREDICT_TRUE(absl_log_internal_qcheck_ok_goo.first->ok());) \
|
|
168
|
+
ABSL_LOG_INTERNAL_CONDITION_QFATAL(STATELESS, true) \
|
|
169
|
+
ABSL_LOG_INTERNAL_QCHECK(absl_log_internal_qcheck_ok_goo.second) \
|
|
172
170
|
.InternalStream()
|
|
173
171
|
|
|
174
172
|
namespace absl {
|
|
@@ -179,9 +177,8 @@ template <typename T>
|
|
|
179
177
|
class StatusOr;
|
|
180
178
|
|
|
181
179
|
namespace status_internal {
|
|
182
|
-
ABSL_ATTRIBUTE_PURE_FUNCTION
|
|
183
|
-
|
|
184
|
-
absl::Nonnull<const char*> prefix);
|
|
180
|
+
ABSL_ATTRIBUTE_PURE_FUNCTION const char* absl_nonnull MakeCheckFailString(
|
|
181
|
+
const absl::Status* absl_nonnull status, const char* absl_nonnull prefix);
|
|
185
182
|
} // namespace status_internal
|
|
186
183
|
|
|
187
184
|
namespace log_internal {
|
|
@@ -189,11 +186,11 @@ namespace log_internal {
|
|
|
189
186
|
// Convert a Status or a StatusOr to its underlying status value.
|
|
190
187
|
//
|
|
191
188
|
// (This implementation does not require a dep on absl::Status to work.)
|
|
192
|
-
inline
|
|
189
|
+
inline const absl::Status* absl_nonnull AsStatus(const absl::Status& s) {
|
|
193
190
|
return &s;
|
|
194
191
|
}
|
|
195
192
|
template <typename T>
|
|
196
|
-
|
|
193
|
+
const absl::Status* absl_nonnull AsStatus(const absl::StatusOr<T>& s) {
|
|
197
194
|
return &s.status();
|
|
198
195
|
}
|
|
199
196
|
|
|
@@ -202,14 +199,14 @@ absl::Nonnull<const absl::Status*> AsStatus(const absl::StatusOr<T>& s) {
|
|
|
202
199
|
class CheckOpMessageBuilder final {
|
|
203
200
|
public:
|
|
204
201
|
// Inserts `exprtext` and ` (` to the stream.
|
|
205
|
-
explicit CheckOpMessageBuilder(
|
|
202
|
+
explicit CheckOpMessageBuilder(const char* absl_nonnull exprtext);
|
|
206
203
|
~CheckOpMessageBuilder() = default;
|
|
207
204
|
// For inserting the first variable.
|
|
208
205
|
std::ostream& ForVar1() { return stream_; }
|
|
209
206
|
// For inserting the second variable (adds an intermediate ` vs. `).
|
|
210
207
|
std::ostream& ForVar2();
|
|
211
208
|
// Get the result (inserts the closing `)`).
|
|
212
|
-
|
|
209
|
+
const char* absl_nonnull NewString();
|
|
213
210
|
|
|
214
211
|
private:
|
|
215
212
|
std::ostringstream stream_;
|
|
@@ -226,7 +223,20 @@ inline void MakeCheckOpValueString(std::ostream& os, const T& v) {
|
|
|
226
223
|
void MakeCheckOpValueString(std::ostream& os, char v);
|
|
227
224
|
void MakeCheckOpValueString(std::ostream& os, signed char v);
|
|
228
225
|
void MakeCheckOpValueString(std::ostream& os, unsigned char v);
|
|
229
|
-
void MakeCheckOpValueString(std::ostream& os, const void* p);
|
|
226
|
+
void MakeCheckOpValueString(std::ostream& os, const void* absl_nullable p);
|
|
227
|
+
|
|
228
|
+
void MakeCheckOpUnprintableString(std::ostream& os);
|
|
229
|
+
|
|
230
|
+
// A wrapper for types that have no operator<<.
|
|
231
|
+
struct UnprintableWrapper {
|
|
232
|
+
template <typename T>
|
|
233
|
+
explicit UnprintableWrapper(const T&) {}
|
|
234
|
+
|
|
235
|
+
friend std::ostream& operator<<(std::ostream& os, const UnprintableWrapper&) {
|
|
236
|
+
MakeCheckOpUnprintableString(os);
|
|
237
|
+
return os;
|
|
238
|
+
}
|
|
239
|
+
};
|
|
230
240
|
|
|
231
241
|
namespace detect_specialization {
|
|
232
242
|
|
|
@@ -268,8 +278,9 @@ float operator<<(std::ostream&, float value);
|
|
|
268
278
|
double operator<<(std::ostream&, double value);
|
|
269
279
|
long double operator<<(std::ostream&, long double value);
|
|
270
280
|
bool operator<<(std::ostream&, bool value);
|
|
271
|
-
const void* operator<<(std::ostream&,
|
|
272
|
-
const void*
|
|
281
|
+
const void* absl_nullable operator<<(std::ostream&,
|
|
282
|
+
const void* absl_nullable value);
|
|
283
|
+
const void* absl_nullable operator<<(std::ostream&, std::nullptr_t);
|
|
273
284
|
|
|
274
285
|
// These `char` overloads are specified like this in the standard, so we have to
|
|
275
286
|
// write them exactly the same to ensure the call is ambiguous.
|
|
@@ -283,13 +294,14 @@ signed char operator<<(std::basic_ostream<char, Traits>&, signed char);
|
|
|
283
294
|
template <typename Traits>
|
|
284
295
|
unsigned char operator<<(std::basic_ostream<char, Traits>&, unsigned char);
|
|
285
296
|
template <typename Traits>
|
|
286
|
-
const char* operator<<(std::basic_ostream<char, Traits>&,
|
|
297
|
+
const char* absl_nonnull operator<<(std::basic_ostream<char, Traits>&,
|
|
298
|
+
const char* absl_nonnull);
|
|
287
299
|
template <typename Traits>
|
|
288
|
-
const signed char* operator<<(std::basic_ostream<char, Traits>&,
|
|
289
|
-
|
|
300
|
+
const signed char* absl_nonnull operator<<(std::basic_ostream<char, Traits>&,
|
|
301
|
+
const signed char* absl_nonnull);
|
|
290
302
|
template <typename Traits>
|
|
291
|
-
const unsigned char* operator<<(std::basic_ostream<char, Traits>&,
|
|
292
|
-
|
|
303
|
+
const unsigned char* absl_nonnull operator<<(std::basic_ostream<char, Traits>&,
|
|
304
|
+
const unsigned char* absl_nonnull);
|
|
293
305
|
|
|
294
306
|
// This overload triggers when the call is not ambiguous.
|
|
295
307
|
// It means that T is being printed with some overload not on this list.
|
|
@@ -300,12 +312,11 @@ const T& Detect(int);
|
|
|
300
312
|
|
|
301
313
|
// This overload triggers when the call is ambiguous.
|
|
302
314
|
// It means that T is either one from this list or printed as one from this
|
|
303
|
-
// list. Eg an enum that decays to `int` for printing.
|
|
315
|
+
// list. Eg an unscoped enum that decays to `int` for printing.
|
|
304
316
|
// We ask the overload set to give us the type we want to convert it to.
|
|
305
317
|
template <typename T>
|
|
306
|
-
decltype(detect_specialization::operator<<(
|
|
307
|
-
|
|
308
|
-
Detect(char);
|
|
318
|
+
decltype(detect_specialization::operator<<(
|
|
319
|
+
std::declval<std::ostream&>(), std::declval<const T&>())) Detect(char);
|
|
309
320
|
|
|
310
321
|
// A sink for AbslStringify which redirects everything to a std::ostream.
|
|
311
322
|
class StringifySink {
|
|
@@ -314,7 +325,8 @@ class StringifySink {
|
|
|
314
325
|
|
|
315
326
|
void Append(absl::string_view text);
|
|
316
327
|
void Append(size_t length, char ch);
|
|
317
|
-
friend void AbslFormatFlush(StringifySink* sink,
|
|
328
|
+
friend void AbslFormatFlush(StringifySink* absl_nonnull sink,
|
|
329
|
+
absl::string_view text);
|
|
318
330
|
|
|
319
331
|
private:
|
|
320
332
|
std::ostream& os_;
|
|
@@ -345,6 +357,47 @@ template <typename T>
|
|
|
345
357
|
std::enable_if_t<HasAbslStringify<T>::value,
|
|
346
358
|
StringifyToStreamWrapper<T>>
|
|
347
359
|
Detect(...); // Ellipsis has lowest preference when int passed.
|
|
360
|
+
|
|
361
|
+
// This overload triggers when T is neither possible to print nor an enum.
|
|
362
|
+
template <typename T>
|
|
363
|
+
std::enable_if_t<std::negation_v<std::disjunction<
|
|
364
|
+
std::is_convertible<T, int>, std::is_enum<T>,
|
|
365
|
+
std::is_pointer<T>, std::is_same<T, std::nullptr_t>,
|
|
366
|
+
HasOstreamOperator<T>, HasAbslStringify<T>>>,
|
|
367
|
+
UnprintableWrapper>
|
|
368
|
+
Detect(...);
|
|
369
|
+
|
|
370
|
+
// Equivalent to the updated std::underlying_type from C++20, which is no
|
|
371
|
+
// longer undefined behavior for non-enum types.
|
|
372
|
+
template <typename T, typename EnableT = void>
|
|
373
|
+
struct UnderlyingType {};
|
|
374
|
+
|
|
375
|
+
template <typename T>
|
|
376
|
+
struct UnderlyingType<T, std::enable_if_t<std::is_enum_v<T>>> {
|
|
377
|
+
using type = std::underlying_type_t<T>;
|
|
378
|
+
};
|
|
379
|
+
template <typename T>
|
|
380
|
+
using UnderlyingTypeT = typename UnderlyingType<T>::type;
|
|
381
|
+
|
|
382
|
+
// This overload triggers when T is a scoped enum that has not defined an output
|
|
383
|
+
// stream operator (operator<<) or AbslStringify. It causes the enum value to be
|
|
384
|
+
// converted to a type that can be streamed. For consistency with other enums, a
|
|
385
|
+
// scoped enum backed by a bool or char is converted to its underlying type, and
|
|
386
|
+
// one backed by another integer is converted to (u)int64_t.
|
|
387
|
+
template <typename T>
|
|
388
|
+
std::enable_if_t<
|
|
389
|
+
std::conjunction_v<std::is_enum<T>,
|
|
390
|
+
std::negation<std::is_convertible<T, int>>,
|
|
391
|
+
std::negation<HasOstreamOperator<T>>,
|
|
392
|
+
std::negation<HasAbslStringify<T>>>,
|
|
393
|
+
std::conditional_t<std::is_same_v<UnderlyingTypeT<T>, bool> ||
|
|
394
|
+
std::is_same_v<UnderlyingTypeT<T>, char> ||
|
|
395
|
+
std::is_same_v<UnderlyingTypeT<T>, signed char> ||
|
|
396
|
+
std::is_same_v<UnderlyingTypeT<T>, unsigned char>,
|
|
397
|
+
UnderlyingTypeT<T>,
|
|
398
|
+
std::conditional_t<std::is_signed_v<UnderlyingTypeT<T>>,
|
|
399
|
+
int64_t, uint64_t>>>
|
|
400
|
+
Detect(...);
|
|
348
401
|
} // namespace detect_specialization
|
|
349
402
|
|
|
350
403
|
template <typename T>
|
|
@@ -352,12 +405,12 @@ using CheckOpStreamType = decltype(detect_specialization::Detect<T>(0));
|
|
|
352
405
|
|
|
353
406
|
// Build the error message string. Specify no inlining for code size.
|
|
354
407
|
template <typename T1, typename T2>
|
|
355
|
-
ABSL_ATTRIBUTE_RETURNS_NONNULL
|
|
356
|
-
T1 v1, T2 v2,
|
|
408
|
+
ABSL_ATTRIBUTE_RETURNS_NONNULL const char* absl_nonnull MakeCheckOpString(
|
|
409
|
+
T1 v1, T2 v2, const char* absl_nonnull exprtext) ABSL_ATTRIBUTE_NOINLINE;
|
|
357
410
|
|
|
358
411
|
template <typename T1, typename T2>
|
|
359
|
-
|
|
360
|
-
|
|
412
|
+
const char* absl_nonnull MakeCheckOpString(T1 v1, T2 v2,
|
|
413
|
+
const char* absl_nonnull exprtext) {
|
|
361
414
|
CheckOpMessageBuilder comb(exprtext);
|
|
362
415
|
MakeCheckOpValueString(comb.ForVar1(), v1);
|
|
363
416
|
MakeCheckOpValueString(comb.ForVar2(), v2);
|
|
@@ -367,8 +420,8 @@ absl::Nonnull<const char*> MakeCheckOpString(
|
|
|
367
420
|
// Add a few commonly used instantiations as extern to reduce size of objects
|
|
368
421
|
// files.
|
|
369
422
|
#define ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(x) \
|
|
370
|
-
extern template
|
|
371
|
-
x, x,
|
|
423
|
+
extern template const char* absl_nonnull MakeCheckOpString( \
|
|
424
|
+
x, x, const char* absl_nonnull)
|
|
372
425
|
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(bool);
|
|
373
426
|
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(int64_t);
|
|
374
427
|
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(uint64_t);
|
|
@@ -378,10 +431,12 @@ ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(char);
|
|
|
378
431
|
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(unsigned char);
|
|
379
432
|
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(const std::string&);
|
|
380
433
|
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(const absl::string_view&);
|
|
381
|
-
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(const char*);
|
|
382
|
-
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(
|
|
383
|
-
|
|
384
|
-
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(
|
|
434
|
+
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(const char* absl_nonnull);
|
|
435
|
+
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(
|
|
436
|
+
const signed char* absl_nonnull);
|
|
437
|
+
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(
|
|
438
|
+
const unsigned char* absl_nonnull);
|
|
439
|
+
ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(const void* absl_nonnull);
|
|
385
440
|
#undef ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN
|
|
386
441
|
|
|
387
442
|
// `ABSL_LOG_INTERNAL_CHECK_OP_IMPL_RESULT` skips formatting the Check_OP result
|
|
@@ -404,8 +459,8 @@ ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(const void*);
|
|
|
404
459
|
// type.
|
|
405
460
|
#define ABSL_LOG_INTERNAL_CHECK_OP_IMPL(name, op) \
|
|
406
461
|
template <typename T1, typename T2> \
|
|
407
|
-
inline constexpr
|
|
408
|
-
const T1& v1, const T2& v2,
|
|
462
|
+
inline constexpr const char* absl_nullable name##Impl( \
|
|
463
|
+
const T1& v1, const T2& v2, const char* absl_nonnull exprtext) { \
|
|
409
464
|
using U1 = CheckOpStreamType<T1>; \
|
|
410
465
|
using U2 = CheckOpStreamType<T2>; \
|
|
411
466
|
return ABSL_PREDICT_TRUE(v1 op v2) \
|
|
@@ -413,8 +468,8 @@ ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(const void*);
|
|
|
413
468
|
: ABSL_LOG_INTERNAL_CHECK_OP_IMPL_RESULT(U1, U2, U1(v1), \
|
|
414
469
|
U2(v2), exprtext); \
|
|
415
470
|
} \
|
|
416
|
-
inline constexpr
|
|
417
|
-
int v1, int v2,
|
|
471
|
+
inline constexpr const char* absl_nullable name##Impl( \
|
|
472
|
+
int v1, int v2, const char* absl_nonnull exprtext) { \
|
|
418
473
|
return name##Impl<int, int>(v1, v2, exprtext); \
|
|
419
474
|
}
|
|
420
475
|
|
|
@@ -427,18 +482,18 @@ ABSL_LOG_INTERNAL_CHECK_OP_IMPL(Check_GT, >)
|
|
|
427
482
|
#undef ABSL_LOG_INTERNAL_CHECK_OP_IMPL_RESULT
|
|
428
483
|
#undef ABSL_LOG_INTERNAL_CHECK_OP_IMPL
|
|
429
484
|
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
485
|
+
const char* absl_nullable CheckstrcmptrueImpl(
|
|
486
|
+
const char* absl_nullable s1, const char* absl_nullable s2,
|
|
487
|
+
const char* absl_nonnull exprtext);
|
|
488
|
+
const char* absl_nullable CheckstrcmpfalseImpl(
|
|
489
|
+
const char* absl_nullable s1, const char* absl_nullable s2,
|
|
490
|
+
const char* absl_nonnull exprtext);
|
|
491
|
+
const char* absl_nullable CheckstrcasecmptrueImpl(
|
|
492
|
+
const char* absl_nullable s1, const char* absl_nullable s2,
|
|
493
|
+
const char* absl_nonnull exprtext);
|
|
494
|
+
const char* absl_nullable CheckstrcasecmpfalseImpl(
|
|
495
|
+
const char* absl_nullable s1, const char* absl_nullable s2,
|
|
496
|
+
const char* absl_nonnull exprtext);
|
|
442
497
|
|
|
443
498
|
// `CHECK_EQ` and friends want to pass their arguments by reference, however
|
|
444
499
|
// this winds up exposing lots of cases where people have defined and
|
|
@@ -63,8 +63,9 @@ bool LogEveryNSecState::ShouldLog(double seconds) {
|
|
|
63
63
|
// myriad2 does not have 8-byte compare and exchange. Use a racy version that
|
|
64
64
|
// is "good enough" but will over-log in the face of concurrent logging.
|
|
65
65
|
if (now_cycles > next_cycles) {
|
|
66
|
-
next_log_time_cycles_.store(
|
|
67
|
-
|
|
66
|
+
next_log_time_cycles_.store(
|
|
67
|
+
static_cast<int64_t>(now_cycles + seconds * CycleClock::Frequency()),
|
|
68
|
+
std::memory_order_relaxed);
|
|
68
69
|
return true;
|
|
69
70
|
}
|
|
70
71
|
return false;
|
|
@@ -72,7 +73,8 @@ bool LogEveryNSecState::ShouldLog(double seconds) {
|
|
|
72
73
|
do {
|
|
73
74
|
if (now_cycles <= next_cycles) return false;
|
|
74
75
|
} while (!next_log_time_cycles_.compare_exchange_weak(
|
|
75
|
-
next_cycles,
|
|
76
|
+
next_cycles,
|
|
77
|
+
static_cast<int64_t>(now_cycles + seconds * CycleClock::Frequency()),
|
|
76
78
|
std::memory_order_relaxed, std::memory_order_relaxed));
|
|
77
79
|
return true;
|
|
78
80
|
#endif
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
switch (0) \
|
|
66
66
|
case 0: \
|
|
67
67
|
default: \
|
|
68
|
-
!(condition) ? (void)0 : ::absl::log_internal::Voidify()&&
|
|
68
|
+
!(condition) ? (void)0 : ::absl::log_internal::Voidify() &&
|
|
69
69
|
|
|
70
70
|
// `ABSL_LOG_INTERNAL_STATEFUL_CONDITION` applies a condition like
|
|
71
71
|
// `ABSL_LOG_INTERNAL_STATELESS_CONDITION` but adds to that a series of variable
|
|
@@ -96,7 +96,8 @@
|
|
|
96
96
|
for (const uint32_t COUNTER ABSL_ATTRIBUTE_UNUSED = \
|
|
97
97
|
absl_log_internal_stateful_condition_state.counter(); \
|
|
98
98
|
absl_log_internal_stateful_condition_do_log; \
|
|
99
|
-
absl_log_internal_stateful_condition_do_log = false)
|
|
99
|
+
absl_log_internal_stateful_condition_do_log = false) \
|
|
100
|
+
::absl::log_internal::Voidify() &&
|
|
100
101
|
|
|
101
102
|
// `ABSL_LOG_INTERNAL_CONDITION_*` serve to combine any conditions from the
|
|
102
103
|
// macro (e.g. `LOG_IF` or `VLOG`) with inherent conditions (e.g.
|
|
@@ -117,6 +118,8 @@
|
|
|
117
118
|
ABSL_LOG_INTERNAL_##type##_CONDITION( \
|
|
118
119
|
(condition) && ::absl::LogSeverity::kError >= \
|
|
119
120
|
static_cast<::absl::LogSeverity>(ABSL_MIN_LOG_LEVEL))
|
|
121
|
+
#define ABSL_LOG_INTERNAL_CONDITION_DO_NOT_SUBMIT(type, condition) \
|
|
122
|
+
ABSL_LOG_INTERNAL_CONDITION_ERROR(type, condition)
|
|
120
123
|
// NOTE: Use ternary operators instead of short-circuiting to mitigate
|
|
121
124
|
// https://bugs.llvm.org/show_bug.cgi?id=51928.
|
|
122
125
|
#define ABSL_LOG_INTERNAL_CONDITION_FATAL(type, condition) \
|
|
@@ -168,6 +171,8 @@
|
|
|
168
171
|
ABSL_LOG_INTERNAL_##type##_CONDITION(condition)
|
|
169
172
|
#define ABSL_LOG_INTERNAL_CONDITION_ERROR(type, condition) \
|
|
170
173
|
ABSL_LOG_INTERNAL_##type##_CONDITION(condition)
|
|
174
|
+
#define ABSL_LOG_INTERNAL_CONDITION_DO_NOT_SUBMIT(type, condition) \
|
|
175
|
+
ABSL_LOG_INTERNAL_CONDITION_ERROR(type, condition)
|
|
171
176
|
#define ABSL_LOG_INTERNAL_CONDITION_FATAL(type, condition) \
|
|
172
177
|
ABSL_LOG_INTERNAL_##type##_CONDITION(condition)
|
|
173
178
|
#define ABSL_LOG_INTERNAL_CONDITION_QFATAL(type, condition) \
|
|
@@ -27,6 +27,7 @@ TEST(FNMatchTest, Works) {
|
|
|
27
27
|
EXPECT_THAT(FNMatch("foo", "bar"), IsFalse());
|
|
28
28
|
EXPECT_THAT(FNMatch("foo", "fo"), IsFalse());
|
|
29
29
|
EXPECT_THAT(FNMatch("foo", "foo2"), IsFalse());
|
|
30
|
+
EXPECT_THAT(FNMatch("foo/*", "foo/1/2/3/4"), IsTrue());
|
|
30
31
|
EXPECT_THAT(FNMatch("bar/foo.ext", "bar/foo.ext"), IsTrue());
|
|
31
32
|
EXPECT_THAT(FNMatch("*ba*r/fo*o.ext*", "bar/foo.ext"), IsTrue());
|
|
32
33
|
EXPECT_THAT(FNMatch("bar/foo.ext", "bar/baz.ext"), IsFalse());
|