re2 1.23.0 → 1.23.2
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 +2 -0
- package/binding.gyp +3 -2
- package/package.json +5 -5
- package/vendor/abseil-cpp/CMake/AbseilDll.cmake +25 -4
- package/vendor/abseil-cpp/CMake/AbseilHelpers.cmake +6 -1
- package/vendor/abseil-cpp/CMakeLists.txt +2 -2
- package/vendor/abseil-cpp/MODULE.bazel +2 -2
- package/vendor/abseil-cpp/absl/algorithm/BUILD.bazel +0 -1
- package/vendor/abseil-cpp/absl/algorithm/CMakeLists.txt +0 -2
- package/vendor/abseil-cpp/absl/algorithm/container.h +191 -140
- package/vendor/abseil-cpp/absl/algorithm/container_test.cc +818 -0
- package/vendor/abseil-cpp/absl/base/BUILD.bazel +44 -5
- package/vendor/abseil-cpp/absl/base/CMakeLists.txt +42 -3
- package/vendor/abseil-cpp/absl/base/attributes.h +5 -1
- package/vendor/abseil-cpp/absl/base/call_once_test.cc +10 -10
- package/vendor/abseil-cpp/absl/base/casts.cc +61 -0
- package/vendor/abseil-cpp/absl/base/casts.h +128 -2
- package/vendor/abseil-cpp/absl/base/casts_test.cc +151 -0
- package/vendor/abseil-cpp/absl/base/config.h +13 -37
- package/vendor/abseil-cpp/absl/base/internal/dynamic_annotations.h +1 -1
- package/vendor/abseil-cpp/absl/base/internal/iterator_traits.h +4 -0
- package/vendor/abseil-cpp/absl/base/internal/nullability_traits.h +71 -0
- package/vendor/abseil-cpp/absl/base/internal/nullability_traits_test.cc +98 -0
- package/vendor/abseil-cpp/absl/base/internal/raw_logging.cc +3 -4
- package/vendor/abseil-cpp/absl/base/internal/spinlock.cc +13 -7
- package/vendor/abseil-cpp/absl/base/internal/spinlock.h +16 -11
- package/vendor/abseil-cpp/absl/base/internal/strerror_test.cc +2 -1
- package/vendor/abseil-cpp/absl/base/internal/sysinfo.cc +0 -9
- package/vendor/abseil-cpp/absl/base/internal/sysinfo_test.cc +0 -6
- package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -1
- package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +1 -1
- package/vendor/abseil-cpp/absl/base/macros.h +40 -17
- package/vendor/abseil-cpp/absl/base/nullability.h +1 -1
- package/vendor/abseil-cpp/absl/base/optimization.h +1 -3
- package/vendor/abseil-cpp/absl/base/options.h +1 -27
- package/vendor/abseil-cpp/absl/base/spinlock_test_common.cc +5 -8
- package/vendor/abseil-cpp/absl/cleanup/cleanup.h +4 -0
- package/vendor/abseil-cpp/absl/container/BUILD.bazel +195 -2
- package/vendor/abseil-cpp/absl/container/CMakeLists.txt +136 -2
- package/vendor/abseil-cpp/absl/container/btree_map.h +56 -6
- package/vendor/abseil-cpp/absl/container/btree_set.h +52 -6
- package/vendor/abseil-cpp/absl/container/btree_test.cc +107 -1
- package/vendor/abseil-cpp/absl/container/chunked_queue.h +755 -0
- package/vendor/abseil-cpp/absl/container/chunked_queue_benchmark.cc +386 -0
- package/vendor/abseil-cpp/absl/container/chunked_queue_test.cc +768 -0
- package/vendor/abseil-cpp/absl/container/fixed_array.h +4 -6
- package/vendor/abseil-cpp/absl/container/flat_hash_map.h +16 -6
- package/vendor/abseil-cpp/absl/container/flat_hash_map_test.cc +1 -2
- package/vendor/abseil-cpp/absl/container/flat_hash_set.h +16 -6
- package/vendor/abseil-cpp/absl/container/flat_hash_set_test.cc +0 -2
- package/vendor/abseil-cpp/absl/container/inlined_vector.h +12 -4
- package/vendor/abseil-cpp/absl/container/inlined_vector_test.cc +21 -0
- package/vendor/abseil-cpp/absl/container/internal/btree_container.h +14 -5
- package/vendor/abseil-cpp/absl/container/internal/chunked_queue.h +173 -0
- package/vendor/abseil-cpp/absl/container/internal/common.h +51 -0
- package/vendor/abseil-cpp/absl/container/internal/container_memory.h +7 -1
- package/vendor/abseil-cpp/absl/container/internal/container_memory_test.cc +11 -0
- package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.cc +0 -2
- package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.h +1 -2
- package/vendor/abseil-cpp/absl/container/internal/hash_policy_testing.h +0 -14
- package/vendor/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +11 -8
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +3 -4
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.h +23 -6
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +31 -15
- package/vendor/abseil-cpp/absl/container/internal/heterogeneous_lookup_testing.h +80 -0
- package/vendor/abseil-cpp/absl/container/internal/inlined_vector.h +4 -12
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_map.h +35 -10
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.cc +149 -23
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.h +120 -126
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc +4 -0
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +8 -0
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +14 -59
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +111 -22
- package/vendor/abseil-cpp/absl/container/internal/unordered_map_constructor_test.h +53 -112
- package/vendor/abseil-cpp/absl/container/internal/unordered_map_lookup_test.h +10 -15
- package/vendor/abseil-cpp/absl/container/internal/unordered_map_members_test.h +3 -3
- package/vendor/abseil-cpp/absl/container/internal/unordered_map_modifiers_test.h +45 -61
- package/vendor/abseil-cpp/absl/container/internal/unordered_set_constructor_test.h +53 -112
- package/vendor/abseil-cpp/absl/container/internal/unordered_set_lookup_test.h +6 -9
- package/vendor/abseil-cpp/absl/container/internal/unordered_set_members_test.h +3 -3
- package/vendor/abseil-cpp/absl/container/internal/unordered_set_modifiers_test.h +25 -31
- package/vendor/abseil-cpp/absl/container/linked_hash_map.h +666 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_map_benchmark.cc +140 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_map_test.cc +987 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_set.h +527 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_set_benchmark.cc +84 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_set_test.cc +947 -0
- package/vendor/abseil-cpp/absl/container/node_hash_map.h +17 -6
- package/vendor/abseil-cpp/absl/container/node_hash_set.h +16 -5
- package/vendor/abseil-cpp/absl/container/node_hash_set_test.cc +1 -2
- package/vendor/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake +79 -0
- package/vendor/abseil-cpp/absl/copts/GENERATED_copts.bzl +79 -0
- package/vendor/abseil-cpp/absl/copts/copts.py +17 -4
- package/vendor/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +67 -13
- package/vendor/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +4 -2
- package/vendor/abseil-cpp/absl/debugging/BUILD.bazel +31 -0
- package/vendor/abseil-cpp/absl/debugging/CMakeLists.txt +34 -0
- package/vendor/abseil-cpp/absl/debugging/failure_signal_handler.cc +2 -2
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.cc +118 -0
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.h +71 -0
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer_test.cc +97 -0
- package/vendor/abseil-cpp/absl/debugging/internal/demangle.cc +2 -2
- package/vendor/abseil-cpp/absl/debugging/internal/elf_mem_image.h +4 -4
- package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.cc +4 -0
- package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.h +7 -0
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +1 -1
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +0 -7
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +3 -2
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +2 -1
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +8 -3
- package/vendor/abseil-cpp/absl/debugging/internal/symbolize.h +2 -2
- package/vendor/abseil-cpp/absl/debugging/stacktrace.cc +35 -67
- package/vendor/abseil-cpp/absl/debugging/stacktrace.h +3 -0
- package/vendor/abseil-cpp/absl/debugging/stacktrace_benchmark.cc +24 -1
- package/vendor/abseil-cpp/absl/debugging/stacktrace_test.cc +39 -15
- package/vendor/abseil-cpp/absl/debugging/symbolize_emscripten.inc +4 -17
- package/vendor/abseil-cpp/absl/debugging/symbolize_test.cc +25 -40
- package/vendor/abseil-cpp/absl/debugging/symbolize_win32.inc +2 -4
- package/vendor/abseil-cpp/absl/flags/BUILD.bazel +1 -0
- package/vendor/abseil-cpp/absl/flags/declare.h +9 -0
- package/vendor/abseil-cpp/absl/flags/flag.h +2 -1
- package/vendor/abseil-cpp/absl/flags/internal/commandlineflag.h +1 -1
- package/vendor/abseil-cpp/absl/flags/internal/flag.cc +3 -2
- package/vendor/abseil-cpp/absl/flags/marshalling.cc +1 -16
- package/vendor/abseil-cpp/absl/flags/parse.cc +4 -2
- package/vendor/abseil-cpp/absl/flags/parse_test.cc +1 -1
- package/vendor/abseil-cpp/absl/flags/reflection.cc +4 -3
- package/vendor/abseil-cpp/absl/functional/BUILD.bazel +4 -0
- package/vendor/abseil-cpp/absl/functional/CMakeLists.txt +4 -0
- package/vendor/abseil-cpp/absl/functional/any_invocable.h +3 -1
- package/vendor/abseil-cpp/absl/functional/function_ref.h +125 -20
- package/vendor/abseil-cpp/absl/functional/function_ref_test.cc +122 -9
- package/vendor/abseil-cpp/absl/functional/internal/any_invocable.h +13 -2
- package/vendor/abseil-cpp/absl/functional/internal/function_ref.h +42 -4
- package/vendor/abseil-cpp/absl/hash/hash_benchmark.cc +11 -0
- package/vendor/abseil-cpp/absl/hash/hash_test.cc +5 -2
- package/vendor/abseil-cpp/absl/hash/internal/hash.cc +184 -53
- package/vendor/abseil-cpp/absl/hash/internal/hash.h +116 -10
- package/vendor/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +43 -4
- package/vendor/abseil-cpp/absl/log/BUILD.bazel +2 -0
- package/vendor/abseil-cpp/absl/log/CMakeLists.txt +35 -1
- package/vendor/abseil-cpp/absl/log/check_test_impl.inc +59 -4
- package/vendor/abseil-cpp/absl/log/die_if_null.cc +3 -1
- package/vendor/abseil-cpp/absl/log/die_if_null.h +24 -3
- package/vendor/abseil-cpp/absl/log/internal/BUILD.bazel +31 -1
- package/vendor/abseil-cpp/absl/log/internal/check_impl.h +2 -1
- package/vendor/abseil-cpp/absl/log/internal/check_op.cc +3 -1
- package/vendor/abseil-cpp/absl/log/internal/check_op.h +44 -18
- package/vendor/abseil-cpp/absl/log/internal/conditions.h +38 -35
- package/vendor/abseil-cpp/absl/log/internal/container.h +312 -0
- package/vendor/abseil-cpp/absl/log/internal/container_test.cc +254 -0
- package/vendor/abseil-cpp/absl/log/internal/log_impl.h +108 -110
- package/vendor/abseil-cpp/absl/log/internal/log_message.cc +5 -2
- package/vendor/abseil-cpp/absl/log/internal/log_message.h +5 -1
- package/vendor/abseil-cpp/absl/log/internal/strip.h +30 -31
- package/vendor/abseil-cpp/absl/log/internal/vlog_config.cc +19 -19
- package/vendor/abseil-cpp/absl/log/internal/vlog_config.h +0 -1
- package/vendor/abseil-cpp/absl/log/log.h +2 -2
- package/vendor/abseil-cpp/absl/meta/BUILD.bazel +51 -0
- package/vendor/abseil-cpp/absl/meta/CMakeLists.txt +46 -0
- package/vendor/abseil-cpp/absl/meta/internal/constexpr_testing.h +73 -0
- package/vendor/abseil-cpp/absl/meta/internal/constexpr_testing_test.cc +40 -0
- package/vendor/abseil-cpp/absl/meta/internal/requires.h +67 -0
- package/vendor/abseil-cpp/absl/meta/internal/requires_test.cc +66 -0
- package/vendor/abseil-cpp/absl/meta/type_traits.h +42 -1
- package/vendor/abseil-cpp/absl/meta/type_traits_test.cc +14 -0
- package/vendor/abseil-cpp/absl/numeric/int128.h +41 -21
- package/vendor/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +16 -22
- package/vendor/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +5 -7
- package/vendor/abseil-cpp/absl/numeric/int128_test.cc +52 -5
- package/vendor/abseil-cpp/absl/profiling/BUILD.bazel +1 -0
- package/vendor/abseil-cpp/absl/profiling/CMakeLists.txt +1 -0
- package/vendor/abseil-cpp/absl/profiling/hashtable.cc +18 -7
- package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.cc +1 -0
- package/vendor/abseil-cpp/absl/random/internal/fastmath_test.cc +3 -5
- package/vendor/abseil-cpp/absl/random/internal/platform.h +0 -13
- package/vendor/abseil-cpp/absl/random/internal/randen_engine_test.cc +0 -1
- package/vendor/abseil-cpp/absl/random/internal/seed_material.cc +1 -27
- package/vendor/abseil-cpp/absl/status/BUILD.bazel +17 -0
- package/vendor/abseil-cpp/absl/status/CMakeLists.txt +16 -0
- package/vendor/abseil-cpp/absl/status/internal/status_internal.h +4 -2
- package/vendor/abseil-cpp/absl/status/internal/status_matchers.h +2 -2
- package/vendor/abseil-cpp/absl/status/internal/statusor_internal.h +2 -1
- package/vendor/abseil-cpp/absl/status/status.cc +4 -0
- package/vendor/abseil-cpp/absl/status/status.h +5 -0
- package/vendor/abseil-cpp/absl/status/status_matchers.h +48 -0
- package/vendor/abseil-cpp/absl/status/status_matchers_test.cc +27 -0
- package/vendor/abseil-cpp/absl/status/status_test.cc +1 -0
- package/vendor/abseil-cpp/absl/status/statusor.h +1 -1
- package/vendor/abseil-cpp/absl/strings/BUILD.bazel +101 -21
- package/vendor/abseil-cpp/absl/strings/CMakeLists.txt +99 -5
- package/vendor/abseil-cpp/absl/strings/ascii.h +9 -4
- package/vendor/abseil-cpp/absl/strings/cord.cc +15 -10
- package/vendor/abseil-cpp/absl/strings/cord.h +1 -1
- package/vendor/abseil-cpp/absl/strings/escaping.cc +126 -94
- package/vendor/abseil-cpp/absl/strings/internal/append_and_overwrite.h +93 -0
- package/vendor/abseil-cpp/absl/strings/internal/append_and_overwrite_test.cc +95 -0
- package/vendor/abseil-cpp/absl/strings/internal/cord_internal.h +2 -0
- package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_test.cc +8 -8
- package/vendor/abseil-cpp/absl/strings/internal/cordz_info.cc +24 -18
- package/vendor/abseil-cpp/absl/strings/internal/cordz_info.h +10 -16
- package/vendor/abseil-cpp/absl/strings/internal/escaping.h +9 -7
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer.cc +107 -0
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer.h +115 -0
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer_internal.h +423 -0
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer_test.cc +685 -0
- package/vendor/abseil-cpp/absl/strings/internal/resize_uninitialized.h +0 -12
- package/vendor/abseil-cpp/absl/strings/internal/str_format/checker.h +2 -4
- package/vendor/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +21 -7
- package/vendor/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +495 -8
- package/vendor/abseil-cpp/absl/strings/internal/str_join_internal.h +18 -15
- package/vendor/abseil-cpp/absl/strings/numbers.cc +71 -8
- package/vendor/abseil-cpp/absl/strings/numbers.h +25 -12
- package/vendor/abseil-cpp/absl/strings/numbers_test.cc +70 -0
- package/vendor/abseil-cpp/absl/strings/resize_and_overwrite.h +194 -0
- package/vendor/abseil-cpp/absl/strings/resize_and_overwrite_test.cc +154 -0
- package/vendor/abseil-cpp/absl/strings/str_cat.cc +96 -91
- package/vendor/abseil-cpp/absl/strings/str_cat.h +17 -12
- package/vendor/abseil-cpp/absl/strings/str_format_test.cc +4 -4
- package/vendor/abseil-cpp/absl/strings/str_split.h +1 -1
- package/vendor/abseil-cpp/absl/strings/str_split_test.cc +1 -1
- package/vendor/abseil-cpp/absl/strings/string_view.h +8 -718
- package/vendor/abseil-cpp/absl/strings/string_view_test.cc +1 -1265
- package/vendor/abseil-cpp/absl/strings/substitute.cc +24 -24
- package/vendor/abseil-cpp/absl/synchronization/BUILD.bazel +2 -3
- package/vendor/abseil-cpp/absl/synchronization/CMakeLists.txt +1 -0
- package/vendor/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -2
- package/vendor/abseil-cpp/absl/synchronization/internal/kernel_timeout_test.cc +15 -5
- package/vendor/abseil-cpp/absl/synchronization/mutex.cc +2 -1
- package/vendor/abseil-cpp/absl/synchronization/mutex.h +47 -23
- package/vendor/abseil-cpp/absl/synchronization/notification.h +1 -1
- package/vendor/abseil-cpp/absl/time/CMakeLists.txt +2 -0
- package/vendor/abseil-cpp/absl/time/civil_time_benchmark.cc +1 -2
- package/vendor/abseil-cpp/absl/time/civil_time_test.cc +58 -103
- package/vendor/abseil-cpp/absl/time/clock.cc +18 -16
- package/vendor/abseil-cpp/absl/time/clock_test.cc +2 -2
- package/vendor/abseil-cpp/absl/time/duration_benchmark.cc +144 -0
- package/vendor/abseil-cpp/absl/time/duration_test.cc +26 -29
- package/vendor/abseil-cpp/absl/time/internal/cctz/BUILD.bazel +7 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +4 -2
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +6 -103
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +186 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.h +37 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/version +1 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ensenada +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santa_Isabel +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tijuana +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaNorte +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab +9 -9
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +12 -12
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab +47 -47
- package/vendor/abseil-cpp/absl/time/time.cc +4 -4
- package/vendor/abseil-cpp/absl/time/time.h +10 -10
- package/vendor/abseil-cpp/absl/time/time_test.cc +1 -0
- package/vendor/abseil-cpp/absl/types/compare.h +62 -61
- package/vendor/abseil-cpp/absl/types/compare_test.cc +3 -3
- package/vendor/abseil-cpp/absl/types/internal/span.h +1 -0
- package/vendor/abseil-cpp/absl/types/optional.h +2 -2
- package/vendor/abseil-cpp/absl/types/span.h +10 -2
- package/vendor/abseil-cpp/absl/utility/utility.h +13 -0
- package/vendor/abseil-cpp/ci/absl_alternate_options.h +0 -1
- package/vendor/abseil-cpp/ci/cmake_common.sh +1 -1
- package/vendor/abseil-cpp/ci/cmake_install_test.sh +6 -0
- package/vendor/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +2 -0
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh +6 -0
- package/vendor/abseil-cpp/ci/linux_gcc_alpine_cmake.sh +6 -0
- package/vendor/abseil-cpp/ci/macos_xcode_bazel.sh +3 -2
- package/vendor/abseil-cpp/ci/macos_xcode_cmake.sh +5 -0
- package/vendor/abseil-cpp/ci/windows_clangcl_bazel.bat +1 -0
- package/vendor/abseil-cpp/ci/windows_msvc_bazel.bat +1 -0
- package/vendor/abseil-cpp/ci/windows_msvc_cmake.bat +6 -1
- package/vendor/abseil-cpp/absl/base/internal/identity.h +0 -39
- package/vendor/abseil-cpp/absl/strings/string_view.cc +0 -257
- package/vendor/abseil-cpp/absl/strings/string_view_benchmark.cc +0 -380
|
@@ -255,6 +255,60 @@ TEST(CHECKTest, TestBinaryChecksWithStringComparison) {
|
|
|
255
255
|
ABSL_TEST_CHECK_LT(a, "b");
|
|
256
256
|
}
|
|
257
257
|
|
|
258
|
+
TEST(CHECKDeathTest, CheckWithCharStarAndStringPrintsTheCharStar) {
|
|
259
|
+
std::string str = "B";
|
|
260
|
+
|
|
261
|
+
// When the comparison happens as strings, then we print the CharT* as a
|
|
262
|
+
// string.
|
|
263
|
+
EXPECT_DEATH(ABSL_TEST_CHECK_EQ("A", str),
|
|
264
|
+
R"re(Check failed: \"A\" == str \(A vs. B\))re");
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
#if defined(GTEST_USES_SIMPLE_RE) && GTEST_USES_SIMPLE_RE
|
|
268
|
+
#define POINTER_VALUE_RE R"re(\w*)re"
|
|
269
|
+
#else
|
|
270
|
+
#define POINTER_VALUE_RE R"re((0x)*[0-9a-fA-F]*)re"
|
|
271
|
+
#endif
|
|
272
|
+
|
|
273
|
+
#define POINTER_VS_POINTER_RE(lhs, rhs) "\\(" lhs " vs. " rhs "\\)"
|
|
274
|
+
|
|
275
|
+
template <typename CharT>
|
|
276
|
+
void TestCharStarComparison() {
|
|
277
|
+
// When the comparison happens as pointers, we only print the pointer and not
|
|
278
|
+
// interpret it as a C-String because it might not be.
|
|
279
|
+
// Leave the CharTs uninitialized to trigger ASan/MSan failures if we actually
|
|
280
|
+
// read the pointers.
|
|
281
|
+
CharT* p1 = new CharT;
|
|
282
|
+
CharT* p2 = new CharT;
|
|
283
|
+
EXPECT_DEATH(ABSL_TEST_CHECK_EQ(p1, p2),
|
|
284
|
+
R"re(Check failed: p1 == p2 )re" POINTER_VS_POINTER_RE(
|
|
285
|
+
POINTER_VALUE_RE, POINTER_VALUE_RE));
|
|
286
|
+
CharT as_array[10];
|
|
287
|
+
EXPECT_DEATH(ABSL_TEST_CHECK_EQ(p1, as_array),
|
|
288
|
+
R"re(Check failed: p1 == as_array )re" POINTER_VS_POINTER_RE(
|
|
289
|
+
POINTER_VALUE_RE, POINTER_VALUE_RE));
|
|
290
|
+
|
|
291
|
+
const void* as_void = as_array;
|
|
292
|
+
EXPECT_DEATH(ABSL_TEST_CHECK_EQ(as_void, p2),
|
|
293
|
+
R"re(Check failed: as_void == p2 )re" POINTER_VS_POINTER_RE(
|
|
294
|
+
POINTER_VALUE_RE, POINTER_VALUE_RE));
|
|
295
|
+
|
|
296
|
+
delete p1;
|
|
297
|
+
delete p2;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
TEST(CHECKDeathTest, CheckWithCharStarStringification) {
|
|
301
|
+
TestCharStarComparison<char>();
|
|
302
|
+
TestCharStarComparison<signed char>();
|
|
303
|
+
TestCharStarComparison<unsigned char>();
|
|
304
|
+
TestCharStarComparison<wchar_t>();
|
|
305
|
+
#if defined(__cpp_char8_t)
|
|
306
|
+
TestCharStarComparison<char8_t>();
|
|
307
|
+
#endif
|
|
308
|
+
TestCharStarComparison<char16_t>();
|
|
309
|
+
TestCharStarComparison<char32_t>();
|
|
310
|
+
}
|
|
311
|
+
|
|
258
312
|
// For testing using CHECK*() on anonymous enums.
|
|
259
313
|
enum { CASE_A, CASE_B };
|
|
260
314
|
|
|
@@ -292,8 +346,7 @@ TEST(CHECKDeathTest, TestBinaryChecksWithUnprintable) {
|
|
|
292
346
|
ExampleTypeThatHasNoStreamOperator a{true};
|
|
293
347
|
ExampleTypeThatHasNoStreamOperator b{false};
|
|
294
348
|
ABSL_TEST_CHECK_EQ(a, a);
|
|
295
|
-
EXPECT_DEATH(ABSL_TEST_CHECK_EQ(a, b),
|
|
296
|
-
"Check failed: a == b \\(UNPRINTABLE vs. UNPRINTABLE\\)");
|
|
349
|
+
EXPECT_DEATH(ABSL_TEST_CHECK_EQ(a, b), "Check failed: a == b");
|
|
297
350
|
ABSL_TEST_CHECK_EQ(a, true);
|
|
298
351
|
EXPECT_DEATH(ABSL_TEST_CHECK_EQ(a, false),
|
|
299
352
|
"Check failed: a == false \\(UNPRINTABLE vs. 0\\)");
|
|
@@ -340,9 +393,11 @@ TEST(CHECKDeathTest, TestNullValuesAreReportedCleanly) {
|
|
|
340
393
|
|
|
341
394
|
a = "xx";
|
|
342
395
|
EXPECT_DEATH(ABSL_TEST_CHECK_EQ(a, b),
|
|
343
|
-
"Check failed: a == b
|
|
396
|
+
R"re(Check failed: a == b )re" POINTER_VS_POINTER_RE(
|
|
397
|
+
POINTER_VALUE_RE, "\\(null\\)"));
|
|
344
398
|
EXPECT_DEATH(ABSL_TEST_CHECK_EQ(b, a),
|
|
345
|
-
"Check failed: b == a
|
|
399
|
+
R"re(Check failed: b == a )re" POINTER_VS_POINTER_RE(
|
|
400
|
+
"\\(null\\)", POINTER_VALUE_RE));
|
|
346
401
|
|
|
347
402
|
std::nullptr_t n{};
|
|
348
403
|
EXPECT_DEATH(ABSL_TEST_CHECK_NE(n, nullptr),
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
#include "absl/log/die_if_null.h"
|
|
16
16
|
|
|
17
17
|
#include "absl/base/config.h"
|
|
18
|
+
#include "absl/base/nullability.h"
|
|
18
19
|
#include "absl/log/log.h"
|
|
19
20
|
#include "absl/strings/str_cat.h"
|
|
20
21
|
|
|
@@ -22,7 +23,8 @@ namespace absl {
|
|
|
22
23
|
ABSL_NAMESPACE_BEGIN
|
|
23
24
|
namespace log_internal {
|
|
24
25
|
|
|
25
|
-
void DieBecauseNull(const char* file, int line,
|
|
26
|
+
void DieBecauseNull(const char* absl_nonnull file, int line,
|
|
27
|
+
const char* absl_nonnull exprtext) {
|
|
26
28
|
LOG(FATAL).AtLocation(file, line)
|
|
27
29
|
<< absl::StrCat("Check failed: '", exprtext, "' Must be non-null");
|
|
28
30
|
}
|
|
@@ -23,10 +23,13 @@
|
|
|
23
23
|
|
|
24
24
|
#include <stdint.h>
|
|
25
25
|
|
|
26
|
+
#include <type_traits>
|
|
26
27
|
#include <utility>
|
|
27
28
|
|
|
28
29
|
#include "absl/base/attributes.h"
|
|
29
30
|
#include "absl/base/config.h"
|
|
31
|
+
#include "absl/base/internal/nullability_traits.h"
|
|
32
|
+
#include "absl/base/nullability.h"
|
|
30
33
|
#include "absl/base/optimization.h"
|
|
31
34
|
|
|
32
35
|
// ABSL_DIE_IF_NULL()
|
|
@@ -56,12 +59,30 @@ namespace log_internal {
|
|
|
56
59
|
// generates less code than its implementation would if inlined, for a slight
|
|
57
60
|
// code size reduction each time `ABSL_DIE_IF_NULL` is called.
|
|
58
61
|
[[noreturn]] ABSL_ATTRIBUTE_NOINLINE void DieBecauseNull(
|
|
59
|
-
const char* file, int line, const char* exprtext);
|
|
62
|
+
const char* absl_nonnull file, int line, const char* absl_nonnull exprtext);
|
|
60
63
|
|
|
61
64
|
// Helper for `ABSL_DIE_IF_NULL`.
|
|
65
|
+
|
|
66
|
+
// Since we use `remove_reference_t` before `AddNonnullIfCompatible`, we need
|
|
67
|
+
// to explicitly have overloads for both lvalue reference and rvalue reference
|
|
68
|
+
// arguments and returns.
|
|
69
|
+
template <typename T>
|
|
70
|
+
[[nodiscard]] typename absl::base_internal::AddNonnullIfCompatible<
|
|
71
|
+
std::remove_reference_t<T>>::type&
|
|
72
|
+
DieIfNull(const char* absl_nonnull file, int line,
|
|
73
|
+
const char* absl_nonnull exprtext, T& t) {
|
|
74
|
+
if (ABSL_PREDICT_FALSE(t == nullptr)) {
|
|
75
|
+
// Call a non-inline helper function for a small code size improvement.
|
|
76
|
+
DieBecauseNull(file, line, exprtext);
|
|
77
|
+
}
|
|
78
|
+
return t;
|
|
79
|
+
}
|
|
80
|
+
|
|
62
81
|
template <typename T>
|
|
63
|
-
[[nodiscard]]
|
|
64
|
-
|
|
82
|
+
[[nodiscard]] typename absl::base_internal::AddNonnullIfCompatible<
|
|
83
|
+
std::remove_reference_t<T>>::type&&
|
|
84
|
+
DieIfNull(const char* absl_nonnull file, int line,
|
|
85
|
+
const char* absl_nonnull exprtext, T&& t) {
|
|
65
86
|
if (ABSL_PREDICT_FALSE(t == nullptr)) {
|
|
66
87
|
// Call a non-inline helper function for a small code size improvement.
|
|
67
88
|
DieBecauseNull(file, line, exprtext);
|
|
@@ -59,7 +59,6 @@ cc_library(
|
|
|
59
59
|
deps = [
|
|
60
60
|
":check_op",
|
|
61
61
|
":conditions",
|
|
62
|
-
":log_message",
|
|
63
62
|
":strip",
|
|
64
63
|
"//absl/base:core_headers",
|
|
65
64
|
],
|
|
@@ -549,3 +548,34 @@ cc_test(
|
|
|
549
548
|
"@google_benchmark//:benchmark_main",
|
|
550
549
|
],
|
|
551
550
|
)
|
|
551
|
+
|
|
552
|
+
cc_library(
|
|
553
|
+
name = "container",
|
|
554
|
+
hdrs = ["container.h"],
|
|
555
|
+
copts = ABSL_DEFAULT_COPTS,
|
|
556
|
+
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
557
|
+
visibility = [
|
|
558
|
+
"//absl:__subpackages__",
|
|
559
|
+
],
|
|
560
|
+
deps = [
|
|
561
|
+
"//absl/base:config",
|
|
562
|
+
"//absl/meta:requires",
|
|
563
|
+
"//absl/strings",
|
|
564
|
+
],
|
|
565
|
+
)
|
|
566
|
+
|
|
567
|
+
cc_test(
|
|
568
|
+
name = "container_test",
|
|
569
|
+
srcs = ["container_test.cc"],
|
|
570
|
+
copts = ABSL_TEST_COPTS,
|
|
571
|
+
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
572
|
+
deps = [
|
|
573
|
+
":container",
|
|
574
|
+
"//absl/base:config",
|
|
575
|
+
"//absl/strings",
|
|
576
|
+
"//absl/strings:str_format",
|
|
577
|
+
"//absl/types:span",
|
|
578
|
+
"@googletest//:gtest",
|
|
579
|
+
"@googletest//:gtest_main",
|
|
580
|
+
],
|
|
581
|
+
)
|
|
@@ -12,13 +12,14 @@
|
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
|
|
15
|
+
// SKIP_ABSL_INLINE_NAMESPACE_CHECK
|
|
16
|
+
|
|
15
17
|
#ifndef ABSL_LOG_INTERNAL_CHECK_IMPL_H_
|
|
16
18
|
#define ABSL_LOG_INTERNAL_CHECK_IMPL_H_
|
|
17
19
|
|
|
18
20
|
#include "absl/base/optimization.h"
|
|
19
21
|
#include "absl/log/internal/check_op.h"
|
|
20
22
|
#include "absl/log/internal/conditions.h"
|
|
21
|
-
#include "absl/log/internal/log_message.h"
|
|
22
23
|
#include "absl/log/internal/strip.h"
|
|
23
24
|
|
|
24
25
|
// CHECK
|
|
@@ -101,7 +101,9 @@ void MakeCheckOpValueString(std::ostream& os, const void* p) {
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
|
|
104
|
+
std::ostream& operator<<(std::ostream& os, UnprintableWrapper) {
|
|
105
|
+
return os << "UNPRINTABLE";
|
|
106
|
+
}
|
|
105
107
|
|
|
106
108
|
// Helper functions for string comparisons.
|
|
107
109
|
#define DEFINE_CHECK_STROP_IMPL(name, func, expected) \
|
|
@@ -46,10 +46,10 @@
|
|
|
46
46
|
// `ABSL_LOG_INTERNAL_STRIP_STRING_LITERAL` wraps string literals that
|
|
47
47
|
// should be stripped when `ABSL_MIN_LOG_LEVEL` exceeds `kFatal`.
|
|
48
48
|
#ifdef ABSL_MIN_LOG_LEVEL
|
|
49
|
-
#define ABSL_LOG_INTERNAL_STRIP_STRING_LITERAL(literal)
|
|
50
|
-
(::absl::LogSeverity::kFatal >=
|
|
51
|
-
static_cast<::absl::
|
|
52
|
-
? (literal)
|
|
49
|
+
#define ABSL_LOG_INTERNAL_STRIP_STRING_LITERAL(literal) \
|
|
50
|
+
(::absl::LogSeverity::kFatal >= \
|
|
51
|
+
static_cast<::absl::LogSeverityAtLeast>(ABSL_MIN_LOG_LEVEL) \
|
|
52
|
+
? (literal) \
|
|
53
53
|
: "")
|
|
54
54
|
#else
|
|
55
55
|
#define ABSL_LOG_INTERNAL_STRIP_STRING_LITERAL(literal) (literal)
|
|
@@ -225,17 +225,12 @@ void MakeCheckOpValueString(std::ostream& os, signed char v);
|
|
|
225
225
|
void MakeCheckOpValueString(std::ostream& os, unsigned char v);
|
|
226
226
|
void MakeCheckOpValueString(std::ostream& os, const void* absl_nullable p);
|
|
227
227
|
|
|
228
|
-
void MakeCheckOpUnprintableString(std::ostream& os);
|
|
229
|
-
|
|
230
228
|
// A wrapper for types that have no operator<<.
|
|
231
229
|
struct UnprintableWrapper {
|
|
232
230
|
template <typename T>
|
|
233
231
|
explicit UnprintableWrapper(const T&) {}
|
|
234
232
|
|
|
235
|
-
friend std::ostream& operator<<(std::ostream& os,
|
|
236
|
-
MakeCheckOpUnprintableString(os);
|
|
237
|
-
return os;
|
|
238
|
-
}
|
|
233
|
+
friend std::ostream& operator<<(std::ostream& os, UnprintableWrapper);
|
|
239
234
|
};
|
|
240
235
|
|
|
241
236
|
namespace detect_specialization {
|
|
@@ -398,10 +393,35 @@ std::enable_if_t<
|
|
|
398
393
|
std::conditional_t<std::is_signed_v<UnderlyingTypeT<T>>,
|
|
399
394
|
int64_t, uint64_t>>>
|
|
400
395
|
Detect(...);
|
|
396
|
+
|
|
397
|
+
template <typename T>
|
|
398
|
+
using Detected = decltype(Detect<T>(0));
|
|
401
399
|
} // namespace detect_specialization
|
|
402
400
|
|
|
401
|
+
// If the comparison will happen as pointers, decay `char*` arguments to `void*`
|
|
402
|
+
// when printing them. There is no evidence that they are a NULL terminated
|
|
403
|
+
// C-String so printing them as such could lead to UB, and more importantly we
|
|
404
|
+
// compared pointers so showing the pointers is a better result.
|
|
403
405
|
template <typename T>
|
|
404
|
-
|
|
406
|
+
constexpr bool IsCharStarOrVoidStar() {
|
|
407
|
+
if constexpr (std::is_reference_v<T>) {
|
|
408
|
+
return IsCharStarOrVoidStar<std::remove_reference_t<T>>();
|
|
409
|
+
} else if constexpr (std::is_array_v<T>) {
|
|
410
|
+
return IsCharStarOrVoidStar<std::decay_t<T>>();
|
|
411
|
+
} else {
|
|
412
|
+
using U = std::remove_const_t<std::remove_pointer_t<T>>;
|
|
413
|
+
return std::is_pointer_v<T> &&
|
|
414
|
+
(std::is_same_v<char, U> || std::is_same_v<unsigned char, U> ||
|
|
415
|
+
std::is_same_v<signed char, U> || std::is_void_v<U>);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
template <typename T1, typename T2,
|
|
420
|
+
typename U1 = detect_specialization::Detected<T1>,
|
|
421
|
+
typename U2 = detect_specialization::Detected<T2>>
|
|
422
|
+
using CheckOpStreamType =
|
|
423
|
+
std::conditional_t<IsCharStarOrVoidStar<U1>() && IsCharStarOrVoidStar<U2>(),
|
|
424
|
+
const void*, U1>;
|
|
405
425
|
|
|
406
426
|
// Build the error message string. Specify no inlining for code size.
|
|
407
427
|
template <typename T1, typename T2>
|
|
@@ -411,10 +431,16 @@ ABSL_ATTRIBUTE_RETURNS_NONNULL const char* absl_nonnull MakeCheckOpString(
|
|
|
411
431
|
template <typename T1, typename T2>
|
|
412
432
|
const char* absl_nonnull MakeCheckOpString(T1 v1, T2 v2,
|
|
413
433
|
const char* absl_nonnull exprtext) {
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
434
|
+
if constexpr (std::is_same_v<CheckOpStreamType<T1, T2>, UnprintableWrapper> &&
|
|
435
|
+
std::is_same_v<CheckOpStreamType<T2, T1>, UnprintableWrapper>) {
|
|
436
|
+
// No sense printing " (UNPRINTABLE vs. UNPRINTABLE)"
|
|
437
|
+
return exprtext;
|
|
438
|
+
} else {
|
|
439
|
+
CheckOpMessageBuilder comb(exprtext);
|
|
440
|
+
MakeCheckOpValueString(comb.ForVar1(), v1);
|
|
441
|
+
MakeCheckOpValueString(comb.ForVar2(), v2);
|
|
442
|
+
return comb.NewString();
|
|
443
|
+
}
|
|
418
444
|
}
|
|
419
445
|
|
|
420
446
|
// Add a few commonly used instantiations as extern to reduce size of objects
|
|
@@ -445,7 +471,7 @@ ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(const void* absl_nonnull);
|
|
|
445
471
|
#ifdef ABSL_MIN_LOG_LEVEL
|
|
446
472
|
#define ABSL_LOG_INTERNAL_CHECK_OP_IMPL_RESULT(U1, U2, v1, v2, exprtext) \
|
|
447
473
|
((::absl::LogSeverity::kFatal >= \
|
|
448
|
-
static_cast<::absl::
|
|
474
|
+
static_cast<::absl::LogSeverityAtLeast>(ABSL_MIN_LOG_LEVEL)) \
|
|
449
475
|
? MakeCheckOpString<U1, U2>(v1, v2, exprtext) \
|
|
450
476
|
: "")
|
|
451
477
|
#else
|
|
@@ -461,8 +487,8 @@ ABSL_LOG_INTERNAL_DEFINE_MAKE_CHECK_OP_STRING_EXTERN(const void* absl_nonnull);
|
|
|
461
487
|
template <typename T1, typename T2> \
|
|
462
488
|
inline constexpr const char* absl_nullable name##Impl( \
|
|
463
489
|
const T1& v1, const T2& v2, const char* absl_nonnull exprtext) { \
|
|
464
|
-
using U1 = CheckOpStreamType<T1>;
|
|
465
|
-
using U2 = CheckOpStreamType<T2>;
|
|
490
|
+
using U1 = CheckOpStreamType<T1, T2>; \
|
|
491
|
+
using U2 = CheckOpStreamType<T2, T1>; \
|
|
466
492
|
return ABSL_PREDICT_TRUE(v1 op v2) \
|
|
467
493
|
? nullptr \
|
|
468
494
|
: ABSL_LOG_INTERNAL_CHECK_OP_IMPL_RESULT(U1, U2, U1(v1), \
|
|
@@ -108,46 +108,49 @@
|
|
|
108
108
|
#ifdef ABSL_MIN_LOG_LEVEL
|
|
109
109
|
#define ABSL_LOG_INTERNAL_CONDITION_INFO(type, condition) \
|
|
110
110
|
ABSL_LOG_INTERNAL_##type##_CONDITION( \
|
|
111
|
-
(condition) &&
|
|
112
|
-
|
|
111
|
+
(condition) && \
|
|
112
|
+
::absl::LogSeverity::kInfo >= \
|
|
113
|
+
static_cast<::absl::LogSeverityAtLeast>(ABSL_MIN_LOG_LEVEL))
|
|
113
114
|
#define ABSL_LOG_INTERNAL_CONDITION_WARNING(type, condition) \
|
|
114
115
|
ABSL_LOG_INTERNAL_##type##_CONDITION( \
|
|
115
|
-
(condition) &&
|
|
116
|
-
|
|
116
|
+
(condition) && \
|
|
117
|
+
::absl::LogSeverity::kWarning >= \
|
|
118
|
+
static_cast<::absl::LogSeverityAtLeast>(ABSL_MIN_LOG_LEVEL))
|
|
117
119
|
#define ABSL_LOG_INTERNAL_CONDITION_ERROR(type, condition) \
|
|
118
120
|
ABSL_LOG_INTERNAL_##type##_CONDITION( \
|
|
119
|
-
(condition) &&
|
|
120
|
-
|
|
121
|
+
(condition) && \
|
|
122
|
+
::absl::LogSeverity::kError >= \
|
|
123
|
+
static_cast<::absl::LogSeverityAtLeast>(ABSL_MIN_LOG_LEVEL))
|
|
121
124
|
#define ABSL_LOG_INTERNAL_CONDITION_DO_NOT_SUBMIT(type, condition) \
|
|
122
125
|
ABSL_LOG_INTERNAL_CONDITION_ERROR(type, condition)
|
|
123
126
|
// NOTE: Use ternary operators instead of short-circuiting to mitigate
|
|
124
127
|
// https://bugs.llvm.org/show_bug.cgi?id=51928.
|
|
125
128
|
#define ABSL_LOG_INTERNAL_CONDITION_FATAL(type, condition) \
|
|
126
129
|
ABSL_LOG_INTERNAL_##type##_CONDITION( \
|
|
127
|
-
((condition)
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
130
|
+
((condition) ? (::absl::LogSeverity::kFatal >= \
|
|
131
|
+
static_cast<::absl::LogSeverityAtLeast>( \
|
|
132
|
+
ABSL_MIN_LOG_LEVEL) \
|
|
133
|
+
? true \
|
|
134
|
+
: (::absl::log_internal::AbortQuietly(), false)) \
|
|
135
|
+
: false))
|
|
133
136
|
// NOTE: Use ternary operators instead of short-circuiting to mitigate
|
|
134
137
|
// https://bugs.llvm.org/show_bug.cgi?id=51928.
|
|
135
|
-
#define ABSL_LOG_INTERNAL_CONDITION_QFATAL(type, condition)
|
|
136
|
-
ABSL_LOG_INTERNAL_##type##_CONDITION(
|
|
137
|
-
((condition)
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
#define ABSL_LOG_INTERNAL_CONDITION_DFATAL(type, condition)
|
|
144
|
-
ABSL_LOG_INTERNAL_##type##_CONDITION(
|
|
145
|
-
(ABSL_ASSUME(absl::kLogDebugFatal == absl::LogSeverity::kError ||
|
|
146
|
-
absl::kLogDebugFatal == absl::LogSeverity::kFatal),
|
|
147
|
-
(condition) &&
|
|
148
|
-
(::absl::kLogDebugFatal >=
|
|
149
|
-
static_cast<::absl::
|
|
150
|
-
(::absl::kLogDebugFatal == ::absl::LogSeverity::kFatal &&
|
|
138
|
+
#define ABSL_LOG_INTERNAL_CONDITION_QFATAL(type, condition) \
|
|
139
|
+
ABSL_LOG_INTERNAL_##type##_CONDITION( \
|
|
140
|
+
((condition) ? (::absl::LogSeverity::kFatal >= \
|
|
141
|
+
static_cast<::absl::LogSeverityAtLeast>( \
|
|
142
|
+
ABSL_MIN_LOG_LEVEL) \
|
|
143
|
+
? true \
|
|
144
|
+
: (::absl::log_internal::ExitQuietly(), false)) \
|
|
145
|
+
: false))
|
|
146
|
+
#define ABSL_LOG_INTERNAL_CONDITION_DFATAL(type, condition) \
|
|
147
|
+
ABSL_LOG_INTERNAL_##type##_CONDITION( \
|
|
148
|
+
(ABSL_ASSUME(absl::kLogDebugFatal == absl::LogSeverity::kError || \
|
|
149
|
+
absl::kLogDebugFatal == absl::LogSeverity::kFatal), \
|
|
150
|
+
(condition) && \
|
|
151
|
+
(::absl::kLogDebugFatal >= \
|
|
152
|
+
static_cast<::absl::LogSeverityAtLeast>(ABSL_MIN_LOG_LEVEL) || \
|
|
153
|
+
(::absl::kLogDebugFatal == ::absl::LogSeverity::kFatal && \
|
|
151
154
|
(::absl::log_internal::AbortQuietly(), false)))))
|
|
152
155
|
|
|
153
156
|
#define ABSL_LOG_INTERNAL_CONDITION_LEVEL(severity) \
|
|
@@ -157,13 +160,13 @@
|
|
|
157
160
|
::absl::NormalizeLogSeverity(severity); \
|
|
158
161
|
absl_log_internal_severity_loop; absl_log_internal_severity_loop = 0) \
|
|
159
162
|
ABSL_LOG_INTERNAL_CONDITION_LEVEL_IMPL
|
|
160
|
-
#define ABSL_LOG_INTERNAL_CONDITION_LEVEL_IMPL(type, condition)
|
|
161
|
-
ABSL_LOG_INTERNAL_##type##_CONDITION(
|
|
162
|
-
(condition) &&
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
163
|
+
#define ABSL_LOG_INTERNAL_CONDITION_LEVEL_IMPL(type, condition) \
|
|
164
|
+
ABSL_LOG_INTERNAL_##type##_CONDITION( \
|
|
165
|
+
((condition) && \
|
|
166
|
+
(absl_log_internal_severity >= \
|
|
167
|
+
static_cast<::absl::LogSeverityAtLeast>(ABSL_MIN_LOG_LEVEL) || \
|
|
168
|
+
(absl_log_internal_severity == ::absl::LogSeverity::kFatal && \
|
|
169
|
+
(::absl::log_internal::AbortQuietly(), false)))))
|
|
167
170
|
#else // ndef ABSL_MIN_LOG_LEVEL
|
|
168
171
|
#define ABSL_LOG_INTERNAL_CONDITION_INFO(type, condition) \
|
|
169
172
|
ABSL_LOG_INTERNAL_##type##_CONDITION(condition)
|