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.
Files changed (280) hide show
  1. package/README.md +2 -0
  2. package/binding.gyp +3 -2
  3. package/package.json +5 -5
  4. package/vendor/abseil-cpp/CMake/AbseilDll.cmake +25 -4
  5. package/vendor/abseil-cpp/CMake/AbseilHelpers.cmake +6 -1
  6. package/vendor/abseil-cpp/CMakeLists.txt +2 -2
  7. package/vendor/abseil-cpp/MODULE.bazel +2 -2
  8. package/vendor/abseil-cpp/absl/algorithm/BUILD.bazel +0 -1
  9. package/vendor/abseil-cpp/absl/algorithm/CMakeLists.txt +0 -2
  10. package/vendor/abseil-cpp/absl/algorithm/container.h +191 -140
  11. package/vendor/abseil-cpp/absl/algorithm/container_test.cc +818 -0
  12. package/vendor/abseil-cpp/absl/base/BUILD.bazel +44 -5
  13. package/vendor/abseil-cpp/absl/base/CMakeLists.txt +42 -3
  14. package/vendor/abseil-cpp/absl/base/attributes.h +5 -1
  15. package/vendor/abseil-cpp/absl/base/call_once_test.cc +10 -10
  16. package/vendor/abseil-cpp/absl/base/casts.cc +61 -0
  17. package/vendor/abseil-cpp/absl/base/casts.h +128 -2
  18. package/vendor/abseil-cpp/absl/base/casts_test.cc +151 -0
  19. package/vendor/abseil-cpp/absl/base/config.h +13 -37
  20. package/vendor/abseil-cpp/absl/base/internal/dynamic_annotations.h +1 -1
  21. package/vendor/abseil-cpp/absl/base/internal/iterator_traits.h +4 -0
  22. package/vendor/abseil-cpp/absl/base/internal/nullability_traits.h +71 -0
  23. package/vendor/abseil-cpp/absl/base/internal/nullability_traits_test.cc +98 -0
  24. package/vendor/abseil-cpp/absl/base/internal/raw_logging.cc +3 -4
  25. package/vendor/abseil-cpp/absl/base/internal/spinlock.cc +13 -7
  26. package/vendor/abseil-cpp/absl/base/internal/spinlock.h +16 -11
  27. package/vendor/abseil-cpp/absl/base/internal/strerror_test.cc +2 -1
  28. package/vendor/abseil-cpp/absl/base/internal/sysinfo.cc +0 -9
  29. package/vendor/abseil-cpp/absl/base/internal/sysinfo_test.cc +0 -6
  30. package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -1
  31. package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +1 -1
  32. package/vendor/abseil-cpp/absl/base/macros.h +40 -17
  33. package/vendor/abseil-cpp/absl/base/nullability.h +1 -1
  34. package/vendor/abseil-cpp/absl/base/optimization.h +1 -3
  35. package/vendor/abseil-cpp/absl/base/options.h +1 -27
  36. package/vendor/abseil-cpp/absl/base/spinlock_test_common.cc +5 -8
  37. package/vendor/abseil-cpp/absl/cleanup/cleanup.h +4 -0
  38. package/vendor/abseil-cpp/absl/container/BUILD.bazel +195 -2
  39. package/vendor/abseil-cpp/absl/container/CMakeLists.txt +136 -2
  40. package/vendor/abseil-cpp/absl/container/btree_map.h +56 -6
  41. package/vendor/abseil-cpp/absl/container/btree_set.h +52 -6
  42. package/vendor/abseil-cpp/absl/container/btree_test.cc +107 -1
  43. package/vendor/abseil-cpp/absl/container/chunked_queue.h +755 -0
  44. package/vendor/abseil-cpp/absl/container/chunked_queue_benchmark.cc +386 -0
  45. package/vendor/abseil-cpp/absl/container/chunked_queue_test.cc +768 -0
  46. package/vendor/abseil-cpp/absl/container/fixed_array.h +4 -6
  47. package/vendor/abseil-cpp/absl/container/flat_hash_map.h +16 -6
  48. package/vendor/abseil-cpp/absl/container/flat_hash_map_test.cc +1 -2
  49. package/vendor/abseil-cpp/absl/container/flat_hash_set.h +16 -6
  50. package/vendor/abseil-cpp/absl/container/flat_hash_set_test.cc +0 -2
  51. package/vendor/abseil-cpp/absl/container/inlined_vector.h +12 -4
  52. package/vendor/abseil-cpp/absl/container/inlined_vector_test.cc +21 -0
  53. package/vendor/abseil-cpp/absl/container/internal/btree_container.h +14 -5
  54. package/vendor/abseil-cpp/absl/container/internal/chunked_queue.h +173 -0
  55. package/vendor/abseil-cpp/absl/container/internal/common.h +51 -0
  56. package/vendor/abseil-cpp/absl/container/internal/container_memory.h +7 -1
  57. package/vendor/abseil-cpp/absl/container/internal/container_memory_test.cc +11 -0
  58. package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.cc +0 -2
  59. package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.h +1 -2
  60. package/vendor/abseil-cpp/absl/container/internal/hash_policy_testing.h +0 -14
  61. package/vendor/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +11 -8
  62. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +3 -4
  63. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.h +23 -6
  64. package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +31 -15
  65. package/vendor/abseil-cpp/absl/container/internal/heterogeneous_lookup_testing.h +80 -0
  66. package/vendor/abseil-cpp/absl/container/internal/inlined_vector.h +4 -12
  67. package/vendor/abseil-cpp/absl/container/internal/raw_hash_map.h +35 -10
  68. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.cc +149 -23
  69. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.h +120 -126
  70. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc +4 -0
  71. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +8 -0
  72. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +14 -59
  73. package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +111 -22
  74. package/vendor/abseil-cpp/absl/container/internal/unordered_map_constructor_test.h +53 -112
  75. package/vendor/abseil-cpp/absl/container/internal/unordered_map_lookup_test.h +10 -15
  76. package/vendor/abseil-cpp/absl/container/internal/unordered_map_members_test.h +3 -3
  77. package/vendor/abseil-cpp/absl/container/internal/unordered_map_modifiers_test.h +45 -61
  78. package/vendor/abseil-cpp/absl/container/internal/unordered_set_constructor_test.h +53 -112
  79. package/vendor/abseil-cpp/absl/container/internal/unordered_set_lookup_test.h +6 -9
  80. package/vendor/abseil-cpp/absl/container/internal/unordered_set_members_test.h +3 -3
  81. package/vendor/abseil-cpp/absl/container/internal/unordered_set_modifiers_test.h +25 -31
  82. package/vendor/abseil-cpp/absl/container/linked_hash_map.h +666 -0
  83. package/vendor/abseil-cpp/absl/container/linked_hash_map_benchmark.cc +140 -0
  84. package/vendor/abseil-cpp/absl/container/linked_hash_map_test.cc +987 -0
  85. package/vendor/abseil-cpp/absl/container/linked_hash_set.h +527 -0
  86. package/vendor/abseil-cpp/absl/container/linked_hash_set_benchmark.cc +84 -0
  87. package/vendor/abseil-cpp/absl/container/linked_hash_set_test.cc +947 -0
  88. package/vendor/abseil-cpp/absl/container/node_hash_map.h +17 -6
  89. package/vendor/abseil-cpp/absl/container/node_hash_set.h +16 -5
  90. package/vendor/abseil-cpp/absl/container/node_hash_set_test.cc +1 -2
  91. package/vendor/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake +79 -0
  92. package/vendor/abseil-cpp/absl/copts/GENERATED_copts.bzl +79 -0
  93. package/vendor/abseil-cpp/absl/copts/copts.py +17 -4
  94. package/vendor/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +67 -13
  95. package/vendor/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +4 -2
  96. package/vendor/abseil-cpp/absl/debugging/BUILD.bazel +31 -0
  97. package/vendor/abseil-cpp/absl/debugging/CMakeLists.txt +34 -0
  98. package/vendor/abseil-cpp/absl/debugging/failure_signal_handler.cc +2 -2
  99. package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.cc +118 -0
  100. package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.h +71 -0
  101. package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer_test.cc +97 -0
  102. package/vendor/abseil-cpp/absl/debugging/internal/demangle.cc +2 -2
  103. package/vendor/abseil-cpp/absl/debugging/internal/elf_mem_image.h +4 -4
  104. package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.cc +4 -0
  105. package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.h +7 -0
  106. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +1 -1
  107. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +0 -7
  108. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +3 -2
  109. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +2 -1
  110. package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +8 -3
  111. package/vendor/abseil-cpp/absl/debugging/internal/symbolize.h +2 -2
  112. package/vendor/abseil-cpp/absl/debugging/stacktrace.cc +35 -67
  113. package/vendor/abseil-cpp/absl/debugging/stacktrace.h +3 -0
  114. package/vendor/abseil-cpp/absl/debugging/stacktrace_benchmark.cc +24 -1
  115. package/vendor/abseil-cpp/absl/debugging/stacktrace_test.cc +39 -15
  116. package/vendor/abseil-cpp/absl/debugging/symbolize_emscripten.inc +4 -17
  117. package/vendor/abseil-cpp/absl/debugging/symbolize_test.cc +25 -40
  118. package/vendor/abseil-cpp/absl/debugging/symbolize_win32.inc +2 -4
  119. package/vendor/abseil-cpp/absl/flags/BUILD.bazel +1 -0
  120. package/vendor/abseil-cpp/absl/flags/declare.h +9 -0
  121. package/vendor/abseil-cpp/absl/flags/flag.h +2 -1
  122. package/vendor/abseil-cpp/absl/flags/internal/commandlineflag.h +1 -1
  123. package/vendor/abseil-cpp/absl/flags/internal/flag.cc +3 -2
  124. package/vendor/abseil-cpp/absl/flags/marshalling.cc +1 -16
  125. package/vendor/abseil-cpp/absl/flags/parse.cc +4 -2
  126. package/vendor/abseil-cpp/absl/flags/parse_test.cc +1 -1
  127. package/vendor/abseil-cpp/absl/flags/reflection.cc +4 -3
  128. package/vendor/abseil-cpp/absl/functional/BUILD.bazel +4 -0
  129. package/vendor/abseil-cpp/absl/functional/CMakeLists.txt +4 -0
  130. package/vendor/abseil-cpp/absl/functional/any_invocable.h +3 -1
  131. package/vendor/abseil-cpp/absl/functional/function_ref.h +125 -20
  132. package/vendor/abseil-cpp/absl/functional/function_ref_test.cc +122 -9
  133. package/vendor/abseil-cpp/absl/functional/internal/any_invocable.h +13 -2
  134. package/vendor/abseil-cpp/absl/functional/internal/function_ref.h +42 -4
  135. package/vendor/abseil-cpp/absl/hash/hash_benchmark.cc +11 -0
  136. package/vendor/abseil-cpp/absl/hash/hash_test.cc +5 -2
  137. package/vendor/abseil-cpp/absl/hash/internal/hash.cc +184 -53
  138. package/vendor/abseil-cpp/absl/hash/internal/hash.h +116 -10
  139. package/vendor/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +43 -4
  140. package/vendor/abseil-cpp/absl/log/BUILD.bazel +2 -0
  141. package/vendor/abseil-cpp/absl/log/CMakeLists.txt +35 -1
  142. package/vendor/abseil-cpp/absl/log/check_test_impl.inc +59 -4
  143. package/vendor/abseil-cpp/absl/log/die_if_null.cc +3 -1
  144. package/vendor/abseil-cpp/absl/log/die_if_null.h +24 -3
  145. package/vendor/abseil-cpp/absl/log/internal/BUILD.bazel +31 -1
  146. package/vendor/abseil-cpp/absl/log/internal/check_impl.h +2 -1
  147. package/vendor/abseil-cpp/absl/log/internal/check_op.cc +3 -1
  148. package/vendor/abseil-cpp/absl/log/internal/check_op.h +44 -18
  149. package/vendor/abseil-cpp/absl/log/internal/conditions.h +38 -35
  150. package/vendor/abseil-cpp/absl/log/internal/container.h +312 -0
  151. package/vendor/abseil-cpp/absl/log/internal/container_test.cc +254 -0
  152. package/vendor/abseil-cpp/absl/log/internal/log_impl.h +108 -110
  153. package/vendor/abseil-cpp/absl/log/internal/log_message.cc +5 -2
  154. package/vendor/abseil-cpp/absl/log/internal/log_message.h +5 -1
  155. package/vendor/abseil-cpp/absl/log/internal/strip.h +30 -31
  156. package/vendor/abseil-cpp/absl/log/internal/vlog_config.cc +19 -19
  157. package/vendor/abseil-cpp/absl/log/internal/vlog_config.h +0 -1
  158. package/vendor/abseil-cpp/absl/log/log.h +2 -2
  159. package/vendor/abseil-cpp/absl/meta/BUILD.bazel +51 -0
  160. package/vendor/abseil-cpp/absl/meta/CMakeLists.txt +46 -0
  161. package/vendor/abseil-cpp/absl/meta/internal/constexpr_testing.h +73 -0
  162. package/vendor/abseil-cpp/absl/meta/internal/constexpr_testing_test.cc +40 -0
  163. package/vendor/abseil-cpp/absl/meta/internal/requires.h +67 -0
  164. package/vendor/abseil-cpp/absl/meta/internal/requires_test.cc +66 -0
  165. package/vendor/abseil-cpp/absl/meta/type_traits.h +42 -1
  166. package/vendor/abseil-cpp/absl/meta/type_traits_test.cc +14 -0
  167. package/vendor/abseil-cpp/absl/numeric/int128.h +41 -21
  168. package/vendor/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +16 -22
  169. package/vendor/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +5 -7
  170. package/vendor/abseil-cpp/absl/numeric/int128_test.cc +52 -5
  171. package/vendor/abseil-cpp/absl/profiling/BUILD.bazel +1 -0
  172. package/vendor/abseil-cpp/absl/profiling/CMakeLists.txt +1 -0
  173. package/vendor/abseil-cpp/absl/profiling/hashtable.cc +18 -7
  174. package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.cc +1 -0
  175. package/vendor/abseil-cpp/absl/random/internal/fastmath_test.cc +3 -5
  176. package/vendor/abseil-cpp/absl/random/internal/platform.h +0 -13
  177. package/vendor/abseil-cpp/absl/random/internal/randen_engine_test.cc +0 -1
  178. package/vendor/abseil-cpp/absl/random/internal/seed_material.cc +1 -27
  179. package/vendor/abseil-cpp/absl/status/BUILD.bazel +17 -0
  180. package/vendor/abseil-cpp/absl/status/CMakeLists.txt +16 -0
  181. package/vendor/abseil-cpp/absl/status/internal/status_internal.h +4 -2
  182. package/vendor/abseil-cpp/absl/status/internal/status_matchers.h +2 -2
  183. package/vendor/abseil-cpp/absl/status/internal/statusor_internal.h +2 -1
  184. package/vendor/abseil-cpp/absl/status/status.cc +4 -0
  185. package/vendor/abseil-cpp/absl/status/status.h +5 -0
  186. package/vendor/abseil-cpp/absl/status/status_matchers.h +48 -0
  187. package/vendor/abseil-cpp/absl/status/status_matchers_test.cc +27 -0
  188. package/vendor/abseil-cpp/absl/status/status_test.cc +1 -0
  189. package/vendor/abseil-cpp/absl/status/statusor.h +1 -1
  190. package/vendor/abseil-cpp/absl/strings/BUILD.bazel +101 -21
  191. package/vendor/abseil-cpp/absl/strings/CMakeLists.txt +99 -5
  192. package/vendor/abseil-cpp/absl/strings/ascii.h +9 -4
  193. package/vendor/abseil-cpp/absl/strings/cord.cc +15 -10
  194. package/vendor/abseil-cpp/absl/strings/cord.h +1 -1
  195. package/vendor/abseil-cpp/absl/strings/escaping.cc +126 -94
  196. package/vendor/abseil-cpp/absl/strings/internal/append_and_overwrite.h +93 -0
  197. package/vendor/abseil-cpp/absl/strings/internal/append_and_overwrite_test.cc +95 -0
  198. package/vendor/abseil-cpp/absl/strings/internal/cord_internal.h +2 -0
  199. package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_test.cc +8 -8
  200. package/vendor/abseil-cpp/absl/strings/internal/cordz_info.cc +24 -18
  201. package/vendor/abseil-cpp/absl/strings/internal/cordz_info.h +10 -16
  202. package/vendor/abseil-cpp/absl/strings/internal/escaping.h +9 -7
  203. package/vendor/abseil-cpp/absl/strings/internal/generic_printer.cc +107 -0
  204. package/vendor/abseil-cpp/absl/strings/internal/generic_printer.h +115 -0
  205. package/vendor/abseil-cpp/absl/strings/internal/generic_printer_internal.h +423 -0
  206. package/vendor/abseil-cpp/absl/strings/internal/generic_printer_test.cc +685 -0
  207. package/vendor/abseil-cpp/absl/strings/internal/resize_uninitialized.h +0 -12
  208. package/vendor/abseil-cpp/absl/strings/internal/str_format/checker.h +2 -4
  209. package/vendor/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +21 -7
  210. package/vendor/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +495 -8
  211. package/vendor/abseil-cpp/absl/strings/internal/str_join_internal.h +18 -15
  212. package/vendor/abseil-cpp/absl/strings/numbers.cc +71 -8
  213. package/vendor/abseil-cpp/absl/strings/numbers.h +25 -12
  214. package/vendor/abseil-cpp/absl/strings/numbers_test.cc +70 -0
  215. package/vendor/abseil-cpp/absl/strings/resize_and_overwrite.h +194 -0
  216. package/vendor/abseil-cpp/absl/strings/resize_and_overwrite_test.cc +154 -0
  217. package/vendor/abseil-cpp/absl/strings/str_cat.cc +96 -91
  218. package/vendor/abseil-cpp/absl/strings/str_cat.h +17 -12
  219. package/vendor/abseil-cpp/absl/strings/str_format_test.cc +4 -4
  220. package/vendor/abseil-cpp/absl/strings/str_split.h +1 -1
  221. package/vendor/abseil-cpp/absl/strings/str_split_test.cc +1 -1
  222. package/vendor/abseil-cpp/absl/strings/string_view.h +8 -718
  223. package/vendor/abseil-cpp/absl/strings/string_view_test.cc +1 -1265
  224. package/vendor/abseil-cpp/absl/strings/substitute.cc +24 -24
  225. package/vendor/abseil-cpp/absl/synchronization/BUILD.bazel +2 -3
  226. package/vendor/abseil-cpp/absl/synchronization/CMakeLists.txt +1 -0
  227. package/vendor/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -2
  228. package/vendor/abseil-cpp/absl/synchronization/internal/kernel_timeout_test.cc +15 -5
  229. package/vendor/abseil-cpp/absl/synchronization/mutex.cc +2 -1
  230. package/vendor/abseil-cpp/absl/synchronization/mutex.h +47 -23
  231. package/vendor/abseil-cpp/absl/synchronization/notification.h +1 -1
  232. package/vendor/abseil-cpp/absl/time/CMakeLists.txt +2 -0
  233. package/vendor/abseil-cpp/absl/time/civil_time_benchmark.cc +1 -2
  234. package/vendor/abseil-cpp/absl/time/civil_time_test.cc +58 -103
  235. package/vendor/abseil-cpp/absl/time/clock.cc +18 -16
  236. package/vendor/abseil-cpp/absl/time/clock_test.cc +2 -2
  237. package/vendor/abseil-cpp/absl/time/duration_benchmark.cc +144 -0
  238. package/vendor/abseil-cpp/absl/time/duration_test.cc +26 -29
  239. package/vendor/abseil-cpp/absl/time/internal/cctz/BUILD.bazel +7 -1
  240. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +4 -2
  241. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +6 -103
  242. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +186 -0
  243. package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.h +37 -0
  244. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/version +1 -1
  245. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ensenada +0 -0
  246. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santa_Isabel +0 -0
  247. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tijuana +0 -0
  248. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaNorte +0 -0
  249. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab +9 -9
  250. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +12 -12
  251. package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab +47 -47
  252. package/vendor/abseil-cpp/absl/time/time.cc +4 -4
  253. package/vendor/abseil-cpp/absl/time/time.h +10 -10
  254. package/vendor/abseil-cpp/absl/time/time_test.cc +1 -0
  255. package/vendor/abseil-cpp/absl/types/compare.h +62 -61
  256. package/vendor/abseil-cpp/absl/types/compare_test.cc +3 -3
  257. package/vendor/abseil-cpp/absl/types/internal/span.h +1 -0
  258. package/vendor/abseil-cpp/absl/types/optional.h +2 -2
  259. package/vendor/abseil-cpp/absl/types/span.h +10 -2
  260. package/vendor/abseil-cpp/absl/utility/utility.h +13 -0
  261. package/vendor/abseil-cpp/ci/absl_alternate_options.h +0 -1
  262. package/vendor/abseil-cpp/ci/cmake_common.sh +1 -1
  263. package/vendor/abseil-cpp/ci/cmake_install_test.sh +6 -0
  264. package/vendor/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh +1 -0
  265. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +2 -0
  266. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +1 -0
  267. package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +1 -0
  268. package/vendor/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +1 -0
  269. package/vendor/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +1 -0
  270. package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +1 -0
  271. package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh +6 -0
  272. package/vendor/abseil-cpp/ci/linux_gcc_alpine_cmake.sh +6 -0
  273. package/vendor/abseil-cpp/ci/macos_xcode_bazel.sh +3 -2
  274. package/vendor/abseil-cpp/ci/macos_xcode_cmake.sh +5 -0
  275. package/vendor/abseil-cpp/ci/windows_clangcl_bazel.bat +1 -0
  276. package/vendor/abseil-cpp/ci/windows_msvc_bazel.bat +1 -0
  277. package/vendor/abseil-cpp/ci/windows_msvc_cmake.bat +6 -1
  278. package/vendor/abseil-cpp/absl/base/internal/identity.h +0 -39
  279. package/vendor/abseil-cpp/absl/strings/string_view.cc +0 -257
  280. package/vendor/abseil-cpp/absl/strings/string_view_benchmark.cc +0 -380
@@ -122,13 +122,18 @@ class NodeHashMapPolicy;
122
122
  // if (result != ducks.end()) {
123
123
  // std::cout << "Result: " << result->second << std::endl;
124
124
  // }
125
- template <class Key, class Value, class Hash = DefaultHashContainerHash<Key>,
126
- class Eq = DefaultHashContainerEq<Key>,
127
- class Alloc = std::allocator<std::pair<const Key, Value>>>
125
+ template <
126
+ class Key, class Value,
127
+ class Hash =
128
+ typename container_internal::NodeHashMapPolicy<Key, Value>::DefaultHash,
129
+ class Eq =
130
+ typename container_internal::NodeHashMapPolicy<Key, Value>::DefaultEq,
131
+ class Alloc = typename container_internal::NodeHashMapPolicy<
132
+ Key, Value>::DefaultAlloc>
128
133
  class ABSL_ATTRIBUTE_OWNER node_hash_map
129
- : public absl::container_internal::raw_hash_map<
134
+ : public absl::container_internal::InstantiateRawHashMap<
130
135
  absl::container_internal::NodeHashMapPolicy<Key, Value>, Hash, Eq,
131
- Alloc> {
136
+ Alloc>::type {
132
137
  using Base = typename node_hash_map::raw_hash_map;
133
138
 
134
139
  public:
@@ -455,7 +460,9 @@ class ABSL_ATTRIBUTE_OWNER node_hash_map
455
460
  //
456
461
  // Sets the number of slots in the `node_hash_map` to the number needed to
457
462
  // accommodate at least `count` total elements without exceeding the current
458
- // maximum load factor, and may rehash the container if needed.
463
+ // maximum load factor, and may rehash the container if needed. After this
464
+ // returns, it is guaranteed that `count - size()` elements can be inserted
465
+ // into the `node_hash_map` without another rehash.
459
466
  using Base::reserve;
460
467
 
461
468
  // node_hash_map::at()
@@ -627,6 +634,10 @@ class NodeHashMapPolicy
627
634
  using mapped_type = Value;
628
635
  using init_type = std::pair</*non const*/ key_type, mapped_type>;
629
636
 
637
+ using DefaultHash = DefaultHashContainerHash<Key>;
638
+ using DefaultEq = DefaultHashContainerEq<Key>;
639
+ using DefaultAlloc = std::allocator<std::pair<const Key, Value>>;
640
+
630
641
  template <class Allocator, class... Args>
631
642
  static value_type* new_element(Allocator* alloc, Args&&... args) {
632
643
  using PairAlloc = typename absl::allocator_traits<
@@ -118,11 +118,16 @@ struct NodeHashSetPolicy;
118
118
  // if (ducks.contains("dewey")) {
119
119
  // std::cout << "We found dewey!" << std::endl;
120
120
  // }
121
- template <class T, class Hash = DefaultHashContainerHash<T>,
122
- class Eq = DefaultHashContainerEq<T>, class Alloc = std::allocator<T>>
121
+ template <
122
+ class T,
123
+ class Hash = typename container_internal::NodeHashSetPolicy<T>::DefaultHash,
124
+ class Eq = typename container_internal::NodeHashSetPolicy<T>::DefaultEq,
125
+ class Alloc =
126
+ typename container_internal::NodeHashSetPolicy<T>::DefaultAlloc>
123
127
  class ABSL_ATTRIBUTE_OWNER node_hash_set
124
- : public absl::container_internal::raw_hash_set<
125
- absl::container_internal::NodeHashSetPolicy<T>, Hash, Eq, Alloc> {
128
+ : public absl::container_internal::InstantiateRawHashSet<
129
+ absl::container_internal::NodeHashSetPolicy<T>, Hash, Eq,
130
+ Alloc>::type {
126
131
  using Base = typename node_hash_set::raw_hash_set;
127
132
 
128
133
  public:
@@ -390,7 +395,9 @@ class ABSL_ATTRIBUTE_OWNER node_hash_set
390
395
  //
391
396
  // Sets the number of slots in the `node_hash_set` to the number needed to
392
397
  // accommodate at least `count` total elements without exceeding the current
393
- // maximum load factor, and may rehash the container if needed.
398
+ // maximum load factor, and may rehash the container if needed. After this
399
+ // returns, it is guaranteed that `count - size()` elements can be inserted
400
+ // into the `node_hash_set` without another rehash.
394
401
  using Base::reserve;
395
402
 
396
403
  // node_hash_set::contains()
@@ -527,6 +534,10 @@ struct NodeHashSetPolicy
527
534
  using init_type = T;
528
535
  using constant_iterators = std::true_type;
529
536
 
537
+ using DefaultHash = DefaultHashContainerHash<T>;
538
+ using DefaultEq = DefaultHashContainerEq<T>;
539
+ using DefaultAlloc = std::allocator<T>;
540
+
530
541
  template <class Allocator, class... Args>
531
542
  static T* new_element(Allocator* alloc, Args&&... args) {
532
543
  using ValueAlloc =
@@ -35,8 +35,7 @@ namespace absl {
35
35
  ABSL_NAMESPACE_BEGIN
36
36
  namespace container_internal {
37
37
  namespace {
38
- using ::absl::container_internal::hash_internal::Enum;
39
- using ::absl::container_internal::hash_internal::EnumClass;
38
+
40
39
  using ::testing::IsEmpty;
41
40
  using ::testing::Pointee;
42
41
  using ::testing::UnorderedElementsAre;
@@ -10,6 +10,46 @@ list(APPEND ABSL_CLANG_CL_FLAGS
10
10
  "/D_CRT_SECURE_NO_WARNINGS"
11
11
  "/D_SCL_SECURE_NO_WARNINGS"
12
12
  "/D_ENABLE_EXTENDED_ALIGNED_STORAGE"
13
+ "-Wmost"
14
+ "-Wextra"
15
+ "-Wc++98-compat-extra-semi"
16
+ "-Wcast-qual"
17
+ "-Wconversion"
18
+ "-Wdeprecated-pragma"
19
+ "-Wfloat-overflow-conversion"
20
+ "-Wfloat-zero-conversion"
21
+ "-Wfor-loop-analysis"
22
+ "-Wformat-security"
23
+ "-Wgnu-redeclared-enum"
24
+ "-Winfinite-recursion"
25
+ "-Winvalid-constexpr"
26
+ "-Wliteral-conversion"
27
+ "-Wmissing-declarations"
28
+ "-Wnullability-completeness"
29
+ "-Woverlength-strings"
30
+ "-Wpointer-arith"
31
+ "-Wself-assign"
32
+ "-Wshadow-all"
33
+ "-Wshorten-64-to-32"
34
+ "-Wsign-conversion"
35
+ "-Wstring-conversion"
36
+ "-Wtautological-overlap-compare"
37
+ "-Wtautological-unsigned-zero-compare"
38
+ "-Wthread-safety"
39
+ "-Wundef"
40
+ "-Wuninitialized"
41
+ "-Wunreachable-code"
42
+ "-Wunused-comparison"
43
+ "-Wunused-local-typedefs"
44
+ "-Wunused-result"
45
+ "-Wvla"
46
+ "-Wwrite-strings"
47
+ "-Wno-float-conversion"
48
+ "-Wno-implicit-float-conversion"
49
+ "-Wno-implicit-int-float-conversion"
50
+ "-Wno-unknown-warning-option"
51
+ "-Wno-unused-command-line-argument"
52
+ "-DNOMINMAX"
13
53
  )
14
54
 
15
55
  list(APPEND ABSL_CLANG_CL_TEST_FLAGS
@@ -19,6 +59,43 @@ list(APPEND ABSL_CLANG_CL_TEST_FLAGS
19
59
  "/D_CRT_SECURE_NO_WARNINGS"
20
60
  "/D_SCL_SECURE_NO_WARNINGS"
21
61
  "/D_ENABLE_EXTENDED_ALIGNED_STORAGE"
62
+ "-Wmost"
63
+ "-Wextra"
64
+ "-Wc++98-compat-extra-semi"
65
+ "-Wcast-qual"
66
+ "-Wconversion"
67
+ "-Wdeprecated-pragma"
68
+ "-Wfloat-overflow-conversion"
69
+ "-Wfloat-zero-conversion"
70
+ "-Wfor-loop-analysis"
71
+ "-Wformat-security"
72
+ "-Wgnu-redeclared-enum"
73
+ "-Winfinite-recursion"
74
+ "-Winvalid-constexpr"
75
+ "-Wliteral-conversion"
76
+ "-Wmissing-declarations"
77
+ "-Woverlength-strings"
78
+ "-Wpointer-arith"
79
+ "-Wself-assign"
80
+ "-Wshadow-all"
81
+ "-Wstring-conversion"
82
+ "-Wtautological-overlap-compare"
83
+ "-Wtautological-unsigned-zero-compare"
84
+ "-Wthread-safety"
85
+ "-Wundef"
86
+ "-Wuninitialized"
87
+ "-Wunreachable-code"
88
+ "-Wunused-comparison"
89
+ "-Wunused-local-typedefs"
90
+ "-Wunused-result"
91
+ "-Wvla"
92
+ "-Wwrite-strings"
93
+ "-Wno-float-conversion"
94
+ "-Wno-implicit-float-conversion"
95
+ "-Wno-implicit-int-float-conversion"
96
+ "-Wno-unknown-warning-option"
97
+ "-Wno-unused-command-line-argument"
98
+ "-DNOMINMAX"
22
99
  "-Wno-deprecated-declarations"
23
100
  "-Wno-implicit-int-conversion"
24
101
  "-Wno-missing-prototypes"
@@ -84,6 +161,7 @@ list(APPEND ABSL_GCC_TEST_FLAGS
84
161
 
85
162
  list(APPEND ABSL_LLVM_FLAGS
86
163
  "-Wall"
164
+ "-Wmost"
87
165
  "-Wextra"
88
166
  "-Wc++98-compat-extra-semi"
89
167
  "-Wcast-qual"
@@ -127,6 +205,7 @@ list(APPEND ABSL_LLVM_FLAGS
127
205
 
128
206
  list(APPEND ABSL_LLVM_TEST_FLAGS
129
207
  "-Wall"
208
+ "-Wmost"
130
209
  "-Wextra"
131
210
  "-Wc++98-compat-extra-semi"
132
211
  "-Wcast-qual"
@@ -11,6 +11,46 @@ ABSL_CLANG_CL_FLAGS = [
11
11
  "/D_CRT_SECURE_NO_WARNINGS",
12
12
  "/D_SCL_SECURE_NO_WARNINGS",
13
13
  "/D_ENABLE_EXTENDED_ALIGNED_STORAGE",
14
+ "-Wmost",
15
+ "-Wextra",
16
+ "-Wc++98-compat-extra-semi",
17
+ "-Wcast-qual",
18
+ "-Wconversion",
19
+ "-Wdeprecated-pragma",
20
+ "-Wfloat-overflow-conversion",
21
+ "-Wfloat-zero-conversion",
22
+ "-Wfor-loop-analysis",
23
+ "-Wformat-security",
24
+ "-Wgnu-redeclared-enum",
25
+ "-Winfinite-recursion",
26
+ "-Winvalid-constexpr",
27
+ "-Wliteral-conversion",
28
+ "-Wmissing-declarations",
29
+ "-Wnullability-completeness",
30
+ "-Woverlength-strings",
31
+ "-Wpointer-arith",
32
+ "-Wself-assign",
33
+ "-Wshadow-all",
34
+ "-Wshorten-64-to-32",
35
+ "-Wsign-conversion",
36
+ "-Wstring-conversion",
37
+ "-Wtautological-overlap-compare",
38
+ "-Wtautological-unsigned-zero-compare",
39
+ "-Wthread-safety",
40
+ "-Wundef",
41
+ "-Wuninitialized",
42
+ "-Wunreachable-code",
43
+ "-Wunused-comparison",
44
+ "-Wunused-local-typedefs",
45
+ "-Wunused-result",
46
+ "-Wvla",
47
+ "-Wwrite-strings",
48
+ "-Wno-float-conversion",
49
+ "-Wno-implicit-float-conversion",
50
+ "-Wno-implicit-int-float-conversion",
51
+ "-Wno-unknown-warning-option",
52
+ "-Wno-unused-command-line-argument",
53
+ "-DNOMINMAX",
14
54
  ]
15
55
 
16
56
  ABSL_CLANG_CL_TEST_FLAGS = [
@@ -20,6 +60,43 @@ ABSL_CLANG_CL_TEST_FLAGS = [
20
60
  "/D_CRT_SECURE_NO_WARNINGS",
21
61
  "/D_SCL_SECURE_NO_WARNINGS",
22
62
  "/D_ENABLE_EXTENDED_ALIGNED_STORAGE",
63
+ "-Wmost",
64
+ "-Wextra",
65
+ "-Wc++98-compat-extra-semi",
66
+ "-Wcast-qual",
67
+ "-Wconversion",
68
+ "-Wdeprecated-pragma",
69
+ "-Wfloat-overflow-conversion",
70
+ "-Wfloat-zero-conversion",
71
+ "-Wfor-loop-analysis",
72
+ "-Wformat-security",
73
+ "-Wgnu-redeclared-enum",
74
+ "-Winfinite-recursion",
75
+ "-Winvalid-constexpr",
76
+ "-Wliteral-conversion",
77
+ "-Wmissing-declarations",
78
+ "-Woverlength-strings",
79
+ "-Wpointer-arith",
80
+ "-Wself-assign",
81
+ "-Wshadow-all",
82
+ "-Wstring-conversion",
83
+ "-Wtautological-overlap-compare",
84
+ "-Wtautological-unsigned-zero-compare",
85
+ "-Wthread-safety",
86
+ "-Wundef",
87
+ "-Wuninitialized",
88
+ "-Wunreachable-code",
89
+ "-Wunused-comparison",
90
+ "-Wunused-local-typedefs",
91
+ "-Wunused-result",
92
+ "-Wvla",
93
+ "-Wwrite-strings",
94
+ "-Wno-float-conversion",
95
+ "-Wno-implicit-float-conversion",
96
+ "-Wno-implicit-int-float-conversion",
97
+ "-Wno-unknown-warning-option",
98
+ "-Wno-unused-command-line-argument",
99
+ "-DNOMINMAX",
23
100
  "-Wno-deprecated-declarations",
24
101
  "-Wno-implicit-int-conversion",
25
102
  "-Wno-missing-prototypes",
@@ -85,6 +162,7 @@ ABSL_GCC_TEST_FLAGS = [
85
162
 
86
163
  ABSL_LLVM_FLAGS = [
87
164
  "-Wall",
165
+ "-Wmost",
88
166
  "-Wextra",
89
167
  "-Wc++98-compat-extra-semi",
90
168
  "-Wcast-qual",
@@ -128,6 +206,7 @@ ABSL_LLVM_FLAGS = [
128
206
 
129
207
  ABSL_LLVM_TEST_FLAGS = [
130
208
  "-Wall",
209
+ "-Wmost",
131
210
  "-Wextra",
132
211
  "-Wc++98-compat-extra-semi",
133
212
  "-Wcast-qual",
@@ -41,8 +41,13 @@ ABSL_GCC_TEST_ADDITIONAL_FLAGS = [
41
41
  "-Wno-unused-private-field",
42
42
  ]
43
43
 
44
- ABSL_LLVM_FLAGS = [
45
- "-Wall",
44
+ # https://github.com/llvm/llvm-project/issues/102982
45
+ # A list of LLVM base flags without -Wall. This is because clang-cl
46
+ # translates -Wall to -Weverything on Windows, mimicking MSVCs
47
+ # behavior. On most other platforms, -Wall is just a set of very good
48
+ # default flags.
49
+ ABSL_LLVM_BASE_FLAGS = [
50
+ "-Wmost",
46
51
  "-Wextra",
47
52
  "-Wc++98-compat-extra-semi",
48
53
  "-Wcast-qual",
@@ -89,6 +94,8 @@ ABSL_LLVM_FLAGS = [
89
94
  "-DNOMINMAX",
90
95
  ]
91
96
 
97
+ ABSL_LLVM_FLAGS = ["-Wall"] + ABSL_LLVM_BASE_FLAGS
98
+
92
99
  ABSL_LLVM_TEST_ADDITIONAL_FLAGS = [
93
100
  "-Wno-deprecated-declarations",
94
101
  "-Wno-implicit-int-conversion",
@@ -164,9 +171,15 @@ COPT_VARS = {
164
171
  "ABSL_LLVM_TEST_FLAGS": GccStyleFilterAndCombine(
165
172
  ABSL_LLVM_FLAGS, ABSL_LLVM_TEST_ADDITIONAL_FLAGS
166
173
  ),
167
- "ABSL_CLANG_CL_FLAGS": MSVC_BIG_WARNING_FLAGS + MSVC_DEFINES,
174
+ "ABSL_CLANG_CL_FLAGS": (
175
+ MSVC_BIG_WARNING_FLAGS + MSVC_DEFINES + ABSL_LLVM_BASE_FLAGS
176
+ ),
168
177
  "ABSL_CLANG_CL_TEST_FLAGS": (
169
- MSVC_BIG_WARNING_FLAGS + MSVC_DEFINES + ABSL_LLVM_TEST_ADDITIONAL_FLAGS
178
+ MSVC_BIG_WARNING_FLAGS
179
+ + MSVC_DEFINES
180
+ + GccStyleFilterAndCombine(
181
+ ABSL_LLVM_BASE_FLAGS, ABSL_LLVM_TEST_ADDITIONAL_FLAGS
182
+ )
170
183
  ),
171
184
  "ABSL_MSVC_FLAGS": (
172
185
  MSVC_BIG_WARNING_FLAGS + MSVC_WARNING_FLAGS + MSVC_DEFINES
@@ -317,6 +317,46 @@ class CRC32AcceleratedX86ARMCombinedMultipleStreamsBase
317
317
  return crc;
318
318
  }
319
319
 
320
+ // Same as Process64BytesCRC, but just interleaved for 2 streams.
321
+ ABSL_ATTRIBUTE_ALWAYS_INLINE void Process64BytesCRC2Streams(
322
+ const uint8_t* p0, const uint8_t* p1, uint64_t* crc) const {
323
+ uint64_t crc0 = crc[0];
324
+ uint64_t crc1 = crc[1];
325
+ for (int i = 0; i < 8; i++) {
326
+ crc0 = CRC32_u64(static_cast<uint32_t>(crc0),
327
+ absl::little_endian::Load64(p0));
328
+ crc1 = CRC32_u64(static_cast<uint32_t>(crc1),
329
+ absl::little_endian::Load64(p1));
330
+ p0 += 8;
331
+ p1 += 8;
332
+ }
333
+ crc[0] = crc0;
334
+ crc[1] = crc1;
335
+ }
336
+
337
+ // Same as Process64BytesCRC, but just interleaved for 3 streams.
338
+ ABSL_ATTRIBUTE_ALWAYS_INLINE void Process64BytesCRC3Streams(
339
+ const uint8_t* p0, const uint8_t* p1, const uint8_t* p2,
340
+ uint64_t* crc) const {
341
+ uint64_t crc0 = crc[0];
342
+ uint64_t crc1 = crc[1];
343
+ uint64_t crc2 = crc[2];
344
+ for (int i = 0; i < 8; i++) {
345
+ crc0 = CRC32_u64(static_cast<uint32_t>(crc0),
346
+ absl::little_endian::Load64(p0));
347
+ crc1 = CRC32_u64(static_cast<uint32_t>(crc1),
348
+ absl::little_endian::Load64(p1));
349
+ crc2 = CRC32_u64(static_cast<uint32_t>(crc2),
350
+ absl::little_endian::Load64(p2));
351
+ p0 += 8;
352
+ p1 += 8;
353
+ p2 += 8;
354
+ }
355
+ crc[0] = crc0;
356
+ crc[1] = crc1;
357
+ crc[2] = crc2;
358
+ }
359
+
320
360
  // Constants generated by './scripts/gen-crc-consts.py x86_pclmul
321
361
  // crc32_lsb_0x82f63b78' from the Linux kernel.
322
362
  alignas(16) static constexpr uint64_t kFoldAcross512Bits[2] = {
@@ -452,9 +492,19 @@ class CRC32AcceleratedX86ARMCombinedMultipleStreams
452
492
  uint64_t l64_pclmul[kMaxStreams] = {0};
453
493
 
454
494
  // Peel first iteration, because PCLMULQDQ stream, needs setup.
455
- for (size_t i = 0; i < num_crc_streams; i++) {
456
- l64_crc[i] = Process64BytesCRC(crc_streams[i], l64_crc[i]);
457
- crc_streams[i] += 16 * 4;
495
+ if (num_crc_streams == 1) {
496
+ l64_crc[0] = Process64BytesCRC(crc_streams[0], l64_crc[0]);
497
+ crc_streams[0] += 16 * 4;
498
+ } else if (num_crc_streams == 2) {
499
+ Process64BytesCRC2Streams(crc_streams[0], crc_streams[1], l64_crc);
500
+ crc_streams[0] += 16 * 4;
501
+ crc_streams[1] += 16 * 4;
502
+ } else {
503
+ Process64BytesCRC3Streams(crc_streams[0], crc_streams[1],
504
+ crc_streams[2], l64_crc);
505
+ crc_streams[0] += 16 * 4;
506
+ crc_streams[1] += 16 * 4;
507
+ crc_streams[2] += 16 * 4;
458
508
  }
459
509
 
460
510
  V128 partialCRC[kMaxStreams][4];
@@ -492,24 +542,28 @@ class CRC32AcceleratedX86ARMCombinedMultipleStreams
492
542
  // }
493
543
  // But unrolling and interleaving PCLMULQDQ and CRC blocks manually
494
544
  // gives ~2% performance boost.
495
- l64_crc[0] = Process64BytesCRC(crc_streams[0], l64_crc[0]);
496
- crc_streams[0] += 16 * 4;
545
+ if (num_crc_streams == 1) {
546
+ l64_crc[0] = Process64BytesCRC(crc_streams[0], l64_crc[0]);
547
+ crc_streams[0] += 16 * 4;
548
+ } else if (num_crc_streams == 2) {
549
+ Process64BytesCRC2Streams(crc_streams[0], crc_streams[1], l64_crc);
550
+ crc_streams[0] += 16 * 4;
551
+ crc_streams[1] += 16 * 4;
552
+ } else {
553
+ Process64BytesCRC3Streams(crc_streams[0], crc_streams[1],
554
+ crc_streams[2], l64_crc);
555
+ crc_streams[0] += 16 * 4;
556
+ crc_streams[1] += 16 * 4;
557
+ crc_streams[2] += 16 * 4;
558
+ }
497
559
  if (num_pclmul_streams > 0) {
498
560
  Process64BytesPclmul(pclmul_streams[0], partialCRC[0]);
499
561
  pclmul_streams[0] += 16 * 4;
500
562
  }
501
- if (num_crc_streams > 1) {
502
- l64_crc[1] = Process64BytesCRC(crc_streams[1], l64_crc[1]);
503
- crc_streams[1] += 16 * 4;
504
- }
505
563
  if (num_pclmul_streams > 1) {
506
564
  Process64BytesPclmul(pclmul_streams[1], partialCRC[1]);
507
565
  pclmul_streams[1] += 16 * 4;
508
566
  }
509
- if (num_crc_streams > 2) {
510
- l64_crc[2] = Process64BytesCRC(crc_streams[2], l64_crc[2]);
511
- crc_streams[2] += 16 * 4;
512
- }
513
567
  if (num_pclmul_streams > 2) {
514
568
  Process64BytesPclmul(pclmul_streams[2], partialCRC[2]);
515
569
  pclmul_streams[2] += 16 * 4;
@@ -12,6 +12,8 @@
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_CRC_INTERNAL_NON_TEMPORAL_ARM_INTRINSICS_H_
16
18
  #define ABSL_CRC_INTERNAL_NON_TEMPORAL_ARM_INTRINSICS_H_
17
19
 
@@ -21,7 +23,7 @@
21
23
  #include <arm_neon.h>
22
24
 
23
25
  typedef int64x2_t __m128i; /* 128-bit vector containing integers */
24
- #define vreinterpretq_m128i_s32(x) vreinterpretq_s64_s32(x)
26
+ #define vreinterpretq_m128i_s64(x) (x)
25
27
  #define vreinterpretq_s64_m128i(x) (x)
26
28
 
27
29
  // Guarantees that every preceding store is globally visible before any
@@ -44,7 +46,7 @@ static inline __attribute__((always_inline)) void _mm_sfence(void) {
44
46
  // https://msdn.microsoft.com/zh-cn/library/f4k12ae8(v=vs.90).aspx
45
47
  static inline __attribute__((always_inline)) __m128i _mm_loadu_si128(
46
48
  const __m128i *p) {
47
- return vreinterpretq_m128i_s32(vld1q_s32((const int32_t *)p));
49
+ return vreinterpretq_m128i_s64(vld1q_s64((const int64_t*)p));
48
50
  }
49
51
 
50
52
  // Stores the data in a to the address p without polluting the caches. If the
@@ -35,6 +35,33 @@ package(
35
35
 
36
36
  licenses(["notice"])
37
37
 
38
+ cc_library(
39
+ name = "borrowed_fixup_buffer",
40
+ srcs = ["internal/borrowed_fixup_buffer.cc"],
41
+ hdrs = ["internal/borrowed_fixup_buffer.h"],
42
+ copts = ABSL_DEFAULT_COPTS,
43
+ linkopts = ABSL_DEFAULT_LINKOPTS,
44
+ deps = [
45
+ "//absl/base:config",
46
+ "//absl/base:core_headers",
47
+ "//absl/base:malloc_internal",
48
+ "//absl/hash",
49
+ ],
50
+ )
51
+
52
+ cc_test(
53
+ name = "borrowed_fixup_buffer_test",
54
+ srcs = ["internal/borrowed_fixup_buffer_test.cc"],
55
+ copts = ABSL_TEST_COPTS,
56
+ linkopts = ABSL_DEFAULT_LINKOPTS,
57
+ deps = [
58
+ ":borrowed_fixup_buffer",
59
+ "//absl/base:config",
60
+ "@googletest//:gtest",
61
+ "@googletest//:gtest_main",
62
+ ],
63
+ )
64
+
38
65
  cc_library(
39
66
  name = "stacktrace",
40
67
  srcs = [
@@ -54,6 +81,7 @@ cc_library(
54
81
  copts = ABSL_DEFAULT_COPTS,
55
82
  linkopts = ABSL_DEFAULT_LINKOPTS,
56
83
  deps = [
84
+ ":borrowed_fixup_buffer",
57
85
  ":debugging_internal",
58
86
  "//absl/base:config",
59
87
  "//absl/base:core_headers",
@@ -69,9 +97,11 @@ cc_test(
69
97
  copts = ABSL_TEST_COPTS,
70
98
  linkopts = ABSL_DEFAULT_LINKOPTS,
71
99
  deps = [
100
+ ":borrowed_fixup_buffer",
72
101
  ":stacktrace",
73
102
  "//absl/base:config",
74
103
  "//absl/base:core_headers",
104
+ "//absl/base:errno_saver",
75
105
  "//absl/types:span",
76
106
  "@googletest//:gtest",
77
107
  "@googletest//:gtest_main",
@@ -447,6 +477,7 @@ cc_binary(
447
477
  ":stacktrace",
448
478
  "//absl/base:config",
449
479
  "//absl/base:core_headers",
480
+ "//absl/cleanup",
450
481
  "@google_benchmark//:benchmark_main",
451
482
  ],
452
483
  )
@@ -16,6 +16,38 @@
16
16
 
17
17
  find_library(EXECINFO_LIBRARY execinfo)
18
18
 
19
+ absl_cc_library(
20
+ NAME
21
+ borrowed_fixup_buffer
22
+ SRCS
23
+ "internal/borrowed_fixup_buffer.cc"
24
+ HDRS
25
+ "internal/borrowed_fixup_buffer.h"
26
+ COPTS
27
+ ${ABSL_DEFAULT_COPTS}
28
+ LINKOPTS
29
+ ${ABSL_DEFAULT_LINKOPTS}
30
+ DEPS
31
+ absl::config
32
+ absl::core_headers
33
+ absl::hash
34
+ absl::malloc_internal
35
+ PUBLIC
36
+ )
37
+
38
+ absl_cc_test(
39
+ NAME
40
+ borrowed_fixup_buffer_test
41
+ SRCS
42
+ "internal/borrowed_fixup_buffer_test.cc"
43
+ COPTS
44
+ ${ABSL_TEST_COPTS}
45
+ DEPS
46
+ absl::borrowed_fixup_buffer
47
+ absl::config
48
+ GTest::gmock_main
49
+ )
50
+
19
51
  absl_cc_library(
20
52
  NAME
21
53
  stacktrace
@@ -38,6 +70,7 @@ absl_cc_library(
38
70
  LINKOPTS
39
71
  $<$<BOOL:${EXECINFO_LIBRARY}>:${EXECINFO_LIBRARY}>
40
72
  DEPS
73
+ absl::borrowed_fixup_buffer
41
74
  absl::debugging_internal
42
75
  absl::config
43
76
  absl::core_headers
@@ -58,6 +91,7 @@ absl_cc_test(
58
91
  absl::stacktrace
59
92
  absl::config
60
93
  absl::core_headers
94
+ absl::errno_saver
61
95
  absl::span
62
96
  GTest::gmock_main
63
97
  )
@@ -157,8 +157,8 @@ const char* FailureSignalToString(int signo) {
157
157
  #ifdef ABSL_HAVE_SIGALTSTACK
158
158
 
159
159
  static bool SetupAlternateStackOnce() {
160
- #if defined(__wasm__) || defined(__asjms__)
161
- const size_t page_mask = getpagesize() - 1;
160
+ #if defined(__wasm__) || defined(__asmjs__)
161
+ const size_t page_mask = static_cast<size_t>(getpagesize()) - 1;
162
162
  #else
163
163
  const size_t page_mask = static_cast<size_t>(sysconf(_SC_PAGESIZE)) - 1;
164
164
  #endif